oracle rac搭建


 

一、安裝前

 

  1. 軟件及操作系統版本

虛擬機軟件:VMware-12.5

操作系統:Centos6.8

Oracle軟件:Oracle 11g R2

本篇所有安裝介質和文檔皆可以在文末關注微信公眾號后回復:oraclerac獲得

2.配置虛擬機

這里,我們需要在 VMware 的虛擬主機上創建兩台虛擬機,其中每台

機器至少需要配置雙網卡,一塊網卡作為 Public,另一塊作為 Private,建議 IP 地址均選擇

手動配置,而不是 DHCP 動態分配,且要求指定的 IP 在網絡里是唯一的。主機名也分別要求指定為唯一,避免沖突。主機名、IP 地址在前期規划要慎重,一經指定,最好不要輕易改變,避免一些不必要的麻煩。這里列出兩台機器前期規划的主機名、IP 地址信息:

 

其中,每台機器至少需要配置 3 IP 地址,在安裝操作系統的過程中,我們需要配置

公網 IP 和私有 IP 即可,虛擬 IP 在安裝集群件時分配。Public IPVirtual IPSCAN IP

須配置在同一網段。SCAN IP Oracle 11g 新推出的,在配置 11g RAC 時需要指定。我們

SCAN IP 通過配置 DNS 服務器來實現,在下文中將給出配置步驟。

3.創建虛擬機滿足下列條件:

(1)雙網卡

(2)2G內存

(3)2CPU

(4)iSCSI格式20G硬盤

  1. 啟動虛擬機安裝操作系統:

正常裝就行swap分區記得留大一點

node1主機名為oracle92

node2主機名為oralce93

  1. IP配置及配置hosts文件,雙節點保持一致

配置檢查

 

此文檔不配置DNS

  1. 建用戶、改口令、修改用戶配置文件:

配置 11gR2 RAC 需要安裝 Oracle Grid Infrastructure 軟件、Oracle 數據庫軟件,其中 Grid軟件等同於 Oracle 10g Clusterware 集群件。Oracle 建議以不同的用戶分別安裝 Grid Infrastructure 軟件、Oracle 數據庫軟件,我們這里以 grid 用戶安裝 Grid Infrastructureoracle用戶安裝 Oracle 數據庫軟件。並且 gridoracle 用戶需要屬於不同的用戶組。在配置 RAC時,還要求這兩個用戶在 RAC 的不同節點上 uidgid 要一致。用戶、組的對應信息見下表:

 

執行一下腳本完成成用戶、組的創建

 1 #!/bin/bash
 2 #Purpose:Create 6 groups named 'oinstall','dba','asmadmin','asmdba','asmoper','oper', plus 2 users named 'oracle','grid'.
 3 #Also setting the Environment
 4 #variable for oracle user.
 5 #variable for grid user.
 6 #Usage:Log on as the superuser('root'),and then execute the command:#./1preusers.sh
 7 #Author:Asher Huang
 8 echo "Now create 6 groups named 'oinstall','dba','asmadmin','asmdba','asmoper','oper'"
 9 echo "Plus 2 users named 'oracle','grid',Also setting the Environment"
