oracle database 19c install on LINUX 6.X
官方在18C还可以装在6.4以上,但19c现在出的exadata上突然出要7.4了(官方要求),那6.X还能不能装呢?经测试,以下方式最可行,有其他更好的办法欢迎留言,
(以下纯属个人爱好,重要的生产环境建议等ORACLE的19c for linux版本的最终版本,以官方为准);
介质下载地址:edelivery.oracle.com
1 安装linux 6.4_x64及以上版本,安装时选择最小安装;
2 安装完成后,配置网络,立即更新glibc库,在6.10里最新的glibc 为2.12,而19c要求2.14及以上版本,同样libstdc++也要求3.14 以上否则runinstaller安装会报错.
rpm -Uvh glibc-common-2.17-55.el6.x86_64.rpm glibc-2.17-55.el6.x86_64.rpmrpm -Uvh libstdc++-4.7.2-2.el6.x86_64.rpm libstdc++-devel-4.7.2-2.el6.x86_64.rpmyum install kernel-headers检查版本:
ldd --versionstrings /lib64/libc.so.6 |grep GLIBC_strings /usr/lib64/libstdc++.so.6|grep -i glibc
OHLE6.X的yum配置:
[ol6_latest]name=Oracle Linux $releasever Latest ($basearch)baseurl=https://yum.oracle.com/repo/OracleLinux/OL6/latest/$basearch/gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oraclegpgcheck=0enabled=1
接着补包:
yum install kernel-headersrpm -ivh glibc-devel-2.17-55.el6.x86_64.rpm glibc-headers-2.17-55.el6.x86_64.rpm nscd-2.17-55.el6.x86_64.rpmyum install oracle-database-preinstall-18c yum -y install gcc yum -y install xhost
配置主机名称,不然建库过不去:
echo "192.168.56.104 rhel610">>/etc/hosts
增加环境变量:
vi /home/oracle/.bash_profileexport DISPLAY=192.168.56.1:0.0export ORACLE_HOME=/u01/oracleexport ORACLE_BASE=/u01/appexport ORACLE_SID=or19cPATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
其他安装步骤就是下一步下一步了,没啥好说的;
相关错误:
1 因为18C支持6.4及以上,期间偿试过用18c的exectask替换19c的exectask,希望可以忽悠过去,结果是oracle 打脸了:
/u01/oracle/runInstaller -ignoreInternalDriverError[pool-1-thread-1] [ 2019-02-27 18:24:57.554 CST ] [ClusterConfig.destroy:468] destroying resources for client thread Thread[pool-1-thread-1,5,main][pool-1-thread-1] [ 2019-02-27 18:24:57.554 CST ] [GlobalExecution.dumpTraceInfo:1509] ---- Execution Trace for getExectaskVer from node: rhel610 -----[pool-1-thread-1] [ 2019-02-27 18:24:57.554 CST ] [GlobalExecution.dumpTraceInfo:1517] ::Inside execute() [pool-1-thread-1] [ 2019-02-27 18:24:57.554 CST ] [GlobalExecution.dumpTraceInfo:1517] The version of exectask at node 'rhel610' is '18.0.0.0.0.06_26_18_x86_64'[pool-1-thread-1] [ 2019-02-27 18:24:57.554 CST ] [VerificationUtil.checkGetExectaskVerResults:7782] Exectask version on node 'rhel610' is '18.0.0.0.0.06_26_18_x86_64"[pool-1-thread-1] [ 2019-02-27 18:24:57.554 CST ] [VerificationUtil.compatibleExectask:9331] Comparing framework version '19.0.0.0.0.02_03_19_x86_64' with exectask version '18.0.0.0.0.06_26_18_x86_64'[pool-1-thread-1] [ 2019-02-27 18:24:57.555 CST ] [VerificationUtil.checkGetExectaskVerResults:7791] Incompatible exectask found on node: rhel610[pool-1-thread-1] [ 2019-02-27 18:24:57.555 CST ] [ResultSet.addResultSetData:902] addResultSetData, called from: VerificationUtil.checkDestLoc:6717[pool-1-thread-1] [ 2019-02-27 18:24:57.555 CST ] [ResultSet.traceResultSet:1040]
其加了exectask -getver版本判断;
2 源码升级glibc库或在系统装完后,装了其他包再升级glibc库,也就是如下方式:
strings /lib64/libc.so.6 |grep GLIBC_wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.14.tar.gz tar -xvf glibc-2.14.tar.gz tar -xvf glibc-ports-2.14.tar.gzmv glibc-ports-2.14 glibc-2.14/portsmkdir glibc-2.14/buildcd glibc-2.14/build ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/binmakemake install
在runinstaller是可以过,但在exectask直接打脸:
!!! WARNING !!! --> libstdc++-2.17.0
libstdc++-2.17.0-stub.so This is a stub library which can be used for link
3 DBCA创建数据库时报错DBT-08001 08002 Unable to check for available memory
查看:
oracle 11g/12c/18c/19c dbca日志/trace文件路径是:
$ORACLE_BASE/cfgtoollogs/dbca/
具体的trace dbca的方法可以参考MOS文档:
Master Note: Troubleshooting Database Configuration Assistant (DBCA) (文档 ID 1510457.1)
Tracing the Database Configuration Assistant (DBCA) (文档 ID 188134.1)
检查报的错其实还是exectask报错;