1. 分配給臨時(shí)文件系統(tǒng)的磁盤(pán)空間
臨時(shí)目錄中至少有1 GB的空間。Oracle建議2 GB或更多
2. 交換相對(duì)于RAM的空間分配
4 GB到16 GB之間:等于RAM的大小
超過(guò)16 GB:16 GB
3. 驗(yàn)證共享內(nèi)存(/dev/shm)是否已正確安裝且大小足夠
> SGA+PGA 或 =物理內(nèi)存*50%
ORACLE 12C ADG 之01-整體規(guī)劃
- 所需軟件介紹
| 序號(hào) | 類(lèi)型 | 內(nèi)容 |
|---|---|---|
| 1 | 數(shù)據(jù)庫(kù) | linuxx64_12201_database.zip |
| 2 | 集群軟件 | linuxx64_12201_grid_home.zip |
| 3 | 操作系統(tǒng) | CentOS-7-x86_64-Minimal-1708.iso |
| 4 | 虛擬機(jī)軟件 | VMware? Workstation 12 Pro 12.5.9 build-7535481 |
| 5 | 工具 | Xmanager Enterprise 5 |
| 6 | 工具 | rlwrap-0.36 (用于記錄sqlplus、rman等命令的歷史記錄) |
- IP地址規(guī)劃
從Oracle 11g開(kāi)始,共7個(gè)IP地址,2塊網(wǎng)卡,其中public、vip和scan都在同一個(gè)網(wǎng)段,private在另外網(wǎng)段,主機(jī)名不要包含下橫線,如:RAC_01是不允許的;通過(guò)執(zhí)行ifconfig -a檢查2個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)設(shè)備名字是否一致。另外,在安裝之前,公網(wǎng)、2個(gè)私網(wǎng)共6個(gè)IP可以ping通,其它(Virtual*2+SCAN*3)5個(gè)不能ping通才是正常的
| 主機(jī)名 | IP接口名稱(chēng) | 地址類(lèi)型 | IP 地址 | 注冊(cè)位置 |
|---|---|---|---|---|
| GNS01 | XAG01 | GNS | 192.168.40.110 | /etc/hosts |
| XAG01 | XAG01 | Public | 192.168.40.111 | /etc/hosts |
| XAG01 | XAG01-VIP | Virtual | 192.168.40.112 | /etc/hosts |
| XAG01 | XAG01-PRI 1 | Private | 10.0.20.111 | /etc/hosts |
| XAG01 | XAG01-PRI 2 | Private | 10.0.30.112 | /etc/hosts |
| XAG02 | XAG02 | Public | 192.168.40.121 | /etc/hosts |
| XAG02 | XAG02-VIP | Virtual | 192.168.40.122 | /etc/hosts |
| XAG02 | XAG02-PRI 1 | Private | 10.0.20.121 | /etc/hosts |
| XAG02 | XAG02-PRI 2 | Private | 10.0.30.122 | /etc/hosts |
| - | XAG-SCAN | SCAN | 192.168.40.131 | /etc/hosts |
| - | XAG-SCAN | SCAN | 192.168.40.132 | /etc/hosts |
| - | XAG-SCAN | SCAN | 192.168.40.133 | /etc/hosts |
- 操作系統(tǒng)本地磁盤(pán)分區(qū)規(guī)劃
| 序號(hào) | 分區(qū)名稱(chēng) | 大小 | 用途說(shuō)明 |
|---|---|---|---|
| 1 | /boot | 200MB | 引導(dǎo)分區(qū) |
| 2 | /tmp | 3G | 臨時(shí)空間 |
| 3 | /home | 3G | 所有用戶的home目錄 |
| 4 | swap | 10G | 交換分區(qū)(物理內(nèi)存小於8G則 *2 反之 同物理內(nèi)存 |
| 5 | / | 10G | 根分區(qū) |
| 6 | /u01 | 28G | oracle和grid的安裝目錄 |
| 序號(hào) | 分區(qū)名稱(chēng) | 大小 | 本機(jī)硬盤(pán)/共享存儲(chǔ) | 用途說(shuō)明 |
|---|---|---|---|---|
| 1 | /boot | 200MB | 本機(jī)硬盤(pán) | 引導(dǎo)分區(qū) |
| 2 | /tmp | 3G | 本機(jī)硬盤(pán) | 臨時(shí)空間 |
| 3 | /home | 3G | 本機(jī)硬盤(pán) | 所有用戶的home目錄 |
| 4 | swap | 64G | 本機(jī)硬盤(pán) | 交換分區(qū)=物理內(nèi)存64G |
| 5 | / | 10G | 本機(jī)硬盤(pán) | 根分區(qū) |
| 6 | /u01 | 220G | 本機(jī)硬盤(pán) | oracle和grid的安裝目錄 |
- 共享存儲(chǔ)與ASM磁盤(pán)組規(guī)劃
| 序號(hào) | 磁盤(pán)名稱(chēng) | ASM磁盤(pán)名稱(chēng) | 磁盤(pán)組名稱(chēng) | 大小 | 用途 |
|---|---|---|---|---|---|
| 1 | sdb | asm-diskb | OCR | 10G | OCR+VOTINGDISK |
| 4 | sdc | asm_diske | GIMR | 150G | GIMR |
| 2 | sdd | asm_diskc | DATA | 8T | data |
| 3 | sde | asm_diskd | FRA | 10G | 快速恢復(fù)區(qū) |
- 安裝基本工具(兩臺(tái))
[root@XAG02 network-scripts]# yum -y install nano vim wget curl net-tools lsof zip unzip
yum -y install perl autoconf
yum -y install autoconf
wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/Ledest:/misc/CentOS_7/x86_64/rlwrap-0.42-1.1.x86_64.rpm
or
[root@localhost src]# wget http://www.rpmfind.net/linux/epel/6/x86_64/Packages/r/rlwrap-0.42-1.el6.x86_64.rpm
rpm -ivh rlwrap-0.42-1.1.x86_64.rpm
or
rpm -ivh rlwrap-0.42-1.el6.x86_64.rpm
- 配置網(wǎng)卡
#XAG01上
[root@XAG01 network-scripts]# cat ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="ens33"
UUID="7b81bdac-0cf8-4962-9871-cef9a69de18d"
DEVICE="ens33"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR="192.168.40.111"
GATEWAY="192.168.40.2"
NETMASK="255.255.255.0"
DNS1="192.168.40.111"
[root@XAG01 network-scripts]# cat ifcfg-ens34
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens34
UUID=bbd84d11-8a9c-410c-b145-a993014c0156
DEVICE=ens34
ONBOOT=yes
BOOTPROTO=static
IPADDR="10.0.20.111"
GATEWAY="0.0.0.0"
NETMASK="255.255.255.0"
DNS1="192.168.40.111"
[root@XAG01 network-scripts]# cat ifcfg-ens35
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens35
UUID=252853c8-c1ca-4a93-8358-b25353d3f3e2
DEVICE=ens35
ONBOOT=yes
BOOTPROTO=static
IPADDR="10.0.30.112"
GATEWAY="0.0.0.0"
NETMASK="255.255.255.0"
DNS1="192.168.40.111"
[root@XAG01 network-scripts]# service network restart
Restarting network (via systemctl): [ OK ]
#XAG02上
[root@XAG02 network-scripts]# cat ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="ens33"
UUID="e5518019-0d2e-4e24-90fc-543bea0a67f0"
DEVICE="ens33"
ONBOOT="yes"
BOOTPROTO=static
IPADDR="192.168.40.121"
GATEWAY="192.168.40.2"
NETMASK="255.255.255.0"
DNS1="192.168.40.111"
[root@XAG02 network-scripts]# cat ifcfg-ens34
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens34
UUID=7c6b41a1-1941-4a9c-b9b7-5c98ac7ea658
DEVICE=ens34
ONBOOT=yes
BOOTPROTO=static
IPADDR="10.0.20.121"
GATEWAY="0.0.0.0"
NETMASK="255.255.255.0"
DNS1="192.168.40.111"
[root@XAG02 network-scripts]# cat ifcfg-ens35
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens35
UUID=4a6aa4b2-0fa8-490c-9f8b-1e4f02d709ab
DEVICE=ens35
ONBOOT=yes
BOOTPROTO=static
IPADDR="10.0.30.122"
GATEWAY="0.0.0.0"
NETMASK="255.255.255.0"
DNS1="192.168.40.111"
[root@XAG02 network-scripts]# service network restart
Restarting network (via systemctl): [ OK ]
- 配置主機(jī)名
#XAG01
[root@XAG01 network-scripts]# hostname
XAG01.MP.COM
[root@XAG01 network-scripts]# cat /etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
NOZEROCONF=yes
HOSTNAME=XAG01.MP.COM
[root@XAG01 network-scripts]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
#Public IP
192.168.40.111 XAG01.MP.COM
192.168.40.121 XAG02.MP.COM
#Private IP
10.0.20.111 XAG01-PRI1.MP.COM
10.0.30.112 XAG01-PRI2.MP.COM
10.0.20.121 XAG02-PRI1.MP.COM
10.0.30.122 XAG02-PRI2.MP.COM
#Virtual IP
192.168.40.112 XAG01-VIP.MP.COM
192.168.40.122 XAG02-VIP.MP.COM
#Scan IP
192.168.40.131 XAG-SCAN.MP.COM
192.168.40.132 XAG-SCAN.MP.COM
192.168.40.133 XAG-SCAN.MP.COM
#XAG02
[root@XAG02 network-scripts]# hostname
XAG02.MP.COM
[root@XAG02 network-scripts]# cat /etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
NOZEROCONF=yes
HOSTNAME=XAG02.MP.COM
[root@XAG02 network-scripts]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
#Public IP
192.168.40.111 XAG01.MP.COM
192.168.40.121 XAG02.MP.COM
#Private IP
10.0.20.111 XAG01-PRI1.MP.COM
10.0.30.112 XAG01-PRI2.MP.COM
10.0.20.121 XAG02-PRI1.MP.COM
10.0.30.122 XAG02-PRI2.MP.COM
#Virtual IP
192.168.40.112 XAG01-VIP.MP.COM
192.168.40.122 XAG02-VIP.MP.COM
#Scan IP
192.168.40.131 XAG-SCAN.MP.COM
192.168.40.132 XAG-SCAN.MP.COM
192.168.40.133 XAG-SCAN.MP.COM
- 修改防火墻
#安裝centos7選擇基本安裝,配置完網(wǎng)絡(luò)后首先要先關(guān)閉firewall:停止firewall
[root@XAG02 /]# systemctl stop firewalld.service
#禁止firewall開(kāi)機(jī)啟動(dòng)
[root@XAG02 /]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
#安裝iptables防火墻yum方式安裝iptables
[root@XAG02 /]# yum install iptables-services
#編輯防火墻配置文件
[root@elk-node2 ~]#vim /etc/sysconfig/iptables
#添加下面三句話到默認(rèn)的22端口這條規(guī)則的下面
[root@XAG02 /]#
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1525 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1158 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 161 -j ACCEPT
#最后重啟防火墻使配置生效
[root@XAG02 /]# systemctl restart iptables.service
#查看防火墻狀態(tài)
[root@XAG02 /]# systemctl status iptables.service
#設(shè)置防火墻開(kāi)機(jī)啟動(dòng)
[root@XAG02 /]# systemctl enable iptables.service
- 關(guān)閉SELINUX 編輯selinux的配置文件
[root@XAG02 /]# vim /etc/selinux/config
#注釋掉下面兩行
#SELINUX=enforcing
#SELINUXTYPE=targeted
#增加一行
SELINUX=disabled
#重啟系統(tǒng)
[root@elk-node2 ~]#shutdown -r now
- 安裝oracle 12c 依賴包
[root@XAG143 java]#
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp –y
yum install binutils gcc gcc-c++ compat-libstdc++-33 glibc glibc.i686 glibc-devel ksh libgcc.i686 libstdc++-devel libaio libaio.i686 libaio-devel libaio-devel.i686 libXtst libXtst.i686 libX11 libX11.i686 libXau libXau.i686 libxcb libxcb.i686 libXi libXi.i686 make sysstat compat-libcap1 –y
yum install binutils compat-libcap1 compat-libstdc++-33 e2fsprogs e2fsprogs-libs glibc glibc-devel ksh libaio-devel libaio libgcc libstdc++ libstdc++-devel libxcb libX11 libXau libXi libXtst make net-tools nfs-utils smartmontools sysstat –y
[root@XAG143 java]# yum -y install smartmontools
[root@XAG143 java]# yum -y install libXrender
#安裝cvuqdisk(需要分別在2個(gè)節(jié)點(diǎn)上執(zhí)行),該步驟理論上可以在grid軟件安裝時(shí)自動(dòng)處理
# cd /u01/app/12.2.0/grid/cv/rpm
# export CVUQDISK_GRP=asmadmin
# rpm -ivh cvuqdisk-1.0.10-1.rpm
- 修改系統(tǒng)參數(shù)
[root@XAG143 java]# vim /etc/security/limits.conf
grid soft nofile 16384
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
grid soft nproc 16384
grid hard nproc 16384
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 16384
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock 3145728
oracle hard memlock 3145728
- sysctl.conf 配置
#kernel.shmall 配置方法如下
#通過(guò)getconf獲取分頁(yè)的大小,用來(lái)計(jì)算SHMALL的合理設(shè)置值:
[root@fdb2 ~]# getconf PAGE_SIZE
4096
#查詢物理內(nèi)存大小
[root@fdb2 ~]# grep MemTotal /proc/meminfo
MemTotal: 4895768 kB
SQL> select 4895768*1024/4096 as shmall from dual;
shmall
----------
1223942
SQL> select 4895768*1024*0.8 as shmmax from dual;
SHMMAX
----------
4010613145
-----------------------------------
[root@XAG143 java]# vim /etc/sysctl.conf
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1223942
kernel.shmmax = 4010613145
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
[root@XAG143 java]# vim /etc/pam.d/login
#add
session required pam_limits.so
#修改ulimit:
[root@XAG143 java]# vim /etc/profile
#添加oracle 用戶 limit:
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536a
else
ulimit -u 16384 -n 65536
fi
fi
[root@XAG143 java]# source /etc/profile
- 配置NTP
可以采用操作系統(tǒng)的NTP服務(wù),也可以使用Oracle自帶的服務(wù)ctss,如果ntp沒(méi)有啟用,Oracle會(huì)自動(dòng)啟用自己的ctssd進(jìn)程。
從oracle 11gR2 RAC開(kāi)始使用Cluster Time Synchronization Service(CTSS)同步各節(jié)點(diǎn)的時(shí)間,當(dāng)安裝程序發(fā)現(xiàn)NTP協(xié)議處于非活動(dòng)狀態(tài)時(shí),安裝集群時(shí)間同步服務(wù)將以活動(dòng)模式自動(dòng)進(jìn)行安裝并通過(guò)所有節(jié)點(diǎn)的時(shí)間。如果發(fā)現(xiàn)配置了 NTP,則以觀察者模式啟動(dòng)集群時(shí)間同步服務(wù),Oracle Clusterware 不會(huì)在集群中進(jìn)行活動(dòng)的時(shí)間同步。
root 用戶雙節(jié)點(diǎn)運(yùn)行:
/sbin/service ntpd stop
mv /etc/ntp.conf /etc/ntp.conf.bak
service ntpd status
chkconfig ntpd off
# service ntpd stop
# chkconfig ntpd off
# mv /etc/ntp.conf /etc/ntp.conf.orig
# rm /var/run/ntpd.pid
- 配置/dev/shm大小
vim /etc/fstab
修改/dev/shm的大小
修改/etc/fstab的這行: 默認(rèn)的:
tmpfs /dev/shm tmpfs defaults 0 0
改成:
tmpfs /dev/shm tmpfs defaults,size=5G 0 0
size參數(shù)也可以用G作單位:size=1G。
重新mount /dev/shm使之生效:
# mount -o remount /dev/shm
馬上可以用"df -h"命令檢查變化。
- 檢查并卸載OpenJDK & 安裝JDK 1.8
[root@XAG143 ~]# java -version
-bash: java: command not found
[root@XAG143 ~]# rpm -qa | grep java
#存在則卸載,命令: rpm -e --nodeps 包名
#安裝jdk
[root@XAG143 ~]# mkdir /u01/java -p
[root@XAG143 java]# cd /u01/java/
[root@XAG143 java]# ls
jdk1.8.0_181 jdk-8u181-linux-x64.tar.gz
[root@XAG143 java]# tar -zxvf jdk-8u181-linux-x64.tar.gz
#設(shè)置環(huán)境變量
[root@XAG143 java]# vim /etc/profile
在profile中添加如下內(nèi)容:
#set java environment
JAVA_HOME=/u01/java/jdk1.8.0_181
JRE_HOME=/u01/java/jdk1.8.0_181/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
#讓修改生效:
[root@XAG143 java]# source /etc/profile
#輸入java -version查看一下jdk版本信息:
[root@XAG143 java]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
- 創(chuàng)建組及用戶
#創(chuàng)建組
groupadd -g 1000 oinstall
groupadd -g 1001 dba
groupadd -g 1002 oper
groupadd -g 1003 asmadmin
groupadd -g 1004 asmdba
groupadd -g 1005 asmoper
#創(chuàng)建grid和oracle用戶:
useradd -u 1000 -g oinstall -G asmadmin,asmdba,asmoper,dba,oper -d /home/grid -m grid
useradd -u 1001 -g oinstall -G dba,asmdba,oper -d /home/oracle -m oracle
--useradd -u 1000 -g oinstall -G dba,asmdba,oper oracle
--useradd -u 1001 -g oinstall -G asmadmin,asmdba,asmoper,dba grid
#為oracle和grid用戶設(shè)密碼:
passwd oracle
passwd grid
#設(shè)置密碼永不過(guò)期
chage -M -1 oracle
chage -M -1 grid
chage -l oracle
chage -l grid
#檢查
id grid
id oracle
- 創(chuàng)建安裝目錄
mkdir -p /u01/setup
mkdir -p /u01/app/oracle
mkdir -p /u01/app/grid
mkdir -p /u01/app/12.2.0/grid
mkdir -p /u01/app/oracle/product/12.2.0/db_1
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/app/12.2.0
chown -R oracle:oinstall /u01/app/oracle
chown -R oracle:oinstall /u01/setup
chmod -R 775 /u01
chown -R grid:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory
- 配置grid和oracle用戶的環(huán)境變量文件(兩臺(tái)都要)
[root@XAG01 java]# su - oracle
[oracle@XAG01 ~]$ vim .bash_profile
[oracle@XAG01 ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
umask 022
export DISPLAY=10.0.0.85:0.0
export ORACLE_SID=MYRAC11
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export TMP=/tmp
export TMPDIR=$TMP
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export EDITOR=vi
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_PATH=.:$ORACLE_BASE/dba_scripts/sql:$ORACLE_HOME/rdbms/admin
export SQLPATH=$ORACLE_HOME/sqlplus/admin
export JAVA_HOME=/u01/java/jdk1.8.0_181
#export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" --AL32UTF8 SELECT userenv('LANGUAGE') db_NLS_LANG FROM DUAL;
export NLS_LANG="American_America.AL32UTF8"
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias asmcmd='rlwrap asmcmd'
[grid@XAG01 ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
umask 022
export DISPLAY=10.0.0.85:0.0
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/12.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export PATH=$ORACLE_HOME/bin:$PATH
alias sqlplus='rlwrap sqlplus'
alias asmcmd='rlwrap asmcmd'
-----------------------------------------------------------------
# 注意:另外一臺(tái)數(shù)據(jù)庫(kù)實(shí)例名須做相應(yīng)修改:
Oracle:export ORACLE_SID=MYRAC12
grid:export ORACLE_SID=+ASM2
- 添加共享磁盤(pán)
C:\>cd C:\Program Files (x86)\VMware\VMware Workstation
vmware-vdiskmanager.exe -c -s 6g -a lsilogic -t 2 "F:\ORACLEVM\RAC\sharedisk\ocr_vote.vmdk"
vmware-vdiskmanager.exe -c -s 20g -a lsilogic -t 2 "F:\ORACLEVM\RAC\sharedisk\data.vmdk"
vmware-vdiskmanager.exe -c -s 10g -a lsilogic -t 2 "F:\ORACLEVM\RAC\sharedisk\fra.vmdk"
vmware-vdiskmanager.exe -c -s 40g -a lsilogic -t 2 "F:\ORACLEVM\RAC\sharedisk\gimr.vmdk"
#修改配置文件(兩臺(tái))
#如果報(bào)有的參數(shù)不存在的錯(cuò)誤,那么請(qǐng)將虛擬機(jī)的兼容性設(shè)置到Workstation 9.0
#關(guān)閉兩臺(tái)虛擬機(jī),用記事本打開(kāi) 虛擬機(jī)名字 .vmx ,即打開(kāi)配置文件,2個(gè)節(jié)點(diǎn)都需要修改。添加以下內(nèi)容,其中,scsix:y 表示第x個(gè)總線上的第y個(gè)設(shè)備:
#shared disks configure
disk.EnableUUID="TRUE"
disk.locking = "FALSE"
scsi1.shared = "TRUE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize= "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsil.sharedBus = "VIRTUAL"
scsi1:0.present = "TRUE"
scsi1:0.mode = "independent-persistent"
scsi1:0.fileName = "F:\ORACLEVM\RAC\sharedisk\ocr_vote.vmdk"
scsi1:0.deviceType = "disk"
scsi1:0.redo = ""
scsi1:1.present = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.fileName = "F:\ORACLEVM\RAC\sharedisk\data.vmdk"
scsi1:1.deviceType = "disk"
scsi1:1.redo = ""
scsi1:2.present = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:2.fileName = "F:\ORACLEVM\RAC\sharedisk\fra.vmdk"
scsi1:2.deviceType = "disk"
scsi1:2.redo = ""
scsi1:3.present = "TRUE"
scsi1:3.mode = "independent-persistent"
scsi1:3.fileName = "F:\ORACLEVM\RAC\sharedisk\gimr.vmdk"
scsi1:3.deviceType = "disk"
scsi1:3.redo = ""
- 重新打開(kāi)VMware Workstation
關(guān)閉 VMware Workstation 軟件重新打開(kāi),此時(shí)看到共享磁盤(pán)正確加載則配置正確,這里尤其注意第二個(gè)節(jié)點(diǎn),2個(gè)節(jié)點(diǎn)的硬盤(pán)配置和網(wǎng)絡(luò)適配器的配置應(yīng)該是一樣的,若不一樣請(qǐng)檢查配置。
#XAG01
[root@XAG01 ~]# fdisk -l | grep /dev/sd
Disk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors
/dev/sda1 * 2048 391167 194560 83 Linux
/dev/sda2 391168 104857599 52233216 8e Linux LVM
Disk /dev/sdb: 6442 MB, 6442450944 bytes, 12582912 sectors
Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors
Disk /dev/sdd: 10.7 GB, 10737418240 bytes, 20971520 sectors
[root@XAG01 ~]# fdisk -l | grep "Disk /dev/sd"
Disk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors
Disk /dev/sdb: 6442 MB, 6442450944 bytes, 12582912 sectors
Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors
Disk /dev/sdd: 10.7 GB, 10737418240 bytes, 20971520 sectors
#XAG02
[root@XAG02 ~]# fdisk -l | grep /dev/sd
Disk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors
/dev/sda1 * 2048 391167 194560 83 Linux
/dev/sda2 391168 104857599 52233216 8e Linux LVM
Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors
Disk /dev/sdd: 10.7 GB, 10737418240 bytes, 20971520 sectors
Disk /dev/sdb: 6442 MB, 6442450944 bytes, 12582912 sectors
[root@XAG02 ~]# fdisk -l | grep "Disk /dev/sd"
Disk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors
Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors
Disk /dev/sdd: 10.7 GB, 10737418240 bytes, 20971520 sectors
Disk /dev/sdb: 6442 MB, 6442450944 bytes, 12582912 sectors
- 設(shè)置共享磁盤(pán)
a. 配置udev綁定的scsi_id
[root@XAG01 ~]# cat /etc/issue
\S
Kernel \r on an \m
[root@XAG01 ~]# find / -name scsi_id
/usr/lib/udev/scsi_id
#XAG01
[root@XAG01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdb
36000c29d9a7b688763da26fb129281d1
[root@XAG01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdc
36000c29466d4a3f445207f6f1e92dc26
[root@XAG01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdd
36000c297d10bed975399e41521217083
[root@XAG01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sde
36000c29827f80a6688f28aac35343349
#XAG02
[root@XAG02 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdb
36000c29d9a7b688763da26fb129281d1
[root@XAG02 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdc
36000c29466d4a3f445207f6f1e92dc26
[root@XAG02 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdd
36000c297d10bed975399e41521217083
[root@XAG02 ~]# /usr/lib/udev/scsi_id -g -u /dev/sde
36000c29827f80a6688f28aac35343349
#2個(gè)節(jié)點(diǎn)獲取到的值應(yīng)該是一樣的。
b. 創(chuàng)建并配置udev rules文件(兩臺(tái)都要)-- 共享存儲(chǔ)LUN的賦權(quán)
[root@XAG01 /]#
for i in b c d e;
do
echo "KERNEL==\"sd*\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\",SYMLINK+=\"asm-disk$i\",OWNER=\"grid\",GROUP=\"asmadmin\",MODE=\"0660\""
done
------------------------------------------------------------------------------------------------------------
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29d9a7b688763da26fb129281d1",SYMLINK+="asm-diskb",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29466d4a3f445207f6f1e92dc26",SYMLINK+="asm-diskc",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c297d10bed975399e41521217083",SYMLINK+="asm-diskd",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29827f80a6688f28aac35343349",SYMLINK+="asm-diske",OWNER="grid",GROUP="asmadmin",MODE="0660"
------------------------------------------------------------------------------------------------------------
#編輯vim /etc/udev/rules.d/99-oracle-asmdevices.rules,加入上邊的腳本生成的內(nèi)容。
[root@XAG01 ~]# vim /etc/udev/rules.d/99-oracle-asmdevices.rules
[root@XAG01 /]# cat /etc/udev/rules.d/99-oracle-asmdevices.rules
------------------------------------------------------------------------------------------------------------
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29d9a7b688763da26fb129281d1",SYMLINK+="asm-diskb",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29466d4a3f445207f6f1e92dc26",SYMLINK+="asm-diskc",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c297d10bed975399e41521217083",SYMLINK+="asm-diskd",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29827f80a6688f28aac35343349",SYMLINK+="asm-diske",OWNER="grid",GROUP="asmadmin",MODE="0660"
------------------------------------------------------------------------------------------------------------
#fdisk 格式化所有磁盤(pán)(不需要做,如已有分區(qū)則刪除)
重新加載分區(qū)
/sbin/partprobe /dev/sdb
/sbin/partprobe /dev/sdc
/sbin/partprobe /dev/sdd
/sbin/partprobe /dev/sde
用udevadm進(jìn)行測(cè)試
udevadm test /sys/block/sdb
udevadm info --query=all --path=/sys/block/sdb
udevadm info --query=all --name=asm-diskb
udevadm test /sys/block/sdc
udevadm info --query=all --path=/sys/block/sdc
udevadm info --query=all --name=asm-diskc
udevadm test /sys/block/sdd
udevadm info --query=all --path=/sys/block/sdd
udevadm info --query=all --name=asm-diskd
udevadm test /sys/block/sde
udevadm info --query=all --path=/sys/block/sde
udevadm info --query=all --name=asm-diske
udevadm info --query=all --name=asm-diskb
udevadm info --query=all --name=asm-diskc
udevadm info --query=all --name=asm-diskd
udevadm info --query=all --name=asm-diske
#查看是否配置結(jié)果:
[root@XAG01 ~]# ll /dev/asm*
lrwxrwxrwx 1 root root 3 Dec 17 09:36 /dev/asm-diskb -> sdb
lrwxrwxrwx 1 root root 3 Dec 7 19:28 /dev/asm-diskc -> sdc
lrwxrwxrwx 1 root root 3 Dec 7 19:28 /dev/asm-diskd -> sdd
lrwxrwxrwx 1 root root 3 Jan 18 09:49 /dev/asm-diske -> sde
配置互信(方法:使用sshUserSetup.sh快速創(chuàng)建互信)
下面兩條命令在一個(gè)節(jié)點(diǎn)上執(zhí)行即可(可以在root用戶下執(zhí)行):
[root@XAG01 scripts]# pwd
/u01/app/12.2.0/grid/oui/prov/resources/scripts
root@XAG01 scripts]# ./sshUserSetup.sh -user grid -hosts "XAG02 XAG01" -advanced -exverify –confirm
root@XAG01 scripts]# ./sshUserSetup.sh -user oracle -hosts "XAG02 XAG01" -advanced -exverify -confirm
[grid@XAG01 grid]$ pwd
/u01/app/12.2.0/grid
[grid@XAG01 grid]$ ls
linuxx64_12201_grid_home.zip
[grid@XAG01 grid]$ unzip linuxx64_12201_grid_home.zip
檢測(cè)安裝環(huán)境
--全面檢查:
[grid@XAG01 grid]$ /u01/app/12.2.0/grid/runcluvfy.sh stage -pre crsinst -n xag01,xag02 -verbose
[grid@XAG01 grid]$ ./runcluvfy.sh stage -pre crsinst -n xag01,xag02 -fixup -verbose
檢查網(wǎng)絡(luò)和等效性
[grid@XAG01 grid]$ /u01/app/12.2.0/grid/runcluvfy.sh comp nodecon -n xag01,xag02 -verbose
開(kāi)始安裝 GI(單節(jié)點(diǎn)上)
[grid@XAG01 grid]$ ./gridSetup.sh
選擇 Configuration Oracle Grid Infrastructure for a New Cluster
選擇 Configuration an Oracle Standaone Cluster
SCAN Name: XAG-SCAN [/etc/hosts 或dns 中定義的名稱(chēng)]
在cluster node informat 界面 點(diǎn)擊 add 增加第2臺(tái)機(jī)器【節(jié)點(diǎn)名和vip名必須小寫(xiě)】
在specify network interface usage 界面 use for 中 分別選擇 public、asm & privete、private
在storage option information 中選擇 configuration asm using block devices
在Create ASM DISK GROUP 界面上 Disk group name:OCR,redundancy:Normal,
change discovery path:/dev/asm*
1:Disk GROUP NAME:OCR ,redundancy:normal , 選擇 3個(gè) asm-orc* 盤(pán)
2:Disk GROUP NAME:MGMT ,redundancy:normal , 選擇 3個(gè) asm-mgmt* 盤(pán)
asm password : xag123
執(zhí)行root腳本,先第一個(gè)腳本(兩節(jié)點(diǎn)),后第二個(gè)腳本。
root@XAG01 ~]# /u01/app/oraInventory/orainstRoot.sh
root@XAG02 ~]# /u01/app/oraInventory/orainstRoot.sh
root@XAG01 ~]# /u01/app/12.2.0/grid/root.sh
root@XAG02 ~]# /u01/app/12.2.0/grid/root.sh
安裝DB軟件
[oracle@xag02 setup]$ unzip linuxx64_12201_database.zip
[oracle@xag02 setup]$ cd database/
[oracle@xag02 database]$ ls
install response rpm runInstaller sshsetup stage welcome.html
[oracle@xag02 database]$ ./runInstaller
選擇 install database software only
選擇 oracle real application clusters database installion
創(chuàng)建ASM磁盤(pán)組
#asmca創(chuàng)建ASM磁盤(pán)組[grid] --新建DATA、FRA 區(qū)域
[grid@xag02 grid]$ asmca
創(chuàng)建實(shí)例
[oracle@xag02 database]$ dbca
選擇 create database
選擇 advanced configuration
database type: Oracle Real Appliction Cluseters (RAC) database;
configuration type: Admin Managed
globa database name:MYRAC1
sid prefie: MYRAC1
檢查節(jié)點(diǎn)詳細(xì)資源情況
[grid@xag01 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
ONLINE ONLINE xag01 STABLE
ONLINE ONLINE xag02 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE xag01 STABLE
ONLINE ONLINE xag02 STABLE
ora.MGMT.dg
ONLINE ONLINE xag01 STABLE
ONLINE ONLINE xag02 STABLE
ora.OCR.dg
ONLINE ONLINE xag01 STABLE
ONLINE ONLINE xag02 STABLE
ora.chad
ONLINE ONLINE xag01 STABLE
ONLINE ONLINE xag02 STABLE
ora.net1.network
ONLINE ONLINE xag01 STABLE
ONLINE ONLINE xag02 STABLE
ora.ons
ONLINE ONLINE xag01 STABLE
ONLINE ONLINE xag02 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE xag01 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE xag02 STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE xag02 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE xag02 169.254.65.33 10.1.0
.117 10.2.0.117,STAB
LE
ora.asm
1 ONLINE ONLINE xag02 Started,STABLE
2 ONLINE ONLINE xag01 Started,STABLE
3 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE xag02 STABLE
ora.mgmtdb
1 ONLINE ONLINE xag02 Open,STABLE
ora.qosmserver
1 ONLINE ONLINE xag02 STABLE
ora.scan1.vip
1 ONLINE ONLINE xag01 STABLE
ora.scan2.vip
1 ONLINE ONLINE xag02 STABLE
ora.scan3.vip
1 ONLINE ONLINE xag02 STABLE
ora.xag01.vip
1 ONLINE ONLINE xag01 STABLE
ora.xag02.vip
1 ONLINE ONLINE xag02 STABLE
--------------------------------------------------------------------------------
驗(yàn)證crsctl的狀態(tài) crsctl stat res -t -init
[grid@xag01 ~]$ crsctl stat res -t -init
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.asm
1 ONLINE ONLINE xag01 STABLE
ora.cluster_interconnect.haip
1 ONLINE ONLINE xag01 STABLE
ora.crf
1 ONLINE ONLINE xag01 STABLE
ora.crsd
1 ONLINE ONLINE xag01 STABLE
ora.cssd
1 ONLINE ONLINE xag01 STABLE
ora.cssdmonitor
1 ONLINE ONLINE xag01 STABLE
ora.ctssd
1 ONLINE ONLINE xag01 ACTIVE:0,STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.evmd
1 ONLINE ONLINE xag01 STABLE
ora.gipcd
1 ONLINE ONLINE xag01 STABLE
ora.gpnpd
1 ONLINE ONLINE xag01 STABLE
ora.mdnsd
1 ONLINE ONLINE xag01 STABLE
ora.storage
1 ONLINE ONLINE xag01 STABLE
--------------------------------------------------------------------------------
[grid@xag01 ~]$ crsctl check cluster
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[grid@xag01 ~]$ srvctl status nodeapps
VIP 10.0.28.116 is enabled
VIP 10.0.28.116 is running on node: xag01
VIP 10.0.28.118 is enabled
VIP 10.0.28.118 is running on node: xag02
Network is enabled
Network is running on node: xag02
Network is running on node: xag01
ONS is enabled
ONS daemon is running on node: xag02
ONS daemon is running on node: xag01
[grid@xag01 ~]$ srvctl config nodeapps
Network 1 exists
Subnet IPv4: 10.0.0.0/255.255.0.0/eno1, static
Subnet IPv6:
Ping Targets:
Network is enabled
Network is individually enabled on nodes:
Network is individually disabled on nodes:
VIP exists: network number 1, hosting node xag01
VIP Name: xag01-vip.mp.com
VIP IPv4 Address: 10.0.28.116
VIP IPv6 Address:
VIP is enabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
VIP exists: network number 1, hosting node xag02
VIP Name: xag02-vip.mp.com
VIP IPv4 Address: 10.0.28.118
VIP IPv6 Address:
VIP is enabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
ONS exists: Local port 6100, remote port 6200, EM port 2016, Uses SSL true
ONS is enabled
ONS is individually enabled on nodes:
ONS is individually disabled on nodes:
[grid@xag01 ~]$ srvctl status asm
ASM is running on xag01,xag02
[grid@xag01 ~]$ srvctl config asm -a
ASM home: <CRS home>
Password file: +OCR/orapwASM
Backup of Password file:
ASM listener: LISTENER
ASM is enabled.
ASM is individually enabled on nodes:
ASM is individually disabled on nodes:
ASM instance count: 3
Cluster ASM listener: ASMNET1LSNR_ASM
[grid@xag01 ~]$ srvctl config listener -a
Name: LISTENER
Type: Database Listener
Network: 1, Owner: grid
Home: <CRS home>
/u01/app/12.2.0/grid on node(s) xag01,xag02
End points: TCP:1521
Listener is enabled.
Listener is individually enabled on nodes:
Listener is individually disabled on nodes:
[grid@xag01 ~]$ srvctl config nodeapps -a -s -l
Warning:-listener option has been deprecated and will be ignored.
Network 1 exists
Subnet IPv4: 10.0.0.0/255.255.0.0/eno1, static
Subnet IPv6:
Ping Targets:
Network is enabled
Network is individually enabled on nodes:
Network is individually disabled on nodes:
VIP exists: network number 1, hosting node xag01
VIP Name: xag01-vip.mp.com
VIP IPv4 Address: 10.0.28.116
VIP IPv6 Address:
VIP is enabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
VIP exists: network number 1, hosting node xag02
VIP Name: xag02-vip.mp.com
VIP IPv4 Address: 10.0.28.118
VIP IPv6 Address:
VIP is enabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
ONS exists: Local port 6100, remote port 6200, EM port 2016, Uses SSL true
ONS is enabled
ONS is individually enabled on nodes:
ONS is individually disabled on nodes:
Name: LISTENER
Type: Database Listener
Network: 1, Owner: grid
Home: <CRS home>
/u01/app/12.2.0/grid on node(s) xag01,xag02
End points: TCP:1521
Listener is enabled.
Listener is individually enabled on nodes:
Listener is individually disabled on nodes:
[grid@xag01 ~]$ srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node xag01
SCAN VIP scan2 is enabled
SCAN VIP scan2 is running on node xag02
SCAN VIP scan3 is enabled
SCAN VIP scan3 is running on node xag02
[grid@xag01 ~]$ cluvfy comp clocksync -verbose
Verifying Clock Synchronization ...
Node Name Status
------------------------------------ ------------------------
xag01 passed
Node Name State
------------------------------------ ------------------------
xag01 Active
Node Name Time Offset Status
------------ ------------------------ ------------------------
xag01 0.0 passed
Verifying Clock Synchronization ...PASSED
Verification of Clock Synchronization across the cluster nodes was successful.
CVU operation performed: Clock Synchronization across the cluster nodes
Date: Apr 8, 2019 2:37:35 PM
CVU home: /u01/app/12.2.0/grid/
User: grid
-------------------------------------------------------------------------------------------------
[grid@xag01 ~]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....SM.lsnr ora....er.type ONLINE ONLINE xag01
ora....ER.lsnr ora....er.type ONLINE ONLINE xag01
ora....AF.lsnr ora....er.type OFFLINE OFFLINE
ora....N1.lsnr ora....er.type ONLINE ONLINE xag01
ora....N2.lsnr ora....er.type ONLINE ONLINE xag02
ora....N3.lsnr ora....er.type ONLINE ONLINE xag02
ora.MGMT.dg ora....up.type ONLINE ONLINE xag01
ora.MGMTLSNR ora....nr.type ONLINE ONLINE xag02
ora.OCR.dg ora....up.type ONLINE ONLINE xag01
ora.asm ora.asm.type ONLINE ONLINE xag02
ora.chad ora.chad.type ONLINE ONLINE xag01
ora.cvu ora.cvu.type ONLINE ONLINE xag02
ora.mgmtdb ora....db.type ONLINE ONLINE xag02
ora....network ora....rk.type ONLINE ONLINE xag01
ora.ons ora.ons.type ONLINE ONLINE xag01
ora.qosmserver ora....er.type ONLINE ONLINE xag02
ora.scan1.vip ora....ip.type ONLINE ONLINE xag01
ora.scan2.vip ora....ip.type ONLINE ONLINE xag02
ora.scan3.vip ora....ip.type ONLINE ONLINE xag02
ora....01.lsnr application ONLINE ONLINE xag01
ora.xag01.ons application ONLINE ONLINE xag01
ora.xag01.vip ora....t1.type ONLINE ONLINE xag01
ora....02.lsnr application ONLINE ONLINE xag02
ora.xag02.ons application ONLINE ONLINE xag02
ora.xag02.vip ora....t1.type ONLINE ONLINE xag02
檢查集群狀態(tài)
[grid@xag01 ~]$ crsctl check cluster -all
**************************************************************
xag01:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************
xag02:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************
檢查數(shù)據(jù)庫(kù)(安裝數(shù)據(jù)庫(kù)后)
[grid@xag02 grid]$ srvctl config database
MYRAC1
[grid@xag02 grid]$ srvctl status database -d MYRAC1
Instance MYRAC11 is running on node xag02
Instance MYRAC12 is running on node xag01
[grid@xag02 grid]$ srvctl status database -d MYRAC1 -f -v
Instance MYRAC11 is running on node xag02. Instance status: Open.
Instance MYRAC12 is running on node xag01. Instance status: Open.
[grid@xag02 grid]$ srvctl config database -d MYRAC1 -a
Database unique name: MYRAC1
Database name: MYRAC1
Oracle home: /u01/app/oracle/product/12.2.0/db_1
Oracle user: oracle
Spfile: +DATA/MYRAC1/PARAMETERFILE/spfile.272.1005064573
Password file: +DATA/MYRAC1/PASSWORD/pwdmyrac1.256.1005064115
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: FRA,DATA
Mount point paths:
Services:
Type: RAC
Start concurrency:
Stop concurrency:
Database is enabled
Database is individually enabled on nodes:
Database is individually disabled on nodes:
OSDBA group: dba
OSOPER group: oper
Database instances: MYRAC11,MYRAC12
Configured nodes: xag02,xag01
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed
[grid@xag02 grid]$ srvctl config vip -n xag02
VIP exists: network number 1, hosting node xag02
VIP Name: xag02-vip.mp.com
VIP IPv4 Address: 10.0.28.118
VIP IPv6 Address:
VIP is enabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
[grid@xag02 grid]$
[grid@xag02 grid]$
[grid@xag02 grid]$ srvctl config vip -n xag01
VIP exists: network number 1, hosting node xag01
VIP Name: xag01-vip.mp.com
VIP IPv4 Address: 10.0.28.116
VIP IPv6 Address:
VIP is enabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
[grid@XAG01 ~]$ asmcmd
ASMCMD> pwd
+
ASMCMD> ls
DATA/
FRA/
MGMT/
OCR/
ASMCMD> cd DATA
ASMCMD> pwd
+DATA
#查詢節(jié)點(diǎn)
[grid@xag02 grid]$ olsnodes -s
xag02 Active
xag01 Active
#查看群集的名稱(chēng)
[grid@xag02 grid]$ cemutlo -n
xag-cluster
#查詢?nèi)杭癄顟B(tài)
[grid@xag02 grid]$ srvctl status nodeapps
VIP 10.0.28.116 is enabled
VIP 10.0.28.116 is running on node: xag01
VIP 10.0.28.118 is enabled
VIP 10.0.28.118 is running on node: xag02
Network is enabled
Network is running on node: xag02
Network is running on node: xag01
ONS is enabled
ONS daemon is running on node: xag02
ONS daemon is running on node: xag01
#檢查集群中資源的狀態(tài)
[grid@xag02 grid]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
ONLINE ONLINE xag01 STABLE
ONLINE ONLINE xag02 STABLE
ora.DATA.dg
ONLINE ONLINE xag01 STABLE
ONLINE ONLINE xag02 STABLE
ora.FRA.dg
ONLINE ONLINE xag01 STABLE
ONLINE ONLINE xag02 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE xag01 STABLE
ONLINE ONLINE xag02 STABLE
ora.MGMT.dg
ONLINE ONLINE xag01 STABLE
ONLINE ONLINE xag02 STABLE
ora.OCR.dg
ONLINE ONLINE xag01 STABLE
ONLINE ONLINE xag02 STABLE
ora.chad
ONLINE ONLINE xag01 STABLE
ONLINE ONLINE xag02 STABLE
ora.net1.network
ONLINE ONLINE xag01 STABLE
ONLINE ONLINE xag02 STABLE
ora.ons
ONLINE ONLINE xag01 STABLE
ONLINE ONLINE xag02 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE xag01 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE xag02 STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE xag02 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE xag02 169.254.65.33 10.1.0
.117 10.2.0.117,STAB
LE
ora.asm
1 ONLINE ONLINE xag02 Started,STABLE
2 ONLINE ONLINE xag01 Started,STABLE
3 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE xag02 STABLE
ora.mgmtdb
1 ONLINE ONLINE xag02 Open,STABLE
ora.myrac1.db
1 ONLINE ONLINE xag02 Open,HOME=/u01/app/o
racle/product/12.2.0
/db_1,STABLE
2 ONLINE ONLINE xag01 Open,HOME=/u01/app/o
racle/product/12.2.0
/db_1,STABLE
ora.qosmserver
1 ONLINE ONLINE xag02 STABLE
ora.scan1.vip
1 ONLINE ONLINE xag01 STABLE
ora.scan2.vip
1 ONLINE ONLINE xag02 STABLE
ora.scan3.vip
1 ONLINE ONLINE xag02 STABLE
ora.xag01.vip
1 ONLINE ONLINE xag01 STABLE
ora.xag02.vip
1 ONLINE ONLINE xag02 STABLE
--------------------------------------------------------------------------------
#節(jié)點(diǎn)應(yīng)用程序狀態(tài)
[grid@xag02 grid]$ srvctl status nodeapps
VIP 10.0.28.116 is enabled
VIP 10.0.28.116 is running on node: xag01
VIP 10.0.28.118 is enabled
VIP 10.0.28.118 is running on node: xag02
Network is enabled
Network is running on node: xag02
Network is running on node: xag01
ONS is enabled
ONS daemon is running on node: xag02
ONS daemon is running on node: xag01
#ASM查詢狀態(tài)查看
[grid@xag02 grid]$ srvctl status asm
ASM is running on xag01,xag02
[grid@xag02 grid]$ srvctl status asm -a
ASM is running on xag01,xag02
ASM is enabled.
ASM instance +ASM1 is running on node xag02
Number of connected clients: 3
Client names: -MGMTDB:_mgmtdb:xag-cluster MYRAC11:MYRAC1:xag-cluster xag02.mp.com:_OCR:xag-cluster
ASM instance +ASM2 is running on node xag01
Number of connected clients: 2
Client names: MYRAC12:MYRAC1:xag-cluster xag01.mp.com:_OCR:xag-cluster
#查看asm配置
[grid@xag02 grid]$ srvctl config asm -a
ASM home: <CRS home>
Password file: +OCR/orapwASM
Backup of Password file:
ASM listener: LISTENER
ASM is enabled.
ASM is individually enabled on nodes:
ASM is individually disabled on nodes:
ASM instance count: 3
Cluster ASM listener: ASMNET1LSNR_ASM
#查看asm是不是Flex
[grid@xag02 grid]$ asmcmd showclustermode
ASM cluster : Flex mode enabled
#查看監(jiān)聽(tīng)狀態(tài)
[grid@xag02 grid]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): xag01,xag02
#查看監(jiān)聽(tīng)配置
[grid@xag02 grid]$ srvctl config listener -a
Name: LISTENER
Type: Database Listener
Network: 1, Owner: grid
Home: <CRS home>
/u01/app/12.2.0/grid on node(s) xag01,xag02
End points: TCP:1521
Listener is enabled.
Listener is individually enabled on nodes:
Listener is individually disabled on nodes:
#查看scan監(jiān)聽(tīng)器的狀態(tài)
[grid@xag02 grid]$ srvctl status scan_listener
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is running on node xag01
SCAN Listener LISTENER_SCAN2 is enabled
SCAN listener LISTENER_SCAN2 is running on node xag02
SCAN Listener LISTENER_SCAN3 is enabled
SCAN listener LISTENER_SCAN3 is running on node xag02
[grid@xag02 grid]$ srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node xag01
SCAN VIP scan2 is enabled
SCAN VIP scan2 is running on node xag02
SCAN VIP scan3 is enabled
SCAN VIP scan3 is running on node xag02
#查看scan網(wǎng)絡(luò)配置
[grid@xag02 grid]$ srvctl config scan
SCAN name: xag-scan, Network: 1
Subnet IPv4: 10.0.0.0/255.255.0.0/eno1, static
Subnet IPv6:
SCAN 1 IPv4 VIP: 10.0.28.132
SCAN VIP is enabled.
SCAN VIP is individually enabled on nodes:
SCAN VIP is individually disabled on nodes:
SCAN 2 IPv4 VIP: 10.0.28.133
SCAN VIP is enabled.
SCAN VIP is individually enabled on nodes:
SCAN VIP is individually disabled on nodes:
SCAN 3 IPv4 VIP: 10.0.28.131
SCAN VIP is enabled.
SCAN VIP is individually enabled on nodes:
SCAN VIP is individually disabled on nodes:
#查看vip網(wǎng)絡(luò)
[grid@xag02 grid]$ srvctl status vip -n xag01
VIP 10.0.28.116 is enabled
VIP 10.0.28.116 is running on node: xag01
[grid@xag02 grid]$ srvctl status vip -n xag02
VIP 10.0.28.118 is enabled
VIP 10.0.28.118 is running on node: xag02
#節(jié)點(diǎn)應(yīng)用程序配置
[grid@xag02 grid]$ srvctl config nodeapps
Network 1 exists
Subnet IPv4: 10.0.0.0/255.255.0.0/eno1, static
Subnet IPv6:
Ping Targets:
Network is enabled
Network is individually enabled on nodes:
Network is individually disabled on nodes:
VIP exists: network number 1, hosting node xag01
VIP Name: xag01-vip.mp.com
VIP IPv4 Address: 10.0.28.116
VIP IPv6 Address:
VIP is enabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
VIP exists: network number 1, hosting node xag02
VIP Name: xag02-vip.mp.com
VIP IPv4 Address: 10.0.28.118
VIP IPv6 Address:
VIP is enabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
ONS exists: Local port 6100, remote port 6200, EM port 2016, Uses SSL true
ONS is enabled
ONS is individually enabled on nodes:
ONS is individually disabled on nodes:
#數(shù)據(jù)庫(kù)名查詢
[grid@xag02 grid]$ srvctl config database
MYRAC1
#數(shù)據(jù)庫(kù)狀態(tài)
[grid@xag02 grid]$ srvctl status database -d MYRAC1
Instance MYRAC11 is running on node xag02
Instance MYRAC12 is running on node xag01
[grid@xag02 grid]$ srvctl status database -d MYRAC1 -f -v
Instance MYRAC11 is running on node xag02. Instance status: Open.
Instance MYRAC12 is running on node xag01. Instance status: Open.
#查看數(shù)據(jù)庫(kù)配置
[grid@xag02 grid]$ srvctl config database -d MYRAC1 -a
Database unique name: MYRAC1
Database name: MYRAC1
Oracle home: /u01/app/oracle/product/12.2.0/db_1
Oracle user: oracle
Spfile: +DATA/MYRAC1/PARAMETERFILE/spfile.272.1005064573
Password file: +DATA/MYRAC1/PASSWORD/pwdmyrac1.256.1005064115
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: FRA,DATA
Mount point paths:
Services:
Type: RAC
Start concurrency:
Stop concurrency:
Database is enabled
Database is individually enabled on nodes:
Database is individually disabled on nodes:
OSDBA group: dba
OSOPER group: oper
Database instances: MYRAC11,MYRAC12
Configured nodes: xag02,xag01
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed
RAC群集管理命令
#crs_start命令起停rac環(huán)境
查看
[grid@XAG01 /]$ crsctl stat res -t
啟動(dòng)
[grid@XAG01 /]$ crs_start -all
關(guān)閉
[grid@XAG01 /]$ crs_stop -all
#停止/啟動(dòng)節(jié)點(diǎn)集群服務(wù),須要以root用戶
[root@swnode1 ]# crsctl stop cluster -all -----停止所有節(jié)點(diǎn)集群服務(wù)
[root@swnode1 ]# crsctl stop cluster -------停止本節(jié)點(diǎn)集群服務(wù)
從OCR中刪除已有的數(shù)據(jù)庫(kù):
srvctl remove database -d orcl
向OCR中添加一個(gè)數(shù)據(jù)庫(kù)的實(shí)例:
srvctl add instance -d -i -n
#通過(guò)srvctl 命令管理一個(gè)節(jié)點(diǎn)的rac srvctl start|stop|status nodeapps -n rac_node
[grid@XAG01 ~]$ srvctl status nodeapps -n xag01
VIP 192.168.40.112 is enabled
VIP 192.168.40.112 is running on node: xag01
Network is enabled
Network is running on node: xag01
ONS is enabled
ONS daemon is running on node: xag01
#通過(guò)SRVCTL命令來(lái)start/stop/check所有的實(shí)例: srvctl start|stop|status database -d db_name
[grid@XAG01 ~]$ srvctl status database -d MYRAC1
Instance MYRAC11 is running on node xag01
Instance MYRAC12 is running on node xag02
#通過(guò)SRVCTL命令來(lái)start/stop/check管理指定實(shí)例: srvctl start|stop|status instance -d -i
[grid@XAG01 ~]$ srvctl status instance -d MYRAC1 -i MYRAC11
Instance MYRAC11 is running on node xag01
[grid@XAG01 ~]$ srvctl status instance -d MYRAC1 -i MYRAC12
Instance MYRAC12 is not running on node xag02
ASM管理命令
[grid@XAG01 ~]$ sqlplus / as sysasm
SQL*Plus: Release 12.2.0.1.0 Production on Fri Jan 25 17:29:46 2019
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
+ASM1 STARTED
如未啟動(dòng)則如下啟動(dòng)
SQL> startup
#進(jìn)入ASM
[grid@XAG01 ~]$ asmcmd -p
ASMCMD [+] > ls
DATA/
FRA/
MGMT/
OCR/
ASMCMD [+] > pwd
+
重啟RAC數(shù)據(jù)庫(kù)
關(guān)閉順序 :關(guān)閉PDB----->關(guān)閉數(shù)據(jù)庫(kù)------>關(guān)閉集群服務(wù) (先關(guān)閉PDB 在關(guān)閉數(shù)據(jù)庫(kù)實(shí)例,否則smon將有一個(gè)自動(dòng)回復(fù)過(guò)程)
啟動(dòng)順序:開(kāi)機(jī)自啟動(dòng)集群服務(wù)查看集群服務(wù)器是否正常---------->打開(kāi)數(shù)據(jù)庫(kù)--------->啟動(dòng)PDB(默認(rèn)是在mount狀態(tài)下)
[oracle@XAG01 ~]$ sqlplus / as sysdba
SQL> select name,open_mode from v$pdbs ;
NAME OPEN_MODE
------------------------------------------------------------
PDB$SEED READ ONLY
MYPDB MOUNTED
#關(guān)閉pdb 后 關(guān)閉database
[oracle@XAG01 ~]$ srvctl status database -d MYRAC1
Instance MYRAC11 is running on node xag01
Instance MYRAC12 is running on node xag02
[oracle@XAG01 ~]$ srvctl stop database -d MYRAC1
使用ASMCA創(chuàng)建asm磁盤(pán)
此步驟僅需要在一個(gè)節(jié)點(diǎn)上執(zhí)行
su – grid
$ asmca
su – oracle
$ dbca
[oracle@raclhr-12cR1-N1 bin]$ srvctl status database -d lhr12crac
[oracle@raclhr-12cR1-N1 bin]$ srvctl config database -d lhr12crac -a
啟停crs(必須root)
crsctl start crs和crsctl stop crs
---------------以下為附錄-----------------
RAC數(shù)據(jù)庫(kù)集群?jiǎn)?dòng)、停止
RAC數(shù)據(jù)庫(kù)目前是全自動(dòng)的,當(dāng)操作系統(tǒng)啟動(dòng)時(shí),ASM設(shè)備會(huì)自動(dòng)掛載,數(shù)據(jù)庫(kù)也會(huì)隨之自動(dòng)啟動(dòng)。
如果需要手動(dòng)啟動(dòng)或者停止數(shù)據(jù)庫(kù),請(qǐng)參照如下說(shuō)明。
啟動(dòng)、停止oracle數(shù)據(jù)庫(kù)實(shí)例
監(jiān)聽(tīng):
[root@RAC01 ~] srvctl stop listener --停止監(jiān)聽(tīng)
數(shù)據(jù)庫(kù)
[root@RAC01 ~] srvctl stop database -d starboss --停止數(shù)據(jù)庫(kù)
或者
[root@RAC01 ~] srvctl start database -d starboss -o open/mount/'read only' --啟動(dòng)到打開(kāi)、掛載、只讀模式
啟停Oracle RAC集群
這個(gè)操作會(huì)停止數(shù)據(jù)庫(kù),并停止rac其他所有的集群服務(wù)(如asm實(shí)例、vip、監(jiān)聽(tīng)以及rac高可用環(huán)境):
[root@rac01 ~] crsctl stop cluster -all --停止