10 groupadd -g 1000 oinstall
11 groupadd -g 1200 asmadmin
12 groupadd -g 1201 asmdba
13 groupadd -g 1202 asmoper
14 useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid -s /bin/bash -c "grid Infrastructure Owner" grid
15 echo "grid" | passwd --stdin grid
16 echo 'export PS1="`/bin/hostname -s`-> "'>> /home/grid/.bash_profile
17 echo "export TMP=/tmp">> /home/grid/.bash_profile
18 echo 'export TMPDIR=$TMP'>>/home/grid/.bash_profile
19 echo "export ORACLE_SID=+ASM1">> /home/grid/.bash_profile
20 echo "export ORACLE_BASE=/u01/app/grid">> /home/grid/.bash_profile
21 echo "export ORACLE_HOME=/u01/app/11.2.0/grid">> /home/grid/.bash_profile
22 echo "export ORACLE_TERM=xterm">> /home/grid/.bash_profile
23 echo "export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'" >> /home/grid/.bash_profile
24 echo 'export TNS_ADMIN=$ORACLE_HOME/network/admin' >> /home/grid/.bash_profile
25 echo 'export PATH=/usr/sbin:$PATH'>> /home/grid/.bash_profile
26 echo 'export PATH=$ORACLE_HOME/bin:$PATH'>> /home/grid/.bash_profile
27 echo 'export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib'>>
28 /home/grid/.bash_profile
29 echo 'export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib'>> /home/grid/.bash_profile
30 echo "export EDITOR=vi" >> /home/grid/.bash_profile
31 echo "export LANG=en_US" >> /home/grid/.bash_profile
32 echo "export NLS_LANG=american_america.AL32UTF8" >> /home/grid/.bash_profile
33 echo "umask 022">> /home/grid/.bash_profile
34 groupadd -g 1300 dba
35 groupadd -g 1301 oper
36 useradd -u 1101 -g oinstall -G dba,oper,asmdba -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
37 echo "oracle" | passwd --stdin oracle
38 echo 'export PS1="`/bin/hostname -s`-> "'>> /home/oracle/.bash_profile
39 echo "export TMP=/tmp">> /home/oracle/.bash_profile
40 echo 'export TMPDIR=$TMP'>>/home/oracle/.bash_profile
41 echo "export ORACLE_HOSTNAME=oracle92.localdomain">> /home/oracle/.bash_profile
42 echo "export ORACLE_SID=devdb1">> /home/oracle/.bash_profile
43 echo "export ORACLE_BASE=/u01/app/oracle">> /home/oracle/.bash_profile
44 echo 'export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1'>> /home/oracle/.bash_profile
45 echo "export ORACLE_UNQNAME=devdb">> /home/oracle/.bash_profile
46 echo 'export TNS_ADMIN=$ORACLE_HOME/network/admin' >> /home/oracle/.bash_profile
47 echo "export ORACLE_TERM=xterm">> /home/oracle/.bash_profile
48 echo 'export PATH=/usr/sbin:$PATH'>> /home/oracle/.bash_profile
49 echo 'export PATH=$ORACLE_HOME/bin:$PATH'>> /home/oracle/.bash_profile
50 echo 'export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib'>> /home/oracle/.bash_profile
51 echo 'export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib'>> /home/oracle/.bash_profile
52 echo "export EDITOR=vi" >> /home/oracle/.bash_profile
53 echo "export LANG=en_US" >> /home/oracle/.bash_profile
54 echo "export NLS_LANG=american_america.AL32UTF8" >> /home/oracle/.bash_profile
55 echo "export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'" >> /home/oracle/.bash_profile
56 echo "umask 022">> /home/oracle/.bash_profile
57 echo "The Groups and users has been created"
58 echo "The Environment for grid,oracle also has been set successfully"
腳本

在節點oracle93 上執行該腳本時,需要將grid 用戶環境變量ORACLE_SID 修改為+ASM2

oracle 用戶環境變量ORACLE_SID 修改為devdb2,

ORACLE_HOSTNAME 環境變量修改為oracle93.localdomain

 

[root@oracle92 shell]# id grid

uid=1100(grid) gid=1000(oinstall)

groups=1000(oinstall),1200(asmadmin),1201(asmdba),1202(asmoper)

[root@oracle92 shell]# id oracle

uid=1101(oracle) gid=1000(oinstall)

groups=1000(oinstall),1201(asmdba),1300(dba),1301(oper)

 

7.建路徑、改權限:

關於 gridoracle 用戶的環境變量配置信息,見下述表格

 

執行下面腳本來完成相關路徑、權限的配置。

