您好,登錄后才能下訂單哦!
red hat 7.4
oracle數據庫版本
11.2.0.4
oracle grid版本
11.2.0.4
對應的文件
p13390677_112040_Linux-x86-64_1of7.zip - database software
p13390677_112040_Linux-x86-64_2of7.zip - database software
p13390677_112040_Linux-x86-64_3of7.zip - grid software
IP地址規劃:
DNS server:192.168.1.168
db node1:192.168.1.212 public
192.168.1.213 VIP
10.0.1.2 private
db node2:192.168.1.214 public
192.168.1.215 VIP
10.0.1.3 private
scan: 192.168.1.216
1、修改主機名稱:
vi /etc/hostname配置文件
或
hostnamectl set-hostname <計算機名>
A: redhat-212
B: redhat-214
2、動態IP修改為靜態IP
cd /etc/sysconfig/network-scripts/
BOOTPROTO="static" #dhcp改為static
3、修改兩個rac節點網卡配置:
節點1:
cat /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens192
UUID=2a2b7809-26ac-4fc6-95d0-124c7348171a
DEVICE=ens192
ONBOOT=yes
IPADDR=192.168.1.212
PREFIX=24
cat /etc/sysconfig/network-scripts/ifcfg-ens224
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens224
UUID=6da67cdc-933c-4bfe-a3b1-2896175be86b
DEVICE=ens224
ONBOOT=yes
IPADDR=10.0.1.2
PREFIX=24
節點2:
cat /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens192
UUID=aeead365-1e33-41c3-b0e9-b147c4a2e688
DEVICE=ens192
ONBOOT=yes
IPADDR=10.0.1.3
PREFIX=24
cat /etc/sysconfig/network-scripts/ifcfg-ens224
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens224
UUID=e4fe8fed-6e97-43b4-aec6-80ce42588ead
DEVICE=ens224
ONBOOT=yes
IPADDR=192.168.1.214
PREFIX=24
#vim /etc/resolv.conf
nameserver 218.2.2.2
分別重啟一下網卡:
systemctl restart network.service
禁用該可預測命名規則。對于這一點,你可以在啟動時傳遞“net.ifnames=0 biosdevname=0 ”的內核參數。這是通過編輯/etc/default/grub并加入“net.ifnames=0 biosdevname=0 ”到GRUBCMDLINELINUX變量來實現的。
cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap net.ifnames=0 biosdevname=0 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
3、直接關閉防火墻
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動
4、關閉selinux
#vim /etc/selinux/config
修改文件
SELINUX=disabled
臨時關閉
#setenforce 0
5、內部DNS解析兩個rac節點:
NODE1:
vim /etc/hosts 127.0.0.1這一行修改一下名字racdb1,末尾添加如下:
127.0.0.1 racdb1 localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.216 cluster clusterscan
192.168.1.212 redhat-212
192.168.1.214 redhat-214
192.168.1.213 redhat-212-vip
192.168.1.215 redhat-214-vip
10.0.1.2 raca-priv
10.0.1.3 racb-priv
NODE2:
vim /etc/hosts 127.0.0.1這一行修改一下名字racdb2,末尾添加如下
127.0.0.1 racdb2 localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.216 cluster clusterscan
192.168.1.212 redhat-212
192.168.1.214 redhat-214
192.168.1.213 redhat-212-vip
192.168.1.215 redhat-214-vip
10.0.1.2 raca-priv
10.0.1.3 racb-priv
這個軟件挺好用的,在vmware環境下安裝,其實就是個linux系統,我們創建vmdisk就行了。配置登陸一個網頁https://ip:446
在網絡存儲服務器 (openfiler1) 上執行以下安裝。
在兩個 Oracle RAC 節點上進行網絡配置之后,下一步是將 Openfiler 軟件安裝到網絡存儲服務器 (openfiler1)。稍后會將網絡存儲服務器配置為 iSCSI 存儲設備,以滿足 Oracle Clusterware 和 Oracle RAC 的所有共享存儲需求。
安裝 Openfiler步驟可參考oracle官網:
http://www.oracle.com/technetwork/cn/articles/hunter-rac11gr2-iscsi-083834-zhs.html
1、使用 Openfiler 配置 iSCSI 卷
OpenFiler設置 iSCSI / 邏輯卷卷名卷描述
racdb-crs1 racdb-ASM CRS Volume 1
racdb-crs2 racdb-ASM CRS Volume 2
racdb-crs3 racdb-ASM CRS Volume 3
racdb-data1 racdb-ASM Data Volume 1
racdb-data2 racdb-ASM Data Volume 2
racdb-data3 racdb-ASM Data Volume 3
racdb-fra1 racdb-ASM FRA Volume 1
racdb-fra2 racdb-ASM FRA Volume 2
racdb-fra3 racdb-ASM FRA Volume 3
2、ISCSI路徑名稱命名
iqn.2006-01.com.openfiler:racdb.crs1
iqn.2006-01.com.openfiler:racdb.crs2
iqn.2006-01.com.openfiler:racdb.crs3
iqn.2006-01.com.openfiler:racdb.data1
iqn.2006-01.com.openfiler:racdb.data2
iqn.2006-01.com.openfiler:racdb.data3
iqn.2006-01.com.openfiler:racdb.fra1
iqn.2006-01.com.openfiler:racdb.fra2
iqn.2006-01.com.openfiler:racdb.fra3
3、兩個節點安裝iscsi客戶端
#yum install -y iscsi-initiator-utils
#systemctl start iscsid.service
#service iscsid start
4、設置iscsi客戶端開機啟動
systemctl enable iscsid.service
systemctl enable iscsi.service
5、查看服務狀態
#systemctl list-unit-files |grep iscsi*
iscsi-shutdown.service static
iscsi.service enabled
iscsid.service enabled
iscsiuio.service disabled
iscsid.socket enabled
iscsiuio.socket enabled
6、發現ISCSI服務端磁盤路徑
#iscsiadm -m discovery -t sendtargets -p openfiler1-priv 為你的openfiler的IP地址,我這里地址是10.0.1.100
#iscsiadm -m discovery -t sendtargets -p 10.0.1.100
10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.fra3
10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.fra2
10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.fra1
10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.data3
10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.data2
10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.data1
10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.crs3
10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.crs2
10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.crs1
7、每個 Oracle RAC 節點都能夠從網絡存儲服務器中發現可用目標。下一步是手動登錄每個可用目標,這可以使用 iscsiadm 命令行接口完成。這需要在兩個 Oracle RAC 節點上運行。注意,我必須指定網絡存儲服務器的 IP 地址而非其主機名 (openfiler1-priv) — 我認為必須這么做,因為上述發現使用 IP 地址顯示目標。
登陸ISCSI遠程磁盤
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs1 -p 10.0.1.100 -l
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs2 -p 10.0.1.100 -l
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs3 -p 10.0.1.100 -l
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data1 -p 10.0.1.100 -l
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data2 -p 10.0.1.100 -l
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data3 -p 10.0.1.100 -l
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra1 -p 10.0.1.100 -l
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra2 -p 10.0.1.100 -l
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra3 -p 10.0.1.100 -l
8、設置開機啟動自動連接磁盤
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs1 -p 10.0.1.100 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs2 -p 10.0.1.100 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs3 -p 10.0.1.100 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data1 -p 10.0.1.100 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data2 -p 10.0.1.100 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data3 -p 10.0.1.100 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra1 -p 10.0.1.100 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra2 -p 10.0.1.100 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra3 -p 10.0.1.100 --op update -n node.startup -v automatic
9、查看遠程磁盤路徑和關聯的磁盤路徑
#(cd /dev/disk/by-path; ls -l *openfiler* | awk '{FS=" "; print $9 " " $10 " " $11}')
ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.crs1-lun-0 -> ../../sdc
ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.crs2-lun-0 -> ../../sdd
ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.crs3-lun-0 -> ../../sde
ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.data1-lun-0 -> ../../sdf
ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.data2-lun-0 -> ../../sdg
ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.data3-lun-0 -> ../../sdh
ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.fra1-lun-0 -> ../../sdi
ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.fra2-lun-0 -> ../../sdj
ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.fra3-lun-0 -> ../../sdk
10、安裝udev設備管理器(rac_udev建立磁盤方式安裝grid)
#yum install -y udev
查看磁盤串號
-----------------------------------------------------------------------------------------------------------------
for disk in `ls /dev/sd*`
do
echo $disk
/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=$disk
done \\回車
-----------------------------------------------------------------------------------------------------------------
/dev/sda
/dev/sda1
/dev/sda2
/dev/sdb
/dev/sdb1
/dev/sdc
14f504e46494c45527763443337452d557347312d514f3049
/dev/sdd
14f504e46494c4552715837527a472d78444f522d6e6b5774
/dev/sde
14f504e46494c45523045727559352d706674422d43666c59
/dev/sdf
14f504e46494c455262664b78684c2d51796e512d30464179
/dev/sdg
14f504e46494c45526c36533367792d6a6265712d45705648
/dev/sdh
14f504e46494c45524159783651312d4a4554742d4f74776f
在兩個 Oracle RAC 節點:
映射關聯磁盤
#vim /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd?", ENV{ID_SERIAL}=="14f504e46494c45527763443337452d557347312d514f3049", SYMLINK+="asm_ocr_1_1", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd?", ENV{ID_SERIAL}=="14f504e46494c4552715837527a472d78444f522d6e6b5774", SYMLINK+="asm_ocr_1_2", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd?", ENV{ID_SERIAL}=="14f504e46494c45523045727559352d706674422d43666c59", SYMLINK+="asm_data_1_1", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd?", ENV{ID_SERIAL}=="14f504e46494c455262664b78684c2d51796e512d30464179", SYMLINK+="asm_data_1_2", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd?", ENV{ID_SERIAL}=="14f504e46494c45526c36533367792d6a6265712d45705648", SYMLINK+="asm_fra_1_1", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd?", ENV{ID_SERIAL}=="14f504e46494c45524159783651312d4a4554742d4f74776f", SYMLINK+="asm_fra_1_2", OWNER="grid", GROUP="asmadmin", MODE="0660"
加載rules文件(rac_udev建立磁盤方式安裝grid)
#udevadm control --reload-rules
#udevadm trigger
11、查看關聯路徑情況
#ls -l /dev/asm*
lrwxrwxrwx. 1 root root 3 12月 26 17:30 /dev/asm_data_1_1 -> sdf
lrwxrwxrwx. 1 root root 3 12月 26 17:30 /dev/asm_data_1_2 -> sdg
lrwxrwxrwx. 1 root root 3 12月 26 17:30 /dev/asm_fra_1_1 -> sdh
lrwxrwxrwx. 1 root root 3 12月 26 17:30 /dev/asm_fra_1_2 -> sdi
lrwxrwxrwx. 1 root root 3 12月 26 17:30 /dev/asm_ocr_1_1 -> sdc
lrwxrwxrwx. 1 root root 3 12月 26 17:30 /dev/asm_ocr_1_2 -> sdd
lrwxrwxrwx. 1 root root 3 1月 8 14:00 /dev/asm_ocr_1_3 -> sde
1、創建用戶:
groupadd -g 1000 oinstall
groupadd -g 1200 asmadmin
groupadd -g 1201 asmdba
groupadd -g 1202 asmoper
groupadd -g 1300 dba
groupadd -g 1301 oper
2、創建組:
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper grid
useradd -u 1101 -g oinstall -G dba,oper,asmdba oracle
3、創建密碼:
passwd grid
passwd oracle
4、設置互信關系,這里記住oracle和grid用戶都要設置互信
#su - grid
$ mkdir ~/.ssh(有則不創建)
兩個節點執行以下操作
ssh-keygen -t rsa
ssh-keygen -t dsa
這里一步一步直接回車的
以下操作在一個節點上執行即可(id_rsa是密鑰,id_rsa.pub是公鑰)
cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys --公鑰存在authorized_keys文件中,寫到本機
cat ~/.ssh/id_dsa.pub >> ./.ssh/authorized_keys
ssh redhat-214 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys --第二個節點的公鑰寫到本機
ssh redhat-214 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys secdb2:~/.ssh/authorized_keys
兩個節點上分別驗證
ssh redhat-212 date
ssh redhat-214 date
ssh raca-priv date
ssh racb-priv date
#su - oracle
兩個節點執行以下操作:
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 redhat-214 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys --第二個節點的公鑰寫到本機
ssh redhat-214 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys redhat-214:~/.ssh/authorized_keys --上傳本機公鑰到第二個節點管理
兩個節點上分別驗證
ssh redhat-212 date
ssh redhat-214 date
ssh raca-priv date
ssh racb-priv date
5、為grid用戶設置環境變量
如下操作也需要在兩個節點上同樣進行,這里需要注意的是grid用戶的SID和oracle用戶的SID,是不一樣的,這里大家明白原理的話就不會出錯。
以 grid 用戶帳戶分別登錄到兩個 Oracle RAC 節點并創建以下登錄腳本 (.bash_profile):
注: 在為每個 Oracle RAC 節點設置 Oracle 環境變量時,確保為每個 RAC 節點指定唯一的 Oracle SID。對于此示例,我使用:
racnode1:ORACLE_SID=+ASM1
racnode2:ORACLE_SID=+ASM2
Node1:
[root@racnode1 ~]# su - grid
vi .bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/grid
export ORACLE_HOME=/u01/app/grid/11.2.0
export NLS_DATE_FORMAT='yyyy/mm/dd hh34:mi:ss'
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LANG=en_US
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
umask 022
Node2:
#su - grid
vi .bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM2
export ORACLE_BASE=/u01/grid
export ORACLE_HOME=/u01/app/grid/11.2.0
export NLS_DATE_FORMAT='yyyy/mm/dd hh34:mi:ss'
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LANG=en_US
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
umask 022
6、為 oracle 用戶設置環境變量
以 oracle 用戶帳戶分別登錄到兩個 Oracle RAC 節點并創建以下登錄腳本 (.bash_profile):
注: 在為每個 Oracle RAC 節點設置 Oracle 環境變量時,確保為每個 RAC 節點指定唯一的 Oracle SID。對于此示例,我使用:
racnode1:ORACLE_SID=orcl1
racnode2:ORACLE_SID=orcl2
#su - oracle
vi .bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=rac1
export ORACLE_SID=orcl1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_UNQNAME=orcl
export TNS_ADMIN=$ORACLE_HOME/network/admin
#export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LANG=en_US
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT='yyyy/mm/dd hh34:mi:ss'
umask 022
Node2:
#su - oracle
vi .bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=rac2
export ORACLE_SID=orcl2
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_UNQNAME=orcl
export TNS_ADMIN=$ORACLE_HOME/network/admin
#export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LANG=en_US
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT='yyyy/mm/dd hh34:mi:ss'
umask 022
7、創建 Oracle 基目錄路徑
最后一步是配置 Oracle 基路徑,要遵循最佳靈活體系結構 (OFA) 的結構及正確的權限。需要以 root 用戶身份在集群的兩個 Oracle RAC 節點上完成此任務。
本指南假設在根文件系統中創建 /u01 目錄。請注意,這樣做是為了簡便起見,不建議將其作為通用做法。通常會將 /u01 目錄作為配置了硬件或軟件鏡像功能的單獨文件系統供應。
#mkdir -p /u01/grid
#mkdir -p /u01/app/grid/11.2.0
#chown -R grid:oinstall /u01
#mkdir -p /u01/app/oracle
#chown oracle:oinstall /u01/app/oracle
#chmod -R 775 /u01
8、為 Oracle 軟件安裝用戶設置資源限制:
8.1 在每個 Oracle RAC 節點上,在 /etc/security/limits.conf 文件中添加以下幾行代碼(下面的示例顯示軟件帳戶所有者 oracle 和 grid):
#vi /etc/security/limits.conf
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
或下面加了stack最大棧大小,一般我使用都是上面多些
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
8.2 在每個 Oracle RAC 節點上,在 /etc/pam.d/login 文件中添加或編輯下面一行內容(如果不存在此行):
#vi /etc/pam.d/login
session required pam_limits.so
8.3 修改內核參數
#vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
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
使sysctl生效
#sysctl -p
8.3 安裝相關的開發工具包
#yum -y install glibc \
glibc-devel \
glibc-headers \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
make \
sysstat \
unixODBC \
unixODBC-devel \
pdksh \
compat-libcap1 \
compat-libstdc++-33 \
elfutils-libelf-devel \
gcc \
gcc-c++ \
smartmontools \
pdksh \
compat-libstdc \
cvuqdisk
9、RHEL 7 安裝oracle rac 11.2.0.4執行root.sh報錯ohasd failed to start
報錯原因:
因為RHEL 7使用systemd而不是initd運行進程和重啟進程,而root.sh通過傳統的initd運行ohasd進程。
9.1、 解決方法:
在RHEL 7中ohasd需要被設置為一個服務,在運行腳本root.sh之前。
以root用戶創建服務文件
#touch /usr/lib/systemd/system/ohas.service
#chmod 777 /usr/lib/systemd/system/ohas.service
9.2、 將以下內容添加到新創建的ohas.service文件中
#vim /usr/lib/systemd/system/ohas.service
[Unit]
Description=Oracle High Availability Services
After=syslog.target
[Service]
ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple
Restart=always
[Install]
WantedBy=multi-user.target
9.3、以root用戶運行下面的命令
#systemctl daemon-reload
#systemctl enable ohas.service
#systemctl start ohas.service
9.4、查看運行狀態
#systemctl status ohas.service
1、連接操作中的 Xmanager
#su - grid
$ cd /home/grid/
$ unzip p13390677_112040_Linux-x86-64_3of7.zip
#yum install xhost + -y
#su - grid
$ export DISPLAY=ip:0.0 //ip為你本機ip
$ xhost +
$ export LANG=en_US
$ ./runInstaller
若需要添加中文語言包
#mkdir -p /usr/share/fonts/zh_CN/TrueType
將zysong.ttf文件放至/usr/share/fonts/zh_CN/TrueType目錄中
2、安裝截圖
出來下面安裝界面,選擇最下面的Skip software updates,然后選next
選擇第一個安裝和配置集群環境,next
選擇第二個高級安裝,next
選上添加簡體中文,next
此處集群名自己取,SCAN名需要和/etc/hosts中的scan ip別名一致,端口默認,不選GNS,next
添加busrac2節點
點next(上面設置互信關系一定執行過,不然這一步如果next會出錯的)
或如果沒有設置互信關系的話可以點SSH Connectivity,輸入grid用戶的密碼(注兩點節點grid用戶與密碼要一致),在點setup,最后next
這里只需要確認一下網絡接口,安裝向導已經把我們填寫,next(這里是自動識別到你服務器上IP是哪段的)
存儲選擇:選擇ASM,next
這里讓我們創建asm disk group,給一個名字“ORC",建立OCR盤,選擇3塊盤 next(這里要求至少3塊盤的,這里圖片只是參考的;有時候會找不到盤,可以試重新執行加載rules文件(rac_udev建立磁盤方式安裝grid))
設置密碼:next
這里選擇第二項不使用IPMI
給ASM指定不同的組,next
這里安裝向導會幫你填寫集群軟件的安裝路徑,我們繼續next,這里我們需要注意的是oracle_Home不能是oracle_base的子目錄
以root身份執行腳本:root用戶執行兩個腳本,一個節點執行完后再執行第二個節點(root.sh執行可能會長一點)
我們會看到這個報錯,其實這個問題我查看了mos知識庫,說的比較含糊,可以忽略這個錯誤,不影響我們的安裝和未來的使用
直接finish了,這里我們集群軟件安裝完成。
#su - oracle
$ export DISPLAY=ip:0.0 //ip為你本機ip
$ xhost +
$ export LANG=en_US
$ cd database
$ ./runInstaller
在解壓database運行安裝腳本,這里和安裝grid一樣,啟動安裝向導
我們不填寫mos賬號,又不聯網沒意義,點擊next,這里我們還是在rac1節點上安裝
我們這里只安裝數據庫軟件,點擊next
這里選擇集群安裝方式,有以下3種選項之一:
Single instance database installation(單實例數據庫安裝) 這一選項允許僅在本地節點上安裝單實例數據庫軟件。
Oracle Real Application Cluster database installation(Oracle RAC數據庫安裝) 這一選項允許在集群中的選定節點上選擇和安裝Oracle RAC二進制文件。
Oracle RAC One Node database installation 這個選項在選定節點上安裝Oracle RAC One Node數據庫二進制文件。
在這個界面上,選擇Oracle Real Application Cluster database installation選項。
選擇“select All”,點擊next
還是選擇語言為”English/Simplified Chinese“,點擊next
選擇”Enterprise Edition“ 點擊”next“
這里是oracle_base和oracle_home,點擊next
這個對應到組就可以了,繼續next
這一步會check你的安裝環境,我們只要配置參數正確就沒問題,這里基本上都是succeeded,點擊next(導致這個錯誤的原因是在/etc/hosts中配置了SCAN的地址,嘗試ping這個地址信息,如果可以成功,則這個錯誤可以忽略。我嘗試ping scan ip可以ping通,所以暫時也就忽略了這個錯誤。)
summary一下,我們就可以'install'了
這里安裝會比較快
出現如下錯誤
查看日志報錯如下:
#vi /u01/oraInventory/logs/installActions2018-01-10_02-56-55PM.log
INFO: collect2: error: ld returned 1 exit status
INFO: make[1]: *** [/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/emdctl] Error 1
INFO: make[1]: Leaving directory `/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib'
INFO: make: *** [emdctl] Error 2
INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk'. See '/u01/oraInventory/logs/installActions2018-01-10_02-56-55PM.log' for details.
Exception Severity: 1
解決方法:
vi $ORACLE_HOME/sysman/lib/ins_emagent.mk
$vi /u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk
搜索以下行:
$(MK_EMAGENT_NMECTL)
改變為:
$(MK_EMAGENT_NMECTL) -lnnz11
然后點擊:retry,可以。
完成后同樣也要執行一個腳本,也是要在root用戶下去執行,分別兩個節點上
至此數據庫軟件已安裝完成。
1、在安裝GI集群軟件的時候我們就配置過asm磁盤,現在我們還有一個disk分區沒有加入到asm磁盤組中,我們通過asmca來實現
$ su - grid
$ export DISPLAY=ip:0.0
運行命令asmca,我們看到下面配置向導。這里可以看到我們之前配置過的disk group,我們點擊create后
來到這里,我們給disk group起個名字,選擇redundancy Normal,勾選data_1_1和data_1_2,我們ok一下
會有一個10秒的等待創建磁盤組,完成后提示成功
選擇redundancy Normal,勾選fra_1_1和fra_1_2,我們ok一下
這里我們就能看到有三個disk group了!!!退出即可。。
我們直接su - oracle,運行dbca命令來配置數據庫
$ export DISPLAY=IP:0.0
$ export LANG=en_US
$ dbca
來到如下界面后,我們選擇第一項集群模式,然后next
這個就不用考慮了,直接選擇create a database,繼續next
這個也是選擇general purpose,繼續next
配置類型選擇admin-managed,Global database name和sid相同為test,最下面我們選擇”select all“,然后next
這里我們還是選擇默認推薦的配置,EM和amt都選擇配置,繼續next
把sys、system、dbsnmp都給一個相同的密碼,這里你自己給吧!!然后next
這里我們選擇用存儲類型為asm,使用omf管理數據文件(這里的名字是存放數據數據文件路徑名字,自定義)。
我安裝數據庫勾選OEM的時候,這個地方就要輸入ASMSNMP密碼的,設置好后點ok
這里選擇閃回恢復區,看個人情況
或是我們這里不選擇閃回恢復區,我這里就不配置了,以后手動改spfile吧!!
不選擇裝sample schemas
或是裝上sample schemas,以后就有數據可以測試玩一把了!! 繼續next
這里我們字符集會有所設置,ZHS16GBK-GBK,國際字符集默認的就行。其它的選項卡沒有特殊配置,在以后都可以去改spfile,我們繼續next
這個是數據庫的存儲配置頁面,我們看一下控制文件等等都要開始安裝了,next
繼續finish
等待吧,這個也是比較久的,如果SSD和cpu比較給力,速度基本上10分鐘吧!!
安裝完后,點擊exit
我們就退出安裝配置向導了!!!
1、檢查crs資源狀態
[grid@redhat212 ~]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.DATADB.dg ora....up.type ONLINE ONLINE redhat212
ora.FRA.dg ora....up.type ONLINE ONLINE redhat212
ora....ER.lsnr ora....er.type ONLINE ONLINE redhat212
ora....N1.lsnr ora....er.type ONLINE ONLINE redhat212
ora.ORC.dg ora....up.type ONLINE ONLINE redhat212
ora.asm ora.asm.type ONLINE ONLINE redhat212
ora.cvu ora.cvu.type ONLINE ONLINE redhat212
ora.gsd ora.gsd.type OFFLINE OFFLINE
ora....network ora....rk.type ONLINE ONLINE redhat212
ora.oc4j ora.oc4j.type ONLINE ONLINE redhat212
ora.ons ora.ons.type ONLINE ONLINE redhat212
ora.orcl.db ora....se.type ONLINE ONLINE redhat212
ora....SM1.asm application ONLINE ONLINE redhat212
ora....12.lsnr application ONLINE ONLINE redhat212
ora....212.gsd application OFFLINE OFFLINE
ora....212.ons application ONLINE ONLINE redhat212
ora....212.vip ora....t1.type ONLINE ONLINE redhat212
ora....SM2.asm application ONLINE ONLINE redhat214
ora....14.lsnr application ONLINE ONLINE redhat214
ora....214.gsd application OFFLINE OFFLINE
ora....214.ons application ONLINE ONLINE redhat214
ora....214.vip ora....t1.type ONLINE ONLINE redhat214
ora.scan1.vip ora....ip.type ONLINE ONLINE redhat212
我們看到ora.gsd、ora.214(RAC2).gsd是offline狀態,其實兩個進程對我們的數據庫是沒有任何影響的,我們把他們打開就行了
2、查看節點的狀態
[grid@redhat212 ~]$ srvctl status nodeapps -n redhat212
VIP redhat212-vip is enabled
VIP redhat212-vip is running on node: redhat212
Network is enabled
Network is running on node: redhat212
GSD is disabled
GSD is not running on node: redhat212
ONS is enabled
ONS daemon is running on node: redhat212
3、開啟節點
[grid@redhat212 ~]$ srvctl enable nodeapps
PRKO-2415 : VIP is already enabled on node(s): redhat212,redhat214
PRKO-2416 : Network resource is already enabled.
PRKO-2417 : ONS is already enabled on node(s): redhat212,redhat214
開節點后在查看節點應用程序狀態
[grid@redhat212 ~]$ srvctl status nodeapps
VIP redhat212-vip is enabled
VIP redhat212-vip is running on node: redhat212
VIP redhat214-vip is enabled
VIP redhat214-vip is running on node: redhat214
Network is enabled
Network is running on node: redhat212
Network is running on node: redhat214
GSD is enabled
GSD is not running on node: redhat212
GSD is not running on node: redhat214
ONS is enabled
ONS daemon is running on node: redhat212
ONS daemon is running on node: redhat214
4、啟動節點
$ srvctl start nodeapps
PRKO-2421 : Network resource is already started on node(s): redhat212,redhat214
PRKO-2420 : VIP is already started on node(s): redhat212
PRKO-2420 : VIP is already started on node(s): redhat214
PRKO-2422 : ONS is already started on node(s): redhat212,redhat214
5、我們在來查看一下所有的組件是否online
$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.DATADB.dg ora....up.type ONLINE ONLINE redhat212
ora.FRA.dg ora....up.type ONLINE ONLINE redhat212
ora....ER.lsnr ora....er.type ONLINE ONLINE redhat212
ora....N1.lsnr ora....er.type ONLINE ONLINE redhat212
ora.ORC.dg ora....up.type ONLINE ONLINE redhat212
ora.asm ora.asm.type ONLINE ONLINE redhat212
ora.cvu ora.cvu.type ONLINE ONLINE redhat212
ora.gsd ora.gsd.type ONLINE ONLINE redhat212
ora....network ora....rk.type ONLINE ONLINE redhat212
ora.oc4j ora.oc4j.type ONLINE ONLINE redhat212
ora.ons ora.ons.type ONLINE ONLINE redhat212
ora.orcl.db ora....se.type ONLINE ONLINE redhat212
ora....SM1.asm application ONLINE ONLINE redhat212
ora....12.lsnr application ONLINE ONLINE redhat212
ora....212.gsd application ONLINE ONLINE redhat212
ora....212.ons application ONLINE ONLINE redhat212
ora....212.vip ora....t1.type ONLINE ONLINE redhat212
ora....SM2.asm application ONLINE ONLINE redhat214
ora....14.lsnr application ONLINE ONLINE redhat214
ora....214.gsd application ONLINE ONLINE redhat214
ora....214.ons application ONLINE ONLINE redhat214
ora....214.vip ora....t1.type ONLINE ONLINE redhat214
ora.scan1.vip ora....ip.type ONLINE ONLINE redhat212
我們這里安裝完畢!!!
grid和oracle用戶都可以執行,在其中一個節點執行即可:
1、RAC監聽啟停:
$ srvctl status listener #檢查TNS listener的狀態
$ srvctl config listener -a #檢查TNS listener的配置
$ srvctl start listener #開啟監聽
$ srvctl stop listener #停掉監聽
$ srvctl stop listener -n redhat212 #停掉指定節點監聽
$ srvctl start listener -n redhat212 #啟動指定節點監聽
例子:
RAC啟動數據庫監聽,進入grid用戶來啟停端口
#su - grid
$ srvctl start|stop|status listener
2、RAC啟停數據庫:
srvctl status database -d RAC # 檢查數據庫的狀態
srvctl status instance -d RAC -i rac1 #檢查指定實例的狀態
srvctl start database -d orcl # 啟動數據庫
srvctl stop database -d orcl # 關閉數據庫
srvctl start instance -d orcl -i orcl1 # 啟動指定的實例
srvctl stop instance -d orcl -i orcl2 # 關閉指定實例
例子:在nodes1上關閉一個實例,分別查看兩個節點狀態
或下面方式
RAC啟動數據庫,進入oracle用戶
#su - oracle
$ sqlplus sys/**** as sysdba
SQL> select status from v$instance; //查看數據庫狀態
SQL>startup; //啟動數據庫
SQL>shutdown immediate; //停數據庫
ssh root 進入 192.168.1.212
su - oracle
source .bash_profile
sqlplus /nolog
connect /as sysdba
創建表空間:
SQL>CREATE SMALLFILE TABLESPACE "TEST" DATAFILE '+DATADB/ORCL/DATAFILE/test001.dbf' SIZE 1024M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
添加TEST表空間中的存儲test001.dbf文件在ASM的+DATADB/ORCL/DATAFILE/目錄下,初始大小為1G,自動500MB擴展不做限制。
增加表空間:
alter tablespace CP_TM add datafile '+DATADB/orcl/datafile/cp_tm_08.dbf' size 20480M; RAC方式給CP_TM表空間增加cp_tm_08.dbf數據文件大小為20G。
alter tablespace CP_TM add datafile +DATADB/orcl/datafile/cp_tm_09.dbf' size 10240M autoextend on next 50m maxsize 20480;
RAC增加表空間cp_tm_-09.dbf初始為10G,按50M增加最大到20G。
集群信息grid和oracle用戶都可以執行
10.1、數據庫與實例:
列出所有的配置數據庫
$ srvctl config database
檢查數據庫相關的信息 (-d參數后面是您server_name)
$ srvctl config database -d orcl -a
或
$ srvctl config database -d orcl -t
srvctl status database -d RAC # 檢查數據庫的狀態
srvctl status instance -d RAC -i rac1 #檢查指定實例的狀態
srvctl start database -d rac # 啟動數據庫
srvctl stop database -d rac # 關閉數據庫
srvctl start instance -d rac -i rac1 # 啟動指定的實例
srvctl stop instance -d rac -i rac2 # 關閉指定實例
ASM狀態
$ srvctl status asm
ASM配置
$ srvctl status asm -a
10.2、網絡相關的命令
TNS監聽器狀態以及配置
$ srvctl status listener #檢查TNS listener的狀態
$ srvctl config listener -a #檢查TNS listener的配置
$ srvctl start listener #開啟監聽
$ srvctl stop listener #停掉監聽
$ srvctl stop listener -n redhat212 #停掉指定節點監聽
$ srvctl start listener -n redhat212 #啟動指定節點監聽
SRVCTL的參數-n 實例節點名,不是實例sid
查看某個節點ASM信息
srvctl config listener -n node2
SCAN狀態以及配置
$ srvctl status scan
$ srvctl config scan
VIP各個節點的狀態以及配置
$ srvctl status vip -n rac1
$ srvctl status vip -n rac2
$ srvctl config vip -n rac1
$ srvctl config vip -n rac2
節點應用程序配置(VIP、GSD、ONS、監聽器)
$ srvctl config nodeapps -a -g-s -l
10.3、查看集群狀態(nodeapps節點應用程序,ASM實例,數據庫等)
$ crs_stat -t
狀態檢查也可以使用如下命令:
crsctl stat resource –t 或者 crsctl stat resource
這里還要強調一下11.2.0.1版本的一個bug,就是客戶端無法通過scan連接到數據庫解決方法如下:
[oracle@redhat212 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Wed Mar 19 11:29:58 2014
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string (DESCRIPTION=(ADDRESS_LIST=(AD
DRESS=(PROTOCOL=TCP)(HOST=redhat212
-vip)(PORT=1521))))
SQL> show parameter remot_listener;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
remote_dependencies_mode string TIMESTAMP
remote_listener string clusterscan:1521
remote_login_passwordfile string EXCLUSIVE
remote_os_authent boolean FALSE
remote_os_roles boolean FALSE
result_cache_remote_expiration integer 0
SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.216)(PORT = 1521))))' sid='orcl1';
System altered.
SQL> alter system set remote_listener='clusterscan:1521';
System altered.
SQL> alter system register;
System altered.
最后配置客戶端tnsname.ora文件指向scan listener
#tnsnames.ora.rac1 Network Configuration File: /u01/app/11.2.0/grid/network/admin/tnsnames.ora.rac1
#Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.216)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。