暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

在国产操作系统麒麟V10上安装oracle 19c单机数据库问题汇总

原创 张明轩 2022-05-13
3643

最近客户需要在国产Linux操作系统中标麒麟上安装19c数据库,根据oracle官方给出操作系统支持版本来看,oracle 19C只支持到了麒麟V7,如果想要在麒麟V10上安装19c数据库,需要注意一下几点问题:


1.CV_ASSUME_DISTID

需要在安装前设置系统兼容性版本为 RHEL 7.6


export CV_ASSUME_DISTID=RHEL7.6


2.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  315  2020 libnsl.so.2 -> libnsl.so.2.0.0
-rwxr-xr-x 1 root root 96480  315  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,顺利通过。


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论