#!/bin/bash
#Purpose:Create the necessary directory for oracle,grid users and change the authention to oracle,grid users.
#Usage:Log on as the superuser('root'),and then execute the command:#./2predir.sh
#Author:Asher Huang
echo "Now create the necessary directory for oracle,grid users and change the authention to oracle,grid users..."
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/app/11.2.0
chmod -R 775 /u01
echo "The necessary directory for oracle,grid users and change the authention to oracle,grid users has been finished"
擼凈及拳陷

8.修改/etc/security/limits.conf,配置 oracle grid 用戶的

shell  限制:

執行下面腳本完成。

#!/bin/bash
#Purpose:Change the /etc/security/limits.conf.
#Usage:Log on as the superuser('root'),and then execute the command:#./3prelimits.sh
#Author:Asher Huang
echo "Now modify the /etc/security/limits.conf,but backup it named /etc/security/limits.conf.bak before"
cp /etc/security/limits.conf /etc/security/limits.conf.bak
echo "oracle soft nproc 2047" >>/etc/security/limits.conf
echo "oracle hard nproc 16384" >>/etc/security/limits.conf
echo "oracle soft nofile 1024" >>/etc/security/limits.conf
echo "oracle hard nofile 65536" >>/etc/security/limits.conf
echo "grid soft nproc 2047" >>/etc/security/limits.conf
echo "grid hard nproc 16384" >>/etc/security/limits.conf
echo "grid soft nofile 1024" >>/etc/security/limits.conf
echo "grid hard nofile 65536" >>/etc/security/limits.conf
echo "Modifing the /etc/security/limits.conf has been succeed."
咸指

9.修改/etc/pam.d/login配置文件

#!/bin/bash
#Purpose:Modify the /etc/pam.d/login.
#Usage:Log on as the superuser('root'),and then execute the command:#./4prelimits.sh
#Author:Asher Huang
echo "Now modify the /etc/pam.d/login,but with a backup named /etc/pam.d/login.bak"
cp /etc/pam.d/login /etc/pam.d/login.bak
echo "session required /lib/security/pam_limits.so" >>/etc/pam.d/login
echo "session required pam_limits.so" >>/etc/pam.d/login
echo "Modifing the /etc/pam.d/login has been succeed."
老哥🦅

10.修改/etc/profile 文件

執行腳本完成

#!/bin/bash
#Purpose:Modify the /etc/profile.
#Usage:Log on as the superuser('root'),and then execute the
command:#./5preprofile.sh
#Author:Asher Huang
echo "Now modify the /etc/profile,but with a backup named
/etc/profile.bak"
cp /etc/profile /etc/profile.bak
echo 'if [ $USER = "oracle" ]||[ $USER = "grid" ]; then' >> /etc/profile
echo 'if [ $SHELL = "/bin/ksh" ]; then' >> /etc/profile
echo 'ulimit -p 16384' >> /etc/profile
echo 'ulimit -n 65536' >> /etc/profile
echo 'else' >> /etc/profile
echo 'ulimit -u 16384 -n 65536' >> /etc/profile
echo 'fi' >> /etc/profile
echo 'fi' >> /etc/profile
echo "Modifing the /etc/profile has been succeed."
破費哦

 11.修改內核配置文件

執行腳本

#!/bin/bash
#Purpose:Modify the /etc/sysctl.conf.
#Usage:Log on as the superuser('root'),and then execute the command:#./6presysctl.sh
#Author:Asher Huang
echo "Now modify the /etc/sysctl.conf,but with a backup named /etc/sysctl.bak"
cp /etc/sysctl.conf /etc/sysctl.conf.bak
echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf
echo "fs.file-max = 6815744" >> /etc/sysctl.conf
echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
echo "kernel.shmmax = 2089633792" >> /etc/sysctl.conf
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 9000 65500" >> /etc/sysctl.conf
echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 1048586" >> /etc/sysctl.conf
echo "net.ipv4.tcp_wmem = 262144 262144 262144" >> /etc/sysctl.conf
echo "net.ipv4.tcp_rmem = 4194304 4194304 4194304" >> /etc/sysctl.conf
echo "Modifing the /etc/sysctl.conf has been succeed."
echo "Now make the changes take effect....."
sysctl -p
類核

