最近客户需要在国产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 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,顺利通过。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【米乐app官网下载的版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。