ORACLE11.2.0.4 RAC+ ASM安裝方法 (作業系統CENTOS7.6)
前言
網上的各種文章,嘗試過後,發現有很多錯漏的地方,還有很多細節沒有寫,或者是遇到各種報錯如何處理,都沒寫,
這裡是我自己整理的安裝步驟和解決報錯的方法,因為有部分是從自己以前的筆記裡擷取的截圖之類的,所以那些可替換的地方,大家就自己去搞定了哈,實在太萌新的,也沒辦法了,自己多摸索下,畢竟這個筆記是寫給我自己看的,以備以後還會用到,這次因為在新的作業系統環境,踩了N多的坑,花費我大量時間,下次不要再踩了。
我這裡的ASM配置是採用的儲存裸裝置
作業系統CENTOS7.6
資料庫ORACLE11.2.0.4
一、ASM磁碟配置
1 、編輯 / etc/scsi_id.config 檔案
vi /etc/scsi_id.configo
options=-g
2 、給磁碟分割槽,並檢視磁碟的 uuid (磁碟分割槽只在一個節點執行即可)
fdisk /dev/sda
n
p
1
預設回車
預設回車
w
fidk /dev/sdb
n
p
1
預設回車
預設回車
w
檢視UUID
/usr/lib/udev/scsi_id -g -u -d /dev/sda1
/usr/lib/udev/scsi_id -g -u -d /dev/sdb1
當然磁碟是哪個磁碟,這個要你們自己掛載的時候自己整好,lsblk檢視磁碟
3 、編輯繫結檔案,使用如下規則
vi 99-oracle-asmdevices.rules
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="3628408eff0495d08ef004912d7d6b386", RUN+="/bin/sh -c 'mknod /dev/asmocrdisk b $major $minor; chown grid:asmadmin /dev/asmocrdisk; chmod 0660 /dev/asmocrdisk'"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="361c104516049770bef80026911671d80", RUN+="/bin/sh -c 'mknod /dev/asmdatadisk1 b $major $minor; chown grid:asmadmin /dev/asmdatadisk1; chmod 0660 /dev/asmdatadisk1'"
4 、開始繫結
測試
/sbin/partprobe /dev/sda1
/sbin/udevadm test /block/sda/sda1
/sbin/partprobe /dev/sdb1
/sbin/udevadm test /block/sdb/sdb1
進行繫結命令:
/sbin/udevadm control --reload-rules
5 、繫結完成,可以使用命了 ls -l /dev/asm * 進行檢視
lrwxrwxrwx. 1 root root 4 6月 6 16:14 /dev/asm-datadisk1 -> sdb1
lrwxrwxrwx. 1 root root 4 6月 6 16:05 /dev/asm-ocrdisk -> sda1
二、環境準備
1 、host檔案配置
#vi /etc/hosts
192.168.159.6 testdb1
192.168.159.7 testdb2
192.168.159.24 testdb1-vip
192.168.159.25 testdb2-vip
10.1.22.6 testdb1-pri
10.1.22.7 testdb2-pri
192.168.159.26 testdb-scan
( hosts 檔案的 IP 對應名稱最好只寫一個,不要多餘的)
以下很重要,不修改會在安裝grid的時候會報錯
節點1
vi /etc/hostname
testdb1
臨時修改hostname
hostname testdb1
節點2
vi /etc/hostname
testdb2
臨時修改hostname
hostname testdb2
2 、安裝ORACLE11G所需環境包
yum -y install compat-libstdc++-33 elfutils-libelf-devel gcc gcc-c++ glibc-devel glibc-headers libaio-devel libstdc++-devel sysstat unixODBC unixODBC-devel libcap.so.1
yum -y install binutils compat-db compat-libcap1 compat-libstdc++-33 control-center elfutils-libelf-devel gcc gcc-c++ glibc glibc-common gnome-libs libaio-devel libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio openmotif21 smartmontools
3 、 引數配置
vi /etc/sysctl.conf
生產庫的配置:最後一行新增,重複的去掉
kernel.shmall = 4294967295
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.nr_hugepages = 2048
kernel.shmmax = 4294967295
(這裡注意,生產環境最好都要設定下大頁hugepages,不然以後系統執行久了容易遇到記憶體的一些問題,個人經驗)
想檢視大頁huge
grep Huge /proc/meminfo
使引數立即生效
sysctl -p
vi /etc/security/limits.conf
生產庫的配置:最後一行新增,重複的去掉
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
vi /etc/pam.d/login
session required pam_limits.so
4 、關閉防火牆
(我這裡的環境一般是雲端,所以不用考慮防火牆等安全問題,雲端上有物理防火牆,N多策略阻擋了)
如果不關閉防火牆,在後面配置叢集的時候會遇到麻煩的
service iptables stop
chkconfig iptables off
setenforce 0
getenforce
iptables -F
vi /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
5 、禁用NTP服務
service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.bak
rm -rf /etc/ntp.conf
6 、使用者及使用者組,許可權目錄建立
/usr/sbin/groupadd -g 501 oinstall
/usr/sbin/groupadd -g 502 dba
/usr/sbin/groupadd -g 503 oper
/usr/sbin/groupadd -g 504 asmadmin
/usr/sbin/groupadd -g 505 asmoper
/usr/sbin/groupadd -g 506 asmdba
/usr/sbin/useradd -g oinstall -G dba,asmdba,oper oracle
/usr/sbin/useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
passwd oracle
passwd grid
mkdir -p /home/u01/app/grid
mkdir -p /home/u01/app/11.2.0/grid
chown -R grid:oinstall /home/u01
mkdir -p /home/u01/app/oracle
chown oracle:oinstall /home/u01/app/oracle
chmod -R 775 /home/u01
7 、oracle及grid環境變數配置
以 oracle 使用者登入(兩個節點一樣)
節點一
vi .bash_profile
export PATH
umask 022
export ORACLE_BASE=/ home/ u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=testdb1
export NLS_LANG=AMERICAN_AMERICA.UTF8
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export ORACLE_PATH=${PATH}:$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
oracle使用者,節點二
vi .bash_profile
export PATH
umask 022
export ORACLE_BASE=/ home/ u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=testdb2
export NLS_LANG=AMERICAN_AMERICA.UTF8
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export ORACLE_PATH=${PATH}:$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
以 grid 使用者登入
節點一:
vi .bash_profile
ORACLE_SID=+ASM1; export ORACLE_SID
JAVA_HOME=/usr/local/java;export JAVA_HOME
ORACLE_BASE=/ home/ u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/ home/ u01/app/11.2.0/grid; export ORACLE_HOME
ORACLE_PATH=/ home/ u01/app/oracle/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm;export ORACLE_TERM
NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS";export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/ home/ u01/app/common/oracle/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
export.UTF-8
alias sqlplus="rlwrap sqlplus"
umask 022
節點二:
vi .bash_profile
ORACLE_SID=+ASM2; export ORACLE_SID
JAVA_HOME=/usr/local/java;export JAVA_HOME
ORACLE_BASE=/ home/ u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/ home/ u01/app/11.2.0/grid; export ORACLE_HOME
ORACLE_PATH=/ home/ u01/app/oracle/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm;export ORACLE_TERM
NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS";export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/ home/ u01/app/common/oracle/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
export.UTF-8
alias sqlplus="rlwrap sqlplus"
umask 022
8 、ssh密匙互信配置
設定互信關係,這裡記住oracle和grid使用者都要設定互信,root也互信,且在測試的時候,2個節點都要進行測試
su - oracle
mkdir ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
以下操作在一個節點上執行即可
cat ~/.ssh/id_rsa.pub>>./.ssh/authorized_keys -公鑰存在authorized_keys檔案中,寫到本機
cat ~/.ssh/id_dsa.pub>>./.ssh/authorized_keys
ssh testdb2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys -第二個節點的公鑰寫到本機
ssh testdb2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys testdb2:~/.ssh/authorized_keys
兩個節點上分別驗證
ssh testdb1 date
ssh testdb2 date
ssh testdb1-PRI date
ssh testdb2-PRI date
su - grid
mkdir ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
以下操作在一個節點上執行即可
cat ~/.ssh/id_rsa.pub>>./.ssh/authorized_keys -公鑰存在authorized_keys檔案中,寫到本機
cat ~/.ssh/id_dsa.pub>>./.ssh/authorized_keys
ssh testdb2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys -第二個節點的公鑰寫到本機
ssh testdb2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys testdb2:~/.ssh/authorized_keys
兩個節點上分別驗證
ssh testdb1 date
ssh testdb2 date
ssh testdb1-PRI date
ssh testdb2-PRI date
如果要打叢集補丁之類的,root使用者也來驗證一下
三、GRID/ASM安裝
1 )使用 oracle 使用者解壓安裝包
2 )使用 grid 使用者登入安裝 grid
安裝圖形化
yum -y groupinstall "X Window System"
yum -y install compat-libstdc++-33 elfutils-libelf-devel gcc gcc-c++ glibc-devel glibc-headers libaio-devel libstdc++-devel sysstat unixODBC unixODBC-devel
yum install -y compat-libcap1-1.10 libcap.so.1 libstdc++-devel-4.4.4 gcc-c++-4.4.4 smartmontools libaio-devel-0.3.107
rpm -ivh /opt/grid/rpm/cvuqdisk-1.0.9-1.rpm ( 解壓 grid 安裝包裡面可以找到,如果無法安裝,請先安裝yum install smartmontools這個 )
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm (這裡必須安裝這個版本)
注意事項:安裝 GRID 時, VIP 設定的時候要全部小寫, VIP 的 IP 不允許佔用
root使用者xhost +回車
su - grid
export DISPLAY=192.168.159.6:0.0
cd /opt/grid/
./runInstaller
(1)步驟一
(2)步驟二
(3)步驟三
(4)步驟四
(5)步驟五
(6)步驟六
遇到報錯:
遇到以上報錯需將scan name修改為/etc/hosts下的scan存在的名字,比如testdb-scan
192.168.159.6 testdb1
192.168.159.7 testdb2
192.168.159.24 testdb1-vip
192.168.159.25 testdb2-vip
10.1.22.6 testdb1-pri
10.1.22.7 testdb2-pri
192.168.159.26 testdb-scan
步驟7也是一樣的問題,相對應的名稱要與/etc/hosts設定的一致(注意,如果在安裝過程中修改了/etc/hosts,需要重新開啟安裝程式才可以識別)
(7)步驟七
這裡如果遇到報錯,檢查ifconfig 的IP地址是否被佔用,檢查grid和oracle互信是否正常
Public hostname 必須填寫物理節點的主機名
virtual hostname 可以填寫/etc/hosts下的主機名
注意:雙節點必須密匙互信,包含主機名,虛擬主機名,互信之後,如果是報錯互信,要配置完互信之後,重新啟動安裝程式才可識別
互信的使用者包含 grid,oracle
注意,自己和自己也要互信
如果出現以上報錯,應檢查VIP是否被使用被佔用
Ifconfig
Ping vip地址是否通
如果發現已被佔用,只能換一個IP地址
(8)步驟八
(9)步驟九
注意,必須要有雙網路卡, 一個公網,一個私網
(10)步驟十
(11)步驟十一
注意了,如果出現下圖這樣的情況,有可能是你的/etc/udev/rules.d/ 99-oracle-asmdevices.rules 那個檔案配置不正確,這樣會導致最後grid安裝失敗的,必須檢查清楚
正確的如下圖:
(12)步驟十二
(13)步驟十三(如果設定一個16位大小寫字母+數字+特殊字元,這個步驟就不會出現)
(14)步驟十四
(15)步驟十五
(16)步驟十六
(17)步驟十七(注意目錄本來是不存在的,點選NEXT後自動在伺服器上建立)
(18)步驟十八
(19)步驟十九
如果這裡這麼多問題,就一個個解決吧,尤其是有個FAILED的。
swap size 檢視了自己的swap有8G,要求16G,這個問題不大,可以忽略
OS KERNEL的問題,檢查了下/etc/sysctl.conf,發現shmmax沒設定,加上去
pdksh的問題,必須得安裝pdksh-5.2.14-37.el5_8.1.x86_64.rpm這個版本的
cvuqdisk的問題,必須的安裝 /opt/grid/rpm/cvuqdisk-1.0.9-1.rpm (這個是 grid 安裝包解壓後可以找到)
正常的檢測結果如下圖:
(20)步驟二十
在新的終端使用root使用者執行下面兩個指令碼:
報錯出現了。。。執行到第二個指令碼的時候報錯,如下:
#/home/u01/app/oraInventory/orainstRoot.sh
Changing permissions of /home/u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /home/u01/app/oraInventory to oinstall.
The execution of the script is complete.
# /home/u01/app/11.2.0/grid/root.sh
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /home/u01/app/11.2.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /home/u01/app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
Installing Trace File Analyzer
Failed to create keys in the OLR, rc = 127, Message:
/home/u01/app/11.2.0/grid/bin/clscfg.bin: error while loading shared libraries: libcap.so.1: cannot open shared object file: No such file or directory
Failed to create keys in the OLR at /home/u01/app/11.2.0/grid/crs/install/crsconfig_lib.pm line 7660.
/home/u01/app/11.2.0/grid/perl/bin/perl -I/home/u01/app/11.2.0/grid/perl/lib -I/home/u01/app/11.2.0/grid/crs/install /home/u01/app/11.2.0/grid/crs/install/rootcrs.pl execution failed
怎麼辦呢,上網查了下資料,嘗試了下
yum install libcap.so.1
安裝完了之後,重新執行第二個指令碼,沒用,還是報錯呢,咋辦呢,繼續查。。。
發現有這樣的解決辦法:
ls -lt /usr/lib64/libcap.so.2
lrwxrwxrwx. 1 root root 14 5月 9 14:20 /usr/lib64/libcap.so.2 -> libcap.so.2.22
ln -s /usr/lib64/libcap.so.2 /usr/lib64/libcap.so.1
再次重新執行第二個指令碼,還是報錯,腫麼辦,繼續查資料,
報錯如下:
Adding Clusterware entries to inittab
ohasd failed to start
Failed to start the Clusterware. Last 20 lines of the alert log follow:
2015-05-23 23:37:45.460:
[client(13782)]CRS-2101:The OLR was formatted using version 3.
按以下網址的方法解決:
https://blog.csdn.net/u010692693/article/details/48374557
問題一個接一個,再次執行第二個指令碼,又又又又報錯了。。。我只是想安靜的裝個RAC,咋那麼多新問題呢。。。
報錯如下:
嗯,後來發現,就是/etc/udev/rules.d/下的那個檔案出的問題,如果按照上面我更新了的一路做下來,就解決了。
哦,忘記說了,如果第一次操作不是按我記錄的總結做的,請dd一下asm盤,重新fdisk一下,重啟作業系統,
嗯,反正就是配置ASM的那些操作認真的重搞一下,就OK了,最重要的是 一定要重啟作業系統。一定要重啟作業系統。
一定要重啟作業系統。重要的事情說三遍!!!!
啊啊啊啊啊啊,真的要瘋掉了。。。因為又又又又又報錯了,,,為啥要說又呢。。。因為這是最後一次報錯了,
報錯如下:
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /home/db/u01/app/11.2.0/grid/crs/install/crsconfig_params
User ignored Prerequisites during installation
Installing Trace File Analyzer
Adding Clusterware entries to inittab
ohasd failed to start
Failed to start the Clusterware. Last 20 lines of the alert log follow:
2019-06-13 14:30:25.080:
[client(2314)]CRS-2101:The OLR was formatted using version 3.
2019-06-13 14:41:00.497:
[ohasd(8133)]CRS-0715:Oracle High Availability Service has timed out waiting for init.ohasd to be started.
好吧。。。咋又出現上面解決過的ohasd的報錯呢???咋回事啊?老弟?
後來發現,通過這個命令檢查狀態
systemctl status ohas.service
● ohas.service - Oracle High Availability Services
Loaded: loaded (/usr/lib/systemd/system/ohas.service; enabled; vendor preset: disabled)
Active: active (running) since 四 2019-06-13 11:33:05 CST; 4h 18min ago
Main PID: 4195 (init.ohasd)
CGroup: /system.slice/ohas.service
├─ 4195 /bin/sh /etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple
└─13011 /bin/sleep 10
6月 13 11:33:05 localhost.localdomain systemd[1]: Started Oracle High Availability Services.
我暈哦,怎麼變成Localhost了?
檢查了下/etc/hosts
嗯嗯嗯,額鵝鵝鵝,原來預設的那個localhost127.0.0.1 的東西沒刪掉,刪除了,把那個錯誤的local程式kill
然後再檢查,新的程式是主機名的 systemd[1]了,這回終於好了, 指令碼root.sh終於成功。
好吧,節點1成功後的資訊:
CRS-2672: Attempting to start 'ora.mdnsd' on 'testdb1'
CRS-2676: Start of 'ora.mdnsd' on 'testdb1' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on ' test db1'
CRS-2676: Start of 'ora.gpnpd' on 'testdb1' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'testdb1'
CRS-2672: Attempting to start 'ora.gipcd' on 'testdb1'
CRS-2676: Start of 'ora.cssdmonitor' on 'testdb1' succeeded
CRS-2676: Start of 'ora.gipcd' on 'testdb1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'testdb1'
CRS-2672: Attempting to start 'ora.diskmon' on 'testdb1'
CRS-2676: Start of 'ora.diskmon' on 'testdb1' succeeded
CRS-2676: Start of 'ora.cssd' on 'testdb1' succeeded
已成功建立並啟動 ASM。
已成功建立磁碟組OCR_VOTE。
clscfg: -install mode specified
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4256: Updating the profile
Successful addition of voting disk 34a2677d79854f78bf3ce189ea1ee690.
Successfully replaced voting disk group with +OCR_VOTE.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 34a2677d79854f78bf3ce189ea1ee690 (/dev/asmocrdisk) [OCR_VOTE]
Located 1 voting disk(s).
CRS-2672: Attempting to start 'ora.asm' on 'testdb1'
CRS-2676: Start of 'ora.asm' on 'testdb1' succeeded
CRS-2672: Attempting to start 'ora.OCR_VOTE.dg' on 'testdb1'
CRS-2676: Start of 'ora.OCR_VOTE.dg' on 'testdb1' succeeded
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
那麼問題來了,本滿心欣喜的以為節點2也會一樣的輕鬆寫意,,,結果可想而知。。。又又又又報錯了,為啥又要說又呢。
因為在節點2執行root指令碼報錯如下:
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /home/db/u01/app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
Installing Trace File Analyzer
OLR initialization - successful
Adding Clusterware entries to inittab
CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node testdb1, number 1, and is terminating
An active cluster was found during exclusive startup, restarting to join the cluster
Start of resource "ora.asm" failed
CRS-2800: Cannot start resource 'ora.ctssd' as it is already in the INTERMEDIATE state on server 'testdb2'
CRS-4000: Command Start failed, or completed with errors.
Failed to start Oracle Grid Infrastructure stack
Failed to start ASM at /home/db/u01/app/11.2.0/grid/crs/install/crsconfig_lib.pm line 1339.
/home/db/u01/app/11.2.0/grid/perl/bin/perl -I/home/db/u01/app/11.2.0/grid/perl/lib -I/home/db/u01/app/11.2.0/grid/crs/install /home/db/u01/app/11.2.0/grid/crs/install/rootcrs.pl execution failed
解決方法:
節點1
vi /etc/hostname
testdb1
hostname testdb1
節點2
vi /etc/hostname
testdb2
hostname testdb2
重啟作業系統
再次執行root.sh指令碼成功安裝,當然,如果覺得不夠穩得,可以重灌
ORACLE_OWNER= grid
ORACLE_HOME= /home/db/u01/app/11.2.0/grid
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /home/db/u01/app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
Installing Trace File Analyzer
OLR initialization - successful
Adding Clusterware entries to inittab
CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node yytsdb1, number 1, and is terminating
An active cluster was found during exclusive startup, restarting to join the cluster
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
如果安裝過程中遇到下圖報錯:
嘗試 ping scan ip ,能 ping 通,可以忽略報錯
安裝完成檢查叢集狀態正常
crsctl stat res -t
至此,GRID的安裝順利完成。
四、 配置 ASM 磁碟
使用 grid 使用者在桌面圖形環境中執行 asmca
建立資料磁碟組
五 、安裝 RAC 資料庫
( 1 )步驟一
安裝好 xmanager 軟體
Xshell
配置好屬性 SSH— 隧道
重新開啟一個 xshell 視窗
Xhost +
Su – oracle
Export DISPLAY=xxx.xxx.xxx.xxx:0.0
使用 ORACLE 使用者登入, ./runInstaller
( 2 )步驟二
( 3 )步驟三
( 4 )步驟四
( 5 )步驟五
( 6 )步驟六
( 7 )步驟七
( 8 )步驟八
( 9 )步驟九
( 10 )步驟十
( 11 )步驟十一
( 12 )步驟十二
( 13 )步驟十三
( 14 )步驟十四
( 15 )步驟十五
注意!!!這裡因為是CENTOS7.6的系統,在安裝過程中會遇到以下報錯:
解決方法:
Error in invoking target 'agent nmhs' of makefile '/u01/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'
解決方案: 保留安裝過程,另外開啟一個終端視窗,將ins_emagent.mk檔案中的 (MK_EMAGENT_NMECTL)更改為$(MK_EMAGENT_NMECTL) -lnnz11,然後在安裝過程中點選Retry即可。
這個新增的-lnnz11 是 減號小寫字母l ,兩個數字1,你們懂得
( 16 )步驟十六
使用 root 使用者在各節點執行 root 指令碼
( 17 )步驟十七
( 16 )步驟十六
使用 root 使用者在各節點執行 root 指令碼
( 17 )步驟十七
6 、建立 ORACLE 例項
( 1 )步驟一
使用 oracle 使用者登入,執行 dbca
( 2 )步驟二
安裝 RAC
( 3 )步驟三
( 4 )步驟四
( 5 )步驟五
這裡注意,如果遇到以下報錯,則按提示完成 GRID 的 LISTENER 配置
Xhost +
Su – grid
Export DISPLAY=xxx.xxx.xxx.xxx:0.0
Netca
全部選擇預設下一步安裝即可
如果沒遇到問題,直接繼續下一步
( 6 )步驟六
( 7 )步驟七
這裡我自己在後續安裝過程中,都習慣性設定一個16位的大小寫字母+數字+特殊字元的密碼了
( 8 )步驟八
( 9 )步驟九
( 10 )步驟十
( 11 )步驟十一
這裡在生產庫中,一般要放在資料盤的ASM DATA目錄下,且記得Enable Archiving可以直接在這裡設定好,勾選即可預設在DATA目錄自動建立archive的日誌目錄,當然安裝完成之後再去設定也可以。
( 12 )步驟十二
( 13 )步驟十三
( 14 )步驟十四
這裡在生產環境,一樣要和開發,應用 那邊溝通好, 使用什麼字符集,不然,到時不符合要求又要重灌就比較麻煩了。
( 15 )步驟十五
( 16 )步驟十六
( 17 )步驟十七
( 18 )步驟十八
開始建立例項
( 19 )步驟十九
安裝好了
( 20 )步驟二十
測試連線一下資料庫安裝完成
最後,安裝完成後,要記得檢查防火牆getenforce和iptables,檢查監聽,scan監聽,再自己用工具連線下資料庫
到此基本安裝完畢,後面的建表空間,建使用者啥的,自己看著來整,這裡不贅述了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28371090/viewspace-2646713/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Windows 11 作業系統安裝方法Windows作業系統
- RedHat 7.6作業系統安裝Redhat作業系統
- 作業-安裝虛擬機器以及CentOS作業系統虛擬機CentOS作業系統
- 在Ubuntu作業系統裡安裝DockerUbuntu作業系統Docker
- Linux作業系統中安裝VMware ToolsLinux作業系統
- 實戰-使用 Cobbler 安裝作業系統作業系統
- Powershell 命令列安裝 Windows 作業系統命令列Windows作業系統
- window 作業系統,安裝 mongodb.zip 包作業系統MongoDB
- Windows作業系統安裝MySQL解壓版Windows作業系統MySql
- 【git】Ubuntu作業系統上安裝Git LFSGitUbuntu作業系統
- Centos7.6安裝FTPCentOSFTP
- 國產處理器伺服器作業系統安裝(海之舟伺服器作業系統安裝說明)伺服器作業系統
- solaries作業系統安裝64位JDK1.6作業系統JDK
- 樹莓派作業系統安裝和啟動樹莓派作業系統
- RAID磁碟硬陣列及安裝作業系統AI陣列作業系統
- 天兔(Lepus)監控作業系統(OS)安裝配置作業系統
- 【docker專欄2】CentOS作業系統安裝DockerCEDockerCentOS作業系統
- CentOS 7.8作業系統安裝(用於生產)CentOS作業系統
- 【Linux】Centos7.6 安裝ZookeeperLinuxCentOS
- 作業系統封裝操作作業系統封裝
- 作業系統裝置管理作業系統
- # 2020-09-26 #「Linux」- 在作業系統安裝後……Linux作業系統
- 如何安裝Linux作業系統?Linux運維教學Linux作業系統運維
- 恆訊科技分析:如何使用IPMI安裝作業系統?作業系統
- 關於安裝VMware以及Linux作業系統過程Linux作業系統
- CentOS7.5安裝PostgreSQL作業系統配置指令碼CentOSSQL作業系統指令碼
- redhat7.2靜默安裝Oracle11.2.0.4RedhatOracle
- Linux系統安裝Pycharm專業版【附破解方法】LinuxPyCharm
- 【Linux】Centos7.6 安裝JDK 1.8LinuxCentOSJDK
- centos7.6安裝php7.3CentOSPHP
- Centos7.6下安裝配置JenkinsCentOSJenkins
- linux/OSX中“DD”命令製作ISO映象作業系統安裝U盤Linux作業系統
- linux安裝DB2之前的作業系統引數LinuxDB2作業系統
- RHEL7.3通過PXE啟動安裝作業系統作業系統
- 伺服器批次安裝作業系統 批次遠端桌面伺服器作業系統
- U盤裝CENTOS作業系統CentOS作業系統
- FreeBSD系統上如何安裝Bugzilla?FreeBSD系統安裝Bugzilla的方法教程
- 作業系統(1)——作業系統概述作業系統