12.停止 ntp  服務, 11gR2 新增的檢查項

 

# service ntpd status

ntpd is stopped

# chkconfig ntpd off

# cat /etc/ntp

ntp/ ntp.conf

# cp /etc/ntp.conf /etc/ntp.conf.bak

# rm -rf /etc/ntp.conf

 

13.節點 准備工作:

我們已經在節點1 完成基本准備配置工作,在 節點2 上重復上述 配置hosts文件到 停止ntp准備工作,以完成節點 2 的准備工作。

 

 14.配置oraclegrid用戶SSH對等性

雖然在安裝軟件的過程中,oracle 會自動配置 SSH 對等性,建議在安裝軟件之前手工配置。

配置 oracle 用戶對等性:

節點1:

 

執行命令:

ssh-keygen -t rsa

ssh-keygen -t dsa

 

節點2

重復上述操作

 

返回節點1

cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

ssh oracle93 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

ssh oracle93 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

scp ~/.ssh/authorized_keys oracle93:~/.ssh/authorized_keys

 

驗證 oracle SSH 對等性:

oracle92oracle93 兩個節點上分別執行下述命令,第一次執行時需要口令驗證:

ssh oracle92 date

ssh oracle93 date

ssh oracle92-priv date

ssh oracle93-priv date

ssh oracle92.localdomain date

ssh oracle93.localdomain date

ssh oracle92-priv.localdomain date

ssh oracle93-priv.localdomain date

 

15.重復上述步驟,以grid 用戶配置對等性。

 

16.配置共享磁盤:

在任意節點上先創建共享磁盤,然后在另外的節點上選擇添加已有磁盤。這里選擇先在

節點2 節點機器上創建共享磁盤,然后在 節點1 上添加。共創建 4 塊硬盤,其中 2 塊硬盤,將來用於配置 GRIDDG 磁盤組,專門存放 OCR Voting Disk1 塊磁盤,用於配置 DATA 磁盤組,存放數據庫;1 塊磁盤,用於配置 FLASH 磁盤組,用於閃回區;

 

虛擬機關機,然后操作

 

 

 

 

 

按照此方法添加再添加3

 

修改磁盤編號

 

 

節點一添加節點2創建的磁盤

 

選擇節點創建的xxx.vmdk文件

 

四塊都按順序添加並修改設備編號

 

 

加入4塊磁盤

設備編號為:1011

      2021

 

修改兩台虛擬機對應文件VMX文件,

在宿主機vim下面兩文件

 

加入:

 

disk.locking="false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
 
scsi1.shareBus="virtual"
 
sched.scsi1:0.shares = "normal"
sched.scsi1:0.throughputCap = "none"

sched.scsi1:1.shares = "normal"
sched.scsi1:1.throughputCap = "none"

sched.scsi2:0.shares = "normal"
sched.scsi2:0.throughputCap = "none"

sched.scsi2:1.shares = "normal"
sched.scsi2:1.throughputCap = "none"

scsi1:0.mode = "independent-persistent"
scsi1:0.deviceType = "scsi-hardDisk"

scsi1:1.mode = "independent-persistent"
scsi1:1.deviceType = "scsi-hardDisk"

scsi2:0.mode = "independent-persistent"
scsi2:0.deviceType = "scsi-hardDisk"

scsi2:1.mode = "independent-persistent"
scsi2:1.deviceType = "scsi-hardDisk"
迪斯科

17.啟動虛擬機

節點1

# fdisk -l

 

節點2

 

硬盤格式化(只用在一個節點做就可以)

# fdisk /dev/sdb

 

fdisk /dev/sdb 表示要對/dev/sdb 磁盤進行格式化,其中,輸入的命令分別表示:
n 表示新建 1 個分區;
p 表示分區類型選擇為 primary partition 主分區;
1 表示分區編號從 1 開始;
起始、終止柱面選擇默認值,即 1500w 表示將新建的分區信息寫入硬盤分區表。
③ 重復上述步驟②,以 root 用戶在 node1 上分別格式化其余 3 塊磁盤:
④ 格式化完畢之后,在 node1,node2 節點上分別看到下述信息
說明

 

