oracle database 19c install on LINUX 6.X

官方在18C還能夠裝在6.4以上,但19c如今出的exadata上忽然出要7.4了(官方要求),那6.X還能不能裝呢?經測試,如下方式最可行,有其餘更好的辦法歡迎留言,node

(如下純屬我的愛好,重要的生產環境建議等ORACLE的19c for linux版本的最終版本,以官方爲準);linux

介質下載地址:edelivery.oracle.comc++

1 安裝linux 6.4_x64及以上版本,安裝時選擇最小安裝;web

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.rpm
rpm -Uvh libstdc++-4.7.2-2.el6.x86_64.rpm   libstdc++-devel-4.7.2-2.el6.x86_64.rpm
yum install kernel-headers
檢查版本:
ldd --version
strings /lib64/libc.so.6 |grep GLIBC_
strings /usr/lib64/libstdc++.so.6|grep -i glibc

OHLE6.X的yum配置:
bash

[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-oracle
gpgcheck=0
enabled=1


接着補包:網絡

yum install kernel-headers
rpm -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.rpm
yum install oracle-database-preinstall-18c 
yum -y install gcc 
yum -y install xhost

配置主機名稱,否則建庫過不去:
oracle

echo "192.168.56.104 rhel610">>/etc/hosts

增長環境變量:app

vi /home/oracle/.bash_profile
export DISPLAY=192.168.56.1:0.0
export ORACLE_HOME=/u01/oracle
export ORACLE_BASE=/u01/app
export ORACLE_SID=or19c
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

其餘安裝步驟就是下一步下一步了,沒啥好說的;ide

相關錯誤:

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.gz
mv glibc-ports-2.14 glibc-2.14/ports
mkdir glibc-2.14/build
cd glibc-2.14/build 
../configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

make
make 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/<DBNAME>/trace.log 

具體的trace dbca的方法能夠參考MOS文檔: 

Master Note: Troubleshooting Database Configuration Assistant (DBCA) (文檔 ID 1510457.1)

Tracing the Database Configuration Assistant (DBCA) (文檔 ID 188134.1)

檢查報的錯其實仍是exectask報錯;

相關文章
相關標籤/搜索