最近客戶需要在國產Linux操作系統中標麒麟上安裝19c數據庫,根據oracle官方給出操作系統支持版本來看,oracle 19C只支持到了麒麟V7,如果想要在麒麟V10上安裝19c數據庫,需要注意一下幾點問題:
1.CV_ASSUME_DISTID
需要在安裝前設置系統兼容性版本為 RHEL 7.6
export CV_ASSUME_DISTID=RHEL7.62.libnsl.so.1 => not found
在運行 runInstaller 時,出現了以下的報錯:
$ ./runInstaller
/app/oracle/product/19.0.0/dbhome_1/perl/bin/perl: error while loading shared libraries: libnsl.so.1
: cannot open shared object file: No such file or directory
檢查依賴:
$ ldd /app/oracle/product/19.0.0/dbhome_1/perl/bin/perl
linux-vdso.so.1 (0x00007ffff7fd2000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ffff7f92000)
libnsl.so.1 => not found
libdl.so.2 => /lib64/libdl.so.2 (0x00007ffff7f8d000)
libm.so.6 => /lib64/libm.so.6 (0x00007ffff7e0a000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007ffff7dcf000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007ffff7dca000)
libc.so.6 => /lib64/libc.so.6 (0x00007ffff7c07000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ffff7bee000)
/lib64/ld-linux-x86-64.so.2 (0x00007ffff7fd4000)
$ cd /lib64/
$ ll libnsl.so.1*
ls: 無法訪問 'libnsl.so.1*': 沒有那個文件或目錄
$ ll libnsl*
lrwxrwxrwx 1 root root 15 3月 15 2020 libnsl.so.2 -> libnsl.so.2.0.0
-rwxr-xr-x 1 root root 96480 3月 15 2020 libnsl.so.2.0.0
可以看到系統自帶的libnsl.so是2.0的版本,需要創建一個名字為1.0的軟鏈接:
使用root用戶:
# cd /lib64/
# ln -s libnsl.so.2.0.0 libnsl.so.1
3.缺失/usr/lib64/libpthread_nonshared.a文件
INFO:
make[2]: Leaving directory '/app/oracle/product/19.0.0/dbhome_1/rdbms/lib'
INFO:
make[1]: Leaving directory '/app/oracle/product/19.0.0/dbhome_1/rdbms/lib'
INFO:
/app/oracle/product/19.0.0/dbhome_1/bin/genclntsh
INFO:
/usr/bin/ld
INFO:
: cannot find
INFO:
/usr/lib64/libpthread_nonshared.a
INFO: 在麒麟v10對應目錄下中沒有該依賴文件,從Centos8.4的相同位置復制一份到麒麟V10的對應目錄下,順利通過。
4.libasmclntsh19.ohso文件缺失

在安裝到11%的時候,出現了兩次圖中的報錯,第一次是因為/usr/lib64/libpthread_nonshared.a文件不存在,復制文件解決第一個問題后,又出現這個報錯,查看安裝日志發現:
/app/oracle/product/19.0.0/dbhome_1/lib/libasmperl19.so -shared -z noexecstack -Wl,--disable-new-dtags -L/tmp/bootstraplib/ -L/app/oracle/product/19.0.0/dbhome_1/lib/ -L/app/oracle/product/19.0.0/dbhome_1/rdbms/lib/ -L/app/oracle/product/19.0.0/dbhome_1/lib/stubs/ -Wl,--version-script=/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/libasmperl19.def -Wl,--whole-archive /app/oracle/product/19.0.0/dbhome_1/lib/libasmperl19.a -Wl,--no-whole-archive -lclntsh -lclntshcore -lasmclntsh19 -lhasgen19 -lskgxp19 -locr19 -lcell19 -lirc這一條安裝命令無法執行,提示無法找到libclntshcore.so
去對應文件目錄下去ls,發現該文件確實不存在了。懷疑是軟件安裝包不完整,就解壓到了其他目錄下對比了一下,發現解壓之后確實是有這個文件的:

如此判斷很有可能是OUI在安裝過程中對該文件進行了刪除操作,于是把該文件重新cp到安裝目錄下,點擊retry,依然報錯,檢查文件發現又被刪除了。
解決方法是:將該文件cp到$ORACLE_HOME/lib目錄后,使用oracle用戶手工執行:
/app/oracle/product/19.0.0/dbhome_1/bin/orald -o /app/oracle/product/19.0.0/dbhome_1/lib/libasmperl19.so -shared -z noexecstack -Wl,--disable-new-dtags -L/tmp/bootstraplib/ -L/app/oracle/product/19.0.0/dbhome_1/lib/ -L/app/oracle/product/19.0.0/dbhome_1/rdbms/lib/ -L/app/oracle/product/19.0.0/dbhome_1/lib/stubs/ -Wl,--version-script=/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/libasmperl19.def -Wl,--whole-archive /app/oracle/product/19.0.0/dbhome_1/lib/libasmperl19.a -Wl,--no-whole-archive -lclntsh -lclntshcore -lasmclntsh19 -lhasgen19 -lskgxp19 -locr19 -lcell19 -lirc然后點擊retry,順利通過。
「喜歡這篇文章,您的關注和贊賞是給作者最好的鼓勵」
關注作者
【版權聲明】本文為墨天輪用戶原創內容,轉載時必須標注文章的來源(墨天輪),文章鏈接,文章作者等基本信息,否則作者和墨天輪有權追究責任。如果您發現墨天輪中有涉嫌抄襲或者侵權的內容,歡迎發送郵件至:contact@modb.pro進行舉報,并提供相關證據,一經查實,墨天輪將立刻刪除相關內容。