把剩下的3塊盤安裝同樣的方式格式化

節點2執行,同步磁盤

 

18.修改/etc/udev/rules.d/60-raw.rules文件

添加如下幾行

ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw4 %N"

KERNEL=="raw1", OWNER="grid", GROUP="asmadmin", MODE="660"
KERNEL=="raw2", OWNER="grid", GROUP="asmadmin", MODE="660"
KERNEL=="raw3", OWNER="grid", GROUP="asmadmin", MODE="660"
KERNEL=="raw4", OWNER="grid", GROUP="asmadmin", MODE="660"

節點2重復

啟動udev服務(雙節點執行)

Root用戶執行:

# start_udev

驗證裸設備是否建立成功

ls –l /dev/raw

裸設備的用戶為grid,組為asmadmin。則裸設備建立成功

 

 

一、安裝介質

本篇所有安裝介質和文檔皆可以在文末關注微信公眾號后回復:oraclerac獲得

oracle.p13390677_112040_Linux-x86-64_1of7.zip

oracle.p13390677_112040_Linux-x86-64_2of7.zip

oracle.p13390677_112040_Linux-x86-64_3of7.zip

其中:

****1of7.zip 和****2of7.zip是 Oracle 軟件的安裝介質。

****3of7.zip 是 GRID 軟件的安裝介質

1.分別上傳到/home/oralce/

/home/grid/

然后解壓

# unzip 包名

2.先安裝一些依賴(雙節點):

yum install -y  ld-linux.so.2 binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl sysstat libXp unixODBC unixODBC-devel

上傳pdksh-5.2.14-8.i386.rpm 包到節點

# rpm -ivh pdksh-5.2.14-8.i386.rpm

安裝

 

3.安裝前預檢查配置信息

在安裝 GRID 之前,建議先利用 CVU(Cluster Verification Utility)檢查 CRS 的安裝前環

境。使用 CVU 檢查 CRS 的安裝前環境:

# pwd
/home/grid/grid
# su -  grid

./runcluvfy.sh stage -pre crsinst -n oracle92,oracle93 -fixup -verbose

提示以root用戶執行這個腳本,那我們就執行一下(雙節點)

因為我們沒有配DNS所有這一步會提示檢查失敗,不過沒關系,其它的檢查都通過就ok

 

直到此步驟,我們的安裝環境已經完全准備 OK!!!

 

三.安裝 Grid  Infrastructure

從此步驟開始,我們正式安裝 Grid 軟件:

① 以 grid 用戶登錄圖形界面,執行/home/grid/grid/runInstaller,進入 OUI 的圖形安裝界面:

② 進入 OUI 安裝界面后,選擇第 3 項,跳過軟件更新,Next

 

③ 選擇集群的 Grid InfrastructureNext

 

④ 選擇 advanced InstallationNext

 

⑤ 語言選擇默認,EnglishNext

 

⑥ 去 掉 Configure GNS 選 項 , 按 照 之 前 2.1 節 中 的 表 格 輸 入 Cluster

Name:scan-cluster,SCAN Namescan-cluster.localdomainNext

 

⑦ 單擊 Add,添加第 2 個節點,Next

⑧ 確認網絡接口,Next(內外網一定不能在一個網段):

 

⑨ 選擇 ASM,作為存儲,Next

 

⑩ 輸入 ASM 磁盤組名,這里命名為 GRIDDG,冗余策略選擇 External 外部,AU 大小

選擇默認 1MASM 磁盤選擇 raw1raw2Next

 

⑪ 選擇給 ASM SYSASMSNMP 用戶配置為相同的口令,並輸入口令,Next

 

⑫ 選擇不使用 IPMINext

 

⑬ 給 ASM 指定不同的組,Next

 

⑭ 選擇 GRID 軟件的安裝路徑,其中 ORACLE_BASE,ORACLE_HOME 均選擇之經配置好的,可參照 2.5 節中的配置信息。這里需要注意 GRID 軟件的 ORACLE_HOME

能是 ORACLE_BASE 的子目錄。

 

⑮ 選擇默認的 InventoryNext

 

檢查

 

⑯ 檢查出現告警,提示在所有節點上缺失 cvuqdisk-1.0.9-1 軟件包。

可以選擇忽略,直接進入下一步安裝。也可以從 grid 安裝文件的 rpm 目錄下獲取該 RPM

包,然后進行安裝。

雙節點執行

在所有節點上安裝完 cvuqdisk-1.0.9-1 軟件后,重新執行預檢查,不再有警告信息。

⑰ 進入安裝 GRID 安裝之前的概要信息,Install 進行安裝:

 

DNS報的錯可以選擇忽略

 

⑱ 根據提示以 root 用戶分別在兩個節點上執行腳本:

 

 

 

報錯了。。。。。

原因:說是找不到  libcap.so.1 這個包

解決辦法

執行

# ln -s /lib64/libcap.so.2.16 /lib64/libcap.so.1

然后再執行

./root.sh

 

 

 

需要等

如果報這個錯

執行命令

 

# cd /software/app/11.2.0/grid/crs/install/
# ./roothas.pl  -deconfig -force -verbose

節點1執行成功后節點2執行

 

⑲ 執行完上述腳本之后,單擊 OK,等待安裝完成,Next,進入下一步。

 

⑳ 最后,單擊 close,完成 GRID 軟件在雙節點上的安裝

如果你看到OCVU錯誤的話,沒有關系,這個錯誤是由Oracle自身的BUG造成的,它並不會影響我們之后RAC的使用,因此點擊“OK”,忽略掉它就可以啦。

至此,GRID 集群件安裝成功!!!

 

四、安裝 Oracle e 軟件

從此步驟開始,我們正式安裝 oracle 軟件:

① 以 oracle 用戶登錄圖形界面,執行/home/oracle/database/runInstaller,進入 OUI 的圖形

安裝界面:

 

② 進入 OUI 安裝界面后,選擇第 3 項,跳過軟件更新,Next

 

③ 選擇第 2 項,只安裝 oracle 軟件,Nex

 

④ 選擇第 2 項,安裝 oracle RAC,選擇所有節點,Next

 

⑤ 語言選擇默認,EnglishNext

 

⑥ 選擇第 1 項,安裝企業版軟件,Next

 

⑦ 選擇 oracle 軟件的安裝路徑,其中 ORACLE_BASE,ORACLE_HOME 均選擇之前已

經配置好的,可參照 2.5 節中的配置信息。Next

 

⑧ 選擇 oracle 用戶組,Next

 

⑨ 執行安裝前的預檢查,Next

 

執行Oracle軟件安裝前的預檢查,這里出現了一個警告,其原因在於,如果使用DNS服務的話,RAC可以設置多個Scan IP,而我們用的是/etc/hosts文件,那么RAC環境下就只允許設置一個Scan IP了,這並不影響我們之后的使用,所以這里點擊ignore all將該警告忽略掉即可。

 

⑩ 安裝概要信息,Install

 

⑪ 根據提示以 root 用戶分別在兩個節點上執行腳本,Next:

 

執行/u01/app/oracle/product/11.2.0/db_1/root.sh 腳本

 

⑫ 最后,單擊 close,完成 oracle 軟件在雙節點上的安裝。

 

至此,我們在 RAC 雙節點上完成 oracle 軟件的安裝!!!

 

創建 ASM ASM ASM ASM 磁盤組

grid 用戶創建 ASM 磁盤組,創建的 ASM 磁盤組為下一步創建數據庫提供存儲。

grid 用戶登錄圖形界面,執行 asmca 命令來創建磁盤組:

 

② 進入 ASMCA 配置界面后,單擊 Create,創建新的磁盤組:

 

③ 輸入磁盤組名 DATA,冗余策略選擇 External,磁盤選擇 raw3,單擊 OK

 

DATA 磁盤組創建完成,單擊 OK

 

⑤ 繼續創建磁盤組,磁盤組名 FLASH,冗余策略選擇 External,磁盤選擇 raw4

 

⑥ 最后,完成 DATAFLASH 磁盤組的創建,Exit 推出 ASMCA 圖形配置界面:

至此,利用 ASMCA 創建好 DATAFLASH 磁盤組。且,可以看到連同之前創建的

GRIDDG 3 個磁盤組均已經被 RAC 雙節點 MOUNT

 

創建 RAC 數據庫

 

接下來,使用 DBCA 來創建 RAC 數據庫。

 

① 以 oracle 用戶登錄圖形界面,執行 dbca,進入 DBCA 的圖形界面,選擇第 1 項,創

 

RAC 數據庫:

 

② 選擇創建數據庫選項,Next

 

③ 選擇創建通用數據庫,Next

④ 配置類型選擇 Admin-Managed,輸入數據庫名 devdb,選擇雙節點,Next

 

⑤ 選擇默認,配置 OEM、啟用數據庫自動維護任務,Next

 

⑥ 選擇數據庫用戶使用同一口令,Next

 

⑦ 數據庫存儲選擇 ASM,使用 OMF,數據區選擇之前創建的 DATA 磁盤組,Next

 

輸入創建的密碼

⑧ 指定數據庫閃回區,選擇之前創建好的 FLASH 磁盤組,Next

 

⑨ 選擇創建數據庫自帶 Sample SchemaNext

 

⑩ 選擇數據庫字符集,AL32UTF8Next

 

⑪ 選擇默認數據庫存儲信息,直接 Next:

 

⑫ 單擊,Finish,開始創建數據庫,Next

 

創建數據庫可能持續時間稍長:

 

做到這一步趕緊多截兩個圖吧

 

 

 

 

⑬ 完成創建數據庫。

 

至此,我們完成創建 RAC 數據庫!!!

 

Oracle RAC檢驗

之前安裝任何軟件都是放在node1節點上面的,為了驗證RAC下“單節點安裝,全節點可用”的真實性,我們使用oracle用戶登錄oracle93節點,並以sysdba用戶登入數據庫。

# su - oracle

$ sqlplus / as sysdba

可見,我們在node2上成功登入了數據庫!

2、在node2上以sysdba身份創建表空間、用戶。

SQL> create tablespace racdata datafile '+DATA' size 100m autoextend on next 10m maxsize unlimited nologging extent management local uniform size 1024k segment space management auto;

 

SQL> create user ucase identified by 123456 default tablespace racdata temporary tablespace TEMP profile DEFAULT;

SQL> grant connect to ucase;

Grant succeeded.

SQL> grant resource to ucase;

Grant succeeded.

SQL> grant dba to ucase;

Grant succeeded.

SQL> grant alter tablespace to ucase;

Grant succeeded.

SQL> grant select any dictionary to ucase;

Grant succeeded.

SQL> grant unlimited tablespace to ucase;

Grant succeeded.

至此,我們在node2節點上成功創建了一個表空間,並創建了一個新的用戶。

3、接着,我們退出數據庫,並以oracle身份登陸oracle92節點,且以剛剛在oracle93節點上創建的用戶嘗試登錄數據庫。

# su - oracle

$ sqlplus

SQL*Plus: Release 11.2.0.4.0 Production on Wed Sep 19 15:16:28 2018

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

Enter user-name: ucase

Enter password: 123456

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

 

SQL>

SQL> show user;

USER is "UCASE"

可見,使用在node2節點上創建的用戶,成功地登陸了node1節點上的數據庫。

 這個文檔是我一周半的心血。

 

 個人公眾號:度一聊,不定期推送干貨,及有用資源。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM