Red Hat Linux 5.3 (虛擬機器) 上安裝 Oracle11g RAC

tolywang發表於2011-01-07

1.   使用者組及賬號設定  
1.1.  在 root使用者環境下建立 OS 組(每個節點執行) 
# groupadd ‐g 501 oinstall     
# groupadd ‐g 502 dba  
# groupadd ‐g 504 asmadmin   
# groupadd ‐g 506 asmdba  
# groupadd ‐g 507 asmoper   
 
1.2.  建立安裝 oracle軟體的使用者  (每個節點執行) 
# useradd ‐u 501 ‐g oinstall ‐G asmadmin,asmdba,asmoper grid  
# useradd ‐u 502 ‐g oinstall ‐G dba,asmdba oracle  
 
1.3.  為 grid及 oracle使用者設定密碼  (每個節點執行)   
# passwd oracle  
# passwd grid  
 
 
2.  網路設定  
2.1   定義 cluster name,  這是 11g特有的 
 
2.2   定義每個節點的 public hostname 
也就是本機的 host  name,  比如 rac01,rac02.  這裡推薦建立網路卡 bonding  (具體設定
略,active/passive).   
 
2.3   定義 public virtual hostname,  一般建議為‐vip 或直接接 vip.   
 
2.4   開始修改所有節點的/etc/hosts (每個節點執行) 
127.0.0.1        localhost.localdomain localhost 
192.168.5.111     rac01 
192.168.5.112     rac02 
192.168.5.113     racvip01 
192.168.5.114     racvip02 
17.1.1.1         racpri01 
17.1.1.2         racpri02 
#single client access name(scan) 
192.168.5.115      racscan 
 

3.  各個節點時間同步 
(所有節點設定,這裡是測試,所以兩個節點相互同步,不設定時間伺服器)  
透過 nptdate或 rdate  設定各個節點時間同步  
[root@rac01 etc]# chkconfig   time‐stream   on   
[root@rac01 etc]# date  
Tue Dec 28 13:23:40 CST 2010   
然後在節點 2  設定與節點1 的時間同步排程。  
[root@rac02 etc]# crontab  ‐e  
*/2 * * * *     rdate  ‐s   192.168.5.111   
 
 
4.  配置 Linux 核心引數  (所有節點設定)  
fs.aio‐max‐nr = 1048576 
fs.file‐max = 6815744 
kernel.shmall = 2097152 
kernel.shmmax = 2147483648 
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 
 
 
5.  為 oracle 使用者設定 shell limits(每個節點執行) .  
5.1   修改/etc/security/limits.conf  
[root@rac01 etc]# cd /etc/security/ 
[root@rac01 security]# vi limits.conf  
 
grid soft nproc 2047 
grid hard nproc 32768 
grid soft nofile 1024 
grid hard nofile 250000 
 
oracle soft nproc 2047 
oracle hard nproc 32768 
oracle soft nofile 1024 
oracle hard nofile 250000 
 
5.2   修改/etc/pam.d/login,如果不存在以下行,請加入 
session    required    pam_limits.so  
 
5.3   對預設 shell startup file 做變更,加入如下行到/etc/profi
 
if [ \$USER = "oracle" ] || [ \$USER = "grid" ]; then 
    if [ \$SHELL = "/bin/ksh" ]; then 
         ulimit ‐p 16384 
         ulimit ‐n 65536 
    else 
         ulimit ‐u 16384 ‐n 65536 
    fi 
    umask 022 
fi 

5.4   設定 SELinux為 disable (每個節點都設定).  
# vi   /etc/grub.conf   
default=3 
timeout=5 
splashimage=(hd0,0)/grub/splash.xpm.gz 
hiddenmenu 
title Red Hat Enterprise Linux Server (2.6.18‐128.el5xen) 
         root (hd0,0) 
         kernel /xen.gz‐2.6.18‐128.el5 
         selinux=0 
 
 
6.  建立 Oracle Inventory Directory (每個節點執行)     
[root@rac01 u01]# mkdir ‐p   /u01/product/oraInventory  
[root@rac01 u01]# chown ‐R grid:oinstall   /u01/product/oraInventory  
[root@rac01 u01]# chmod ‐R 775   /u01/product/oraInventory/  
 

7.   建立 Oracle Grid Infrastructure home 目錄(在每個節點建立) 
注意:    
11g單例項如果需要使用 ASM, grid 也必須安裝,且必須放在 ORACLE_BASE 下, 
11g RAC則不行,  它的 grid家目錄必須另外放在一個地方,比如/u01/grid . 
# mkdir  ‐p   /u01/grid  
# chown  ‐R   grid:oinstall   /u01/grid  
# chmod  ‐R   775   /u01/grid   


8.   建立 Oracle Base  目錄(在每個節點建立) 
# mkdir  ‐p   /u01/product/oracle  
# mkdir    /u01/product/oracle/cfgtoollogs  ‐‐  確保軟體安裝後 dbca 可以執行 
# chown  ‐R   oracle:oinstall   /u01/product/oracle   
# chmod  ‐R   775   /u01/product/oracle  


9.   建立 Oracle RDBMS home 目錄(所有節點執行) 
# mkdir  ‐p   /u01/product/oracle/11.2.0/db_1  
# chown  ‐R   oracle:oinstall    /u01/product/oracle/11.2.0/db_1  
# chmod  ‐R   775   /u01/product/oracle/11.2.0/db_1  
 
 
10.  準備 Oracle Grid Infrastructure 及 RDBMS software (主節點準備)。
  
11.  檢查 OS rpm 包(所有節點執行)  
這裡是 Linux AS 5.4 32bit,  如果是 64bit,需要檢查以下的 Packages. 
以下重複包名稱的部分是 64bit,註明 32bit 的是 32bit packages.  如果 
是 32bit OS,  那麼重複包名的只需要 32bit 部分的包  。注意不同版本的 
Linux 系統後面的版本不太一樣  。   
 
binutils‐2.15.92.0.2 
compat‐libstdc++‐33‐3.2.3 
compat‐libstdc++‐33‐3.2.3 (32 bit) 
elfutils‐libelf‐0.97 
elfutils‐libelf‐devel‐0.97 
expat‐1.95.7 
gcc‐3.4.6 
gcc‐c++‐3.4.6 
glibc‐2.3.4‐2.41 
glibc‐2.3.4‐2.41 (32 bit) 
glibc‐common‐2.3.4 
glibc‐devel‐2.3.4 
glibc‐headers‐2.3.4 
libaio‐0.3.105 
libaio‐0.3.105 (32 bit) 
libaio‐devel‐0.3.105 
libaio‐devel‐0.3.105 (32 bit) 
libgcc‐3.4.6 
libgcc‐3.4.6 (32‐bit) 
libstdc++‐3.4.6 
libstdc++‐3.4.6 (32 bit) 
libstdc++‐devel 3.4.6 
make‐3.80 
pdksh‐5.2.14 
sysstat‐5.0.5 
unixODBC‐2.2.11 
unixODBC‐2.2.11 (32 bit) 
unixODBC‐devel‐2.2.11 
unixODBC‐devel‐2.2.11 (32 bit)  

檢查方法:  
[root@rac02 grid]# rpm ‐q ‐‐qf '%{NAME}‐%{VERSION}‐%{RELEASE} (%{ARCH})\n' binutils \ 

然後輸入: 
compat‐libstdc++‐33 \ 
elfutils‐libelf \ 
elfutils‐libelf‐devel \ 
expat \ 
gcc \ 
gcc‐c++ \ 
glibc \ 
glibc‐common \ 
glibc‐devel \ 
glibc‐headers \ 
ksh \ 
libaio \ 
libaio‐devel \ 
libgcc \ 
libstdc++ \ 
libstdc++‐devel \ 
make \ 
pdksh \ 
sysstat \ 
unixODBC \ 
unixODBC‐devel 


結果如下:  
 
[root@rac01 u01]# rpm ‐q ‐‐qf '%{NAME}‐%{VERSION}‐%{RELEASE} (%{ARCH})\n' binutils \ 

> compat‐libstdc++‐33 \ 
> elfutils‐libelf \ 
> elfutils‐libelf‐devel \ 
> expat \ 
> gcc \ 
> gcc‐c++ \ 
> glibc \ 
> glibc‐common \ 
> glibc‐devel \ 
> glibc‐headers \ 
> ksh \ 
> libaio \ 
> libaio‐devel \ 
> libgcc \ 
> libstdc++ \ 
> libstdc++‐devel \ 
> make \ 
> pdksh \ 
> sysstat \ 
> unixODBC \ 
> unixODBC‐devel 
binutils‐2.17.50.0.6‐9.el5 (i386) 
compat‐libstdc++‐33‐3.2.3‐61 (i386) 
elfutils‐libelf‐0.137‐3.el5 (i386) 
elfutils‐libelf‐devel‐0.137‐3.el5 (i386) 
expat‐1.95.8‐8.2.1 (i386) 
gcc‐4.1.2‐44.el5 (i386) 
gcc‐c++‐4.1.2‐44.el5 (i386) 
glibc‐2.5‐34 (i686) 
glibc‐common‐2.5‐34 (i386) 
glibc‐devel‐2.5‐34 (i386) 
glibc‐headers‐2.5‐34 (i386) 
ksh‐20080202‐2.el5 (i386) 
libaio‐0.3.106‐3.2 (i386) 
libaio‐devel‐0.3.106‐3.2 (i386) 
libgcc‐4.1.2‐44.el5 (i386) 
libstdc++‐4.1.2‐44.el5 (i386) 
libstdc++‐devel‐4.1.2‐44.el5 (i386) 
make‐3.81‐3.el5 (i386) 
package pdksh is not installed    ‐‐‐    pdksh  沒有安裝  
sysstat‐7.0.2‐3.el5 (i386) 
unixODBC‐2.2.11‐7.1 (i386) 
unixODBC‐devel‐2.2.11‐7.1 (i386) 

查詢一些文件,pdksh 這個包可以不用安裝。


12.  為 Oracle RAC 準備共享儲存  
在三個分開(三個物理磁碟)的 failure groups 下需要至少 2GB 的磁碟空間用於 
Oracle Clusterware檔案  (Oracle Cluster Registry and voting disk) . 
‐All of the devices in an Automatic Storage Management disk group  
should be the same size and have the same performance characteristics. 
‐A disk group should not contain more than one partition on a single physical disk device. 
‐Using logical volumes as a device in an Automatic Storage Management disk group  
is not supported with Oracle RAC. 
‐The user account with which you perform the installation (oracle) must have  
write permissions to create the files in the path that you specify. 
 
共享磁碟劃分規劃(因為在硬體上做了 RAID1,所以這裡沒有規劃映象磁碟組)   
Block Device ASMlib Name     Size     Comments  
/dev/sdb1     OCR_VOTE01      10GB      ASM Diskgroup for OCR and Voting Disks 
/dev/sdc1     ASM_DATA01      10GB      ASM Data Diskgroup 
/dev/sdd1     ASM_DATA02      4GB       ASM Flash Recovery Area Diskgroup 
 
這裡是虛擬機器安裝 RAC,  所以需要設定共享磁碟檔案  (可以透過以下命令,也可以透過
VMware 介面新增,注意選擇磁碟時候需要選取 SCSI 1:1,SCSI 1:2,依次類推,多少個磁碟選擇
多少個)。如果是實體 Storage,這一步不需要。 

A.  建立一個資料夾用於存放共享磁碟檔案  :    D:\Tony\asmshared   
B.  執行下面命令生成共享檔案  
 
C:\>cd   C:\Program Files\VMware\VMware Server 
 
C:\Program Files\VMware\VMware Server\vmware‐vdiskmanager.exe ‐c ‐s 10Gb ‐a 
  lsilogic  ‐t   2    "D:\Tony\asmshared"\ShareDiskOCR.vmdk 
 
C:\Program Files\VMware\VMware Server\vmware‐vdiskmanager.exe ‐c ‐s 10Gb ‐a 
  lsilogic  ‐t   2    "D:\Tony\asmshared"\ShareDiskData.vmdk 
 
C:\Program Files\VMware\VMware Server\vmware‐vdiskmanager.exe ‐c ‐s 4Gb ‐a 
  lsilogic  ‐t   2   "D:\Tony\asmshared"\ShareDiskFlash.vmdk 

這樣就生成了新的虛擬磁碟,其中‐s  10Gb 表示磁碟容量,‐a  表示介面型別 lsilogic 即 scsi 接
口,‐t 2 的意思是預分配磁碟空間,可以用‐t 0 選項,這樣就不會佔用空間了,實際用多少就多少.  
可以看到在 D:\Tony\asmshared 生成了 6 個檔案。  
 
 
關閉 Linux 系統及虛擬機器  :  

到虛擬機器目錄比如  D:\Tony\rac01,直接編輯*.vmx 檔案,  加上下面語句(所有虛擬機器節點). 
disk.locking = "FALSE"  
diskLib.dataCacheMaxSize = "0" 
 
scsi1.sharedBus = "virtual" 
scsi1.present = "TRUE" 
scsi1.virtualDev = "lsilogic" 
 
scsi1:1.present = "TRUE" 
scsi1:1.fileName = "D:\Tony\asmshared\ShareDiskOCR.vmdk" 
scsi1:1.mode = "independent‐persistent" 
scsi1:1.deviceType = "disk" 
scsi1:1.redo = "" 
 
scsi1:2.present = "TRUE" 
scsi1:2.fileName = "D:\Tony\asmshared\ShareDiskData.vmdk" 
scsi1:2.mode = "independent‐persistent" 
scsi1:2.deviceType = "disk" 

scsi1:3.present = "TRUE" 
scsi1:3.fileName = "D:\Tony\asmshared\ShareDiskFlash.vmdk" 
scsi1:3.mode = "independent‐persistent" 
scsi1:3.deviceType = "disk" 
 
 
注意:這個檔案中的每一行都不能重複,否則會報錯。  
 
最後開啟虛擬機器程式,檢視每個節點虛擬機器 Devices部分。  
 
當然也可以透過VMWare圖形介面建立磁碟,注意共享磁碟選擇SCSI 1而不是0才可以。
這裡不詳細介紹。

 

13.   劃分共享磁碟  (在一個節點上執行 fdisk)  
[root@rac01 ~]# fdisk ‐l 
 
Disk /dev/sda: 42.9 GB, 42949672960 bytes 
255 heads, 63 sectors/track, 5221 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 
 
Device Boot       Start          End       Blocks    Id   System 
/dev/sda1    *            1          127      1020096    83   Linux 
/dev/sda2              128         1402     10241437+   83   Linux 
/dev/sda3             1403         1912      4096575    82   Linux swap / Solaris 
/dev/sda4             1913         5221     26579542+   83   Linux 
 
Disk /dev/sdb: 10.7 GB, 10737418240 bytes 
255 heads, 63 sectors/track, 1305 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 
Disk /dev/sdb doesn't contain a valid partition table 
 
Disk /dev/sdc: 10.7 GB, 10737418240 bytes 
255 heads, 63 sectors/track, 1305 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 
 
Disk /dev/sdc doesn't contain a valid partition table 
 
Disk /dev/sdd: 4294 MB, 4294967296 bytes 
255 heads, 63 sectors/track, 522 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 
 
Disk /dev/sdd doesn't contain a valid partition table 
[root@rac01 ~]# 
 
 
分別對  /dev/sdb, /dev/sdc, /dev/sdd  進行磁碟分割槽。 

 
最後結果如下:  
[root@rac01 ~]# fdisk ‐l 
 
Disk /dev/sda: 42.9 GB, 42949672960 bytes 
255 heads, 63 sectors/track, 5221 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 
 
    Device Boot       Start          End       Blocks    Id   System 
/dev/sda1    *            1          127      1020096    83   Linux 
/dev/sda2              128         1402     10241437+   83   Linux 
/dev/sda3             1403         1912      4096575    82   Linux swap / Solaris 
/dev/sda4             1913         5221     26579542+   83   Linux 
Disk /dev/sdb: 10.7 GB, 10737418240 bytes 
255 heads, 63 sectors/track, 1305 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 
 
   Device Boot       Start          End       Blocks    Id   System 
/dev/sdb1                1         1305     10482381    83   Linux 
 
Disk /dev/sdc: 10.7 GB, 10737418240 bytes 
255 heads, 63 sectors/track, 1305 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 
 
   Device Boot       Start          End       Blocks    Id   System 
/dev/sdc1                1         1305     10482381    83   Linux 
 
Disk /dev/sdd: 4294 MB, 4294967296 bytes 
255 heads, 63 sectors/track, 522 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 
 
   Device Boot       Start          End       Blocks    Id   System 
/dev/sdd1                1          522      4192933+   83   Linux 
[root@rac01 ~]# 

重新啟動節點 1,2  ,檢視是否都顯示掛載正常。  

 

14.  安裝及配置 ASMLib   (每個節點都需要安裝)   
從Oracle OTN ASMLib網頁下載ASMLib包, 使用uname –a檢視系統核心版本, 下載的ASMLib
版本要與之匹配。  
[root@rac01 ~]# uname ‐a  
Linux rac01 2.6.18‐128.el5 #1 SMP  
檢視是否有安裝過:  
[root@rac01 ~]# rpm ‐qa | grep    oracleasm  
匹配的 ASMLib 檔案如下  (以下也是檔案安裝順序):  
oracleasm‐support‐2.1.3‐1.el5.i386.rpm 
oracleasm‐2.6.18‐128.el5‐2.0.5‐1.el5.i686.rpm 
oracleasmlib‐2.0.4‐1.el5.i386.rpm  
 
[root@rac01 oracleasm]# rpm ‐ivh oracleasm‐support‐2.1.3‐1.el5.i386.rpm   
warning:  oracleasm‐support‐2.1.3‐1.el5.i386.rpm:  Header  V3  DSA  signature:  NOKEY,  key  ID 
1e5e0159 
Preparing...                 ########################################### [100%] 
    1:oracleasm‐support       ########################################### [100%] 
[root@rac01 oracleasm]# rpm ‐ivh oracleasm‐2.6.18‐128.el5‐2.0.5‐1.el5.i686.rpm  
warning: oracleasm‐2.6.18‐128.el5‐2.0.5‐1.el5.i686.rpm: Header V3 DSA signature: NOKEY, key ID 
1e5e0159 
Preparing...                 ########################################### [100%] 
    1:oracleasm‐2.6.18‐128.el########################################### [100%] 
[root@rac01 oracleasm]# rpm ‐ivh oracleasmlib‐2.0.4‐1.el5.i386.rpm              
warning: oracleasmlib‐2.0.4‐1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 
Preparing...                 ########################################### [100%] 
    1:oracleasmlib            ########################################### [100%]  
同樣在其他節點也執行。  
 


15.  以 root 使用者配置 ASMLib   (每個節點都需要安裝)   
If using user and group separation for the installation (as shown in this guide), the ASMLib driver 
interface owner  is grid and the group to own the driver  interface  is asmdba (oracle and grid are 
both members  of  this  group).  These  groups  were  created  in  section  2.1.  If  a more  simplistic 
installation  using  only  the  Oracle  user  is  performed,  the  owner  will  be  oracle  and  the  group 
owner will be dba.  
 
[root@rac01 init.d]# /etc/init.d/oracleasm   configure   
Configuring the Oracle ASM library driver. 
 
This will configure the on‐boot properties of the Oracle ASM library 
driver.   The following questions will determine whether the driver is 
loaded on boot and what permissions it will have.   The current values 
will be shown in brackets ('[]').   Hitting  without typing an 
answer will keep that current value.   Ctrl‐C will abort. 
 
Default user to own the driver interface [grid]:      
Default group to own the driver interface [asmadmin]: asmdba 
Start Oracle ASM library driver on boot (y/n) [y]:  
Scan for Oracle ASM disks on boot (y/n) [y]:  
Writing Oracle ASM library driver configuration: done 
Initializing the Oracle ASMLib driver:                      [   OK   ] 
Scanning the system for Oracle ASMLib disks:                [   OK   ] 
[root@rac01 init.d]# 

同樣在其他節點也執行上面命令。

 

16.  使用 ASMLib 去標示 Shared Disks 作為 Candidate Disks,在一個
節點執行即可。 
A.  使用 ASMLib 建立 ASM Disks ,  語法如下:  
# /usr/sbin/oracleasm   createdisk   disk_name   device_partition_name    
 
其中 disk_name 是你為 ASM  Disk 選擇的一個名字,名字只能包含數字字母及下劃線,比如
OCR_VOTE01  ,  ASMDATA01  等.   device_partition_name  標示為 ASM 的系磁碟分割槽,如
/dev/sdb1 , /dev/sdc1  等  
 
如果你發現設定錯誤或需要 unmark這個磁碟,可以執行如下命令:  
# /usr/sbin/oracleasm    deletedisk   disk_name   

 
下面開始設定共享磁碟。  
# /usr/sbin/oracleasm   createdisk   OCR_VOTE01   /dev/sdb1   
# /usr/sbin/oracleasm   createdisk   ASMDATA01   /dev/sdc1   
# /usr/sbin/oracleasm   createdisk   ASMDATA02   /dev/sdd1    
 
執行結果如下, 
[root@rac01 init.d]# /usr/sbin/oracleasm   createdisk   OCR_VOTE01   /dev/sdb1  
Writing disk header: done 
Instantiating disk: done 
[root@rac01 init.d]# /usr/sbin/oracleasm   createdisk   ASMDATA01   /dev/sdc1  
Writing disk header: done 
Instantiating disk: done 
[root@rac01 init.d]# /usr/sbin/oracleasm   createdisk   ASMDATA02   /dev/sdd1    
Writing disk header: done 
Instantiating disk: done 
 
B.   在節點 1上為 RAC建立了所有的 ASM disks 後,使用 listdisks  命令確認他們的可用性。 
[root@rac01 init.d]# /usr/sbin/oracleasm listdisks   
ASMDATA01 
ASMDATA02 
OCR_VOTE01 
然後在所有其他節點上以 root 使用者身份,使用 scandisks 命令掃描已經建立的 ASM 磁碟,也
就是說,我們只需要在節點 1 上建立 ASM 磁碟,其他節點不需要。  
 
[root@rac02 proc]# /usr/sbin/oracleasm   scandisks    
Reloading disk partitions: done 
Cleaning any stale ASM disks... 
Scanning system for ASM disks... 
Instantiating disk "OCR_VOTE01" 
Instantiating disk "ASMDATA01" 
Instantiating disk "ASMDATA02" 
 
最後在其他節點透過 listdisks  檢查 ASM 磁碟的可用性。  
[root@rac02 proc]# /usr/sbin/oracleasm   listdisks  
ASMDATA01 
ASMDATA02 
OCR_VOTE01 
 
17.  準備安裝 Oracle Grid Infrastructure   
切換到 grid 使用者,準備安裝 grid  Infrastructure  .  首先需要修改所有節點 grid 使用者的環境變
量.bash_profile .  
 
[root@rac01 init.d]# su ‐ grid  
[grid@rac01 ~]$ cd   /home/grid/ 
[grid@rac01 ~]$ vi   .bash_profile   
以下 grid 的 bash_profile,  僅供參考,還有一些引數可以自行加入。  
 
# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
# .bash_profile 
# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
# OS User:       grid 
# Application:    Oracle Grid Infrastructure 
# Version:       Oracle 11g release 2 
# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
# Get the aliases and functions 
if [ ‐f ~/.bashrc ]; then 
       . ~/.bashrc 
fi 
 
alias ls="ls ‐FA" 
 
# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
# ORACLE_SID 
# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
# Specifies the Oracle system identifier (SID) 
# for the Automatic Storage Management (ASM)instance 
# running on this node. 
# Each RAC node must have a unique ORACLE_SID. 
# (i.e. +ASM1, +ASM2,...) 
# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
 
ORACLE_SID=+ASM1; export ORACLE_SID 
JAVA_HOME=/usr/local/java; export JAVA_HOME 
ORACLE_BASE=/u01/grid/crs; export ORACLE_BASE 
ORACLE_HOME=/u01/grid/11.2.0 ; export ORACLE_HOME  
#  這裡注意: 測試發現安裝RAC的時候, grid使用者的ORACLE_BASE不能包含ORACLE_HOME,
#  比如  /u01/grid ,   /u01/grid/11.2  就不行。  
 
ORACLE_TERM=vt100 ;   export ORACLE_TERM 
NLS_DATE_FORMAT="DD‐MON‐YYYY HH24:MI:SS"; export NLS_DATE_FORMAT 
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11 
 
PATH=${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin 
PATH=${PATH}:/usr/bin:/bin:/sbin:/usr/bin/X11:/usr/local/bin 
PATH=${PATH}:/u01/product/common/oracle/bin 
export PATH 
 
LD_LIBRARY_PATH=$ORACLE_HOME/lib 
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib 
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib 
export LD_LIBRARY_PATH  
 
CLASSPATH=$ORACLE_HOME/JRE 
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib 
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib 
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib 
export   CLASSPATH  

export TEMP=/tmp 
export TMPDIR=/tmp  
umask 022 

同樣在其他節點的 grid 使用者.bash_profile 中加入,並注意修改 ORACLE_SID=+ASM1 . 


同樣,安裝 Oracle 軟體的 Oracle 使用者也需要設定.bash_profile .   
[root@rac01 init.d]# su ‐ oracle   
[grid@rac01 ~]$ cd   /home/oracle/ 
[grid@rac01 ~]$ vi   .bash_profile  
 
# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐  
# .bash_profile 
# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
# OS User:       oracle 
# Application:   Oracle Database Software Owner 
# Version:       Oracle 11g release 2 
# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
 
 
# Get the aliases and functions 
if [ ‐f ~/.bashrc ]; then 
       . ~/.bashrc 
fi 
 
alias ls="ls ‐FA" 
 
# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 
# ORACLE_SID 
# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 
# Specifies the Oracle system identifier (SID) for 
# the Oracle instance running on this node. 
# Each RAC node must have a unique ORACLE_SID. 
# (i.e. racdb1, racdb2,...) 
# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 
ORACLE_SID=racdb1; export ORACLE_SID 

 
# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 
# ORACLE_UNQNAME 
# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 
# In previous releases of Oracle Database, you were  
# required to set environment variables for 
# ORACLE_HOME and ORACLE_SID to start, stop, and 
# check the status of Enterprise Manager. With 
# Oracle Database 11g release 2 (11.2) and later, you 
# need to set the environment variables ORACLE_HOME  
# and ORACLE_UNQNAME to use Enterprise Manager.  
# Set ORACLE_UNQNAME equal to the database unique 
# name. 
# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 
ORACLE_UNQNAME=racdb; export ORACLE_UNQNAME 
 
 
JAVA_HOME=/usr/local/java; export JAVA_HOME  
ORACLE_BASE=/u01/product/oracle; export ORACLE_BASE 
ORACLE_HOME=$ORACLE_BASE/11.2.0/db_1; export ORACLE_HOME 
ORACLE_TERM=vt100; export ORACLE_TERM 
NLS_DATE_FORMAT="DD‐MON‐YYYY HH24:MI:SS"; export NLS_DATE_FORMAT 
 
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11 
 
PATH=${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin 
PATH=${PATH}:/usr/bin:/bin:/sbin:/usr/bin/X11:/usr/local/bin 
PATH=${PATH}:/u01/product/common/oracle/bin 
export PATH 
 
 
LD_LIBRARY_PATH=$ORACLE_HOME/lib 
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib 
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib 
export LD_LIBRARY_PATH 
 
CLASSPATH=$ORACLE_HOME/JRE 
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib 
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib 
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib 
export CLASSPATH 
 
export TEMP=/tmp 
export TMPDIR=/tmp 
umask 022 
 

其他節點也設定,並注意修改 ORACLE_SID 部分。


安裝用於  Linux  的  cvuqdisk  程式包  
 
在兩個  Oracle RAC  節點上安裝作業系統程式包  cvuqdisk。如果沒有  cvuqdisk,叢集驗證實
用程式就無法發現共享磁碟,當執行(手動執行或在  Oracle Grid  Infrastructure  安裝結束時
自動執行) 叢集驗證實用程式時, 您會收到這樣的錯誤訊息: “Package cvuqdisk not installed” 。
注意使用適用於你的硬體體系結構(例如,x86_64  或  i386)的  cvuqdisk RPM。  
 
cvuqdisk  RPM  包含在  Oracle  Grid  Infrastructure  安裝介質上的  rpm  目錄中。這裡是在
/u01/packages/grid/rpm  目錄中。  
 
[grid@rac01 rpm]$ ls   /u01/packages/grid/rpm  
cvuqdisk‐1.0.7‐1.rpm  

 
要安裝  cvuqdisk RPM,執行以下步驟:  
以  grid  使用者帳戶將  cvuqdisk  程式包從節點 1 複製到節點 2  : 
 
以  root  使用者身份分別登入到兩節點:  
設定環境變數  CVUQDISK_GRP, 使其指向作為  cvuqdisk  的所有者所在的組 (本文為  oinstall) :   
 
[root@rac01 ~]# CVUQDISK_GRP=oinstall; export CVUQDISK_GRP  
[root@rac01 rpm]# rpm ‐ivh cvuqdisk‐1.0.7‐1.rpm     
 
[root@rac02~]# CVUQDISK_GRP=oinstall; export CVUQDISK_GRP  
[root@rac02 rpm]# rpm ‐ivh cvuqdisk‐1.0.7‐1.rpm    
 


 
使用  CVU  驗證是否滿足  Oracle  叢集件要求(可選),下面文字只是說明。 
在執行  Oracle  安裝程式之前不一定要執行叢集驗證實用程式。從 Oracle Clusterware 11g  第 
2  版開始, Oracle Universal Installer (OUI)  會檢測到不滿足最低安裝要求的情況, 並建立  shell 
指令碼(稱為修復指令碼)以完成尚未完成的系統配置步驟。如果  OUI  發現未完成的任務,它
會生成修復指令碼  (runfixup.sh)。 在  Oracle Grid Infrastructure  安裝過程中, 單擊  Fix and Check 
Again Button  之後,可以執行修復指令碼。  
 
您也可以讓  CVU  在安裝之前生成修復指令碼。  
如果您決定親自執行  CVU,請記住要作為  grid  使用者在將要執行  Oracle  安裝的節點  (rac01) 
上執行。此外,必須為  grid  使用者配置透過使用者等效性實現的  SSH  連通性。如果您打算使
用  OUI  配置  SSH  連線,則  CVU  實用程式會失敗,它沒有機會執行其任何的關鍵檢查並生
成修復指令碼:  
 
 
這裡我們以傳統方式先建立各節點間的 SSH連通性(grid使用者)。 
在節點 1 上:  
[root@rac01 ~]# su ‐ grid 
[grid@rac01 ~]$ 
[grid@rac01 ~]$ cd /home/grid/ 
[grid@rac01 ~]$ mkdir .ssh  
[grid@rac01 ~]$ chmod   700 .ssh   
 
同樣在節點 2 上執行:  
[root@rac02 ~]# su ‐ grid 
[grid@rac02 ~]$ cd   /home/grid/ 
[grid@rac02 ~]$ mkdir   .ssh  
[grid@rac02 ~]$ chmod 700   .ssh   
在節點 1 上:  
[grid@rac01 ~]$ ssh‐keygen  ‐t rsa   
Generating public/private rsa key pair. 
Enter file in which to save the key (/home/grid/.ssh/id_rsa):  
Enter passphrase (empty for no passphrase):  
Enter same passphrase again:  
Your identification has been saved in /home/grid/.ssh/id_rsa. 
Your public key has been saved in /home/grid/.ssh/id_rsa.pub. 
The key fingerprint is: 
a7:fc:73:39:b5:b1:48:24:91:13:62:a7:9a:78:6a:57  

[grid@rac01 ~]$ ssh‐keygen  ‐t dsa  
Generating public/private dsa key pair. 
Enter file in which to save the key (/home/grid/.ssh/id_dsa):  
Enter passphrase (empty for no passphrase):  
Enter same passphrase again:  
Your identification has been saved in /home/grid/.ssh/id_dsa. 
Your public key has been saved in /home/grid/.ssh/id_dsa.pub. 
The key fingerprint is: 
6a:13:eb:f2:e9:a0:36:b1:bf:20:f2:38:4e:4b:0b:2d  
[grid@rac01 ~]$ 
 
同樣在節點 2 上執行:   
[grid@rac02 ~]$ ssh‐keygen  ‐t rsa  
Generating public/private rsa key pair. 
Enter file in which to save the key (/home/grid/.ssh/id_rsa):  
Enter passphrase (empty for no passphrase):  
Enter same passphrase again:  
Your identification has been saved in /home/grid/.ssh/id_rsa. 
Your public key has been saved in /home/grid/.ssh/id_rsa.pub. 
The key fingerprint is: 
93:4d:0e:22:33:72:59:03:23:78:04:72:2f:00:b1:ec   
 
[grid@rac02 ~]$ ssh‐keygen  ‐t dsa   
Generating public/private dsa key pair. 
Enter file in which to save the key (/home/grid/.ssh/id_dsa):  
Enter passphrase (empty for no passphrase):  
Enter same passphrase again:  
Your identification has been saved in /home/grid/.ssh/id_dsa. 
Your public key has been saved in /home/grid/.ssh/id_dsa.pub. 
The key fingerprint is: 
fe:66:09:95:1d:40:84:ba:d6:7b:39:e5:14:cf:de:8a  
 
在節點 1 上執行:  
[grid@rac01 .ssh]$ cd /home/grid/.ssh/ 
[grid@rac01 .ssh]$ ssh rac01 cat /home/grid/.ssh/id_rsa.pub   >>authorized_keys   
The authenticity of host 'rac01 (192.168.5.111)' can't be established. 
RSA key fingerprint is cf:cb:11:68:ed:84:d9:09:17:80:30:3f:ac:ca:1c:b6. 
Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added 'rac01,192.168.5.111' (RSA) to the list of known hosts. 
 password:  
Permission denied, please try again. 
 password:  
[grid@rac01 .ssh]$ ssh rac01 cat /home/grid/.ssh/id_dsa.pub   >>authorized_keys  
[grid@rac01 .ssh]$ ssh rac02 cat /home/grid/.ssh/id_rsa.pub   >>authorized_keys    
The authenticity of host 'rac02 (192.168.5.112)' can't be established. 
RSA key fingerprint is cf:cb:11:68:ed:84:d9:09:17:80:30:3f:ac:ca:1c:b6. 
Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added 'rac02,192.168.5.112' (RSA) to the list of known hosts. 
 password:  
[grid@rac01 .ssh]$ ssh rac02 cat /home/grid/.ssh/id_dsa.pub   >>authorized_keys    
 password:  
[grid@rac01 .ssh]$  
 
在節點 1 上將生成的 authorized_keys  複製到節點 2 上。  
[grid@rac01 .ssh]$ cd /home/grid/.ssh/ 
[grid@rac01 .ssh]$ scp authorized_keys   rac02:/home/grid/.ssh   
 password:  
authorized_keys                          100% 1984      1.9KB/s    00:00     
[grid@rac01 .ssh]$  
 
在節點 1 及節點 2 上 chmod   authorized_keys   。   
[grid@rac01 .ssh]$ cd /home/grid/.ssh/ 
[grid@rac01 .ssh]$ chmod   600   authorized_keys 
 
[grid@rac02 .ssh]$ cd /home/grid/.ssh/ 
[grid@rac02 .ssh]$ chmod 600 authorized_keys 
 
測試節點 1,2 的 SSH 連通性。 
在節點 1 上:  
[grid@rac01 .ssh]$ ssh rac01 date  
Tue Dec 28 13:54:54 CST 2010 
[grid@rac01 .ssh]$ ssh rac02 date   
Tue Dec 28 13:54:52 CST 2010 
[grid@rac01 .ssh]$ ssh racpri01 date     
The authenticity of host 'racpri01 (17.1.1.1)' can't be established. 
RSA key fingerprint is cf:cb:11:68:ed:84:d9:09:17:80:30:3f:ac:ca:1c:b6. 
Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added 'racpri01,17.1.1.1' (RSA) to the list of known hosts. 
Tue Dec 28 13:55:31 CST 2010 
[grid@rac01 .ssh]$ ssh racpri02 date   
The authenticity of host 'racpri02 (17.1.1.2)' can't be established. 
RSA key fingerprint is cf:cb:11:68:ed:84:d9:09:17:80:30:3f:ac:ca:1c:b6. 
Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added 'racpri02,17.1.1.2' (RSA) to the list of known hosts. 
Tue Dec 28 13:55:29 CST 2010 


在節點 2 上:  
[grid@rac02 .ssh]$ ssh rac01 date   
The authenticity of host 'rac01 (192.168.5.111)' can't be established. 
RSA key fingerprint is cf:cb:11:68:ed:84:d9:09:17:80:30:3f:ac:ca:1c:b6. 
Are you sure you want to continue connecting (yes/no)? yes    
Warning: Permanently added 'rac01,192.168.5.111' (RSA) to the list of known hosts. 
Tue Dec 28 13:56:24 CST 2010 
[grid@rac02 .ssh]$ ssh rac02 date     
The authenticity of host 'rac02 (192.168.5.112)' can't be established. 
RSA key fingerprint is cf:cb:11:68:ed:84:d9:09:17:80:30:3f:ac:ca:1c:b6. 
Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added 'rac02,192.168.5.112' (RSA) to the list of known hosts. 
Tue Dec 28 13:57:36 CST 2010 
[grid@rac02 .ssh]$ ssh racpri01 date    
The authenticity of host 'racpri01 (17.1.1.1)' can't be established. 
RSA key fingerprint is cf:cb:11:68:ed:84:d9:09:17:80:30:3f:ac:ca:1c:b6. 
Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added 'racpri01,17.1.1.1' (RSA) to the list of known hosts. 
Tue Dec 28 13:57:50 CST 2010 
[grid@rac02 .ssh]$ ssh racpri02 date    
The authenticity of host 'racpri02 (17.1.1.2)' can't be established. 
RSA key fingerprint is cf:cb:11:68:ed:84:d9:09:17:80:30:3f:ac:ca:1c:b6. 
Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added 'racpri02,17.1.1.2' (RSA) to the list of known hosts. 
Tue Dec 28 13:57:44 CST 2010  


手動執行 CVU 使用程式驗證 Oracle  叢集件要求(所有節點都執行):

到 grid 軟體解壓的目錄下執行 runcluvfy.sh  命令:  
[grid@racnode1 ~]$ cd   /u01/packages   
[grid@racnode1 grid]$ ./runcluvfy.sh stage -pre crsinst -n rac01,rac02  -fixup -verbose 
 
檢視  CVU  報告。  在本文所述配置情況下,應該只發現如下的唯一一個錯誤:  
 
[grid@rac01 grid]$ ./runcluvfy.sh stage -pre crsinst  -n rac01,rac02  -fixup  -verbose 
 
......


Check: Membership of user "grid" in group "dba"  
   Node Name          User Exists    Group Exists   User in Group   Comment          
    ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐    ‐‐‐‐‐‐‐‐‐‐‐‐    ‐‐‐‐‐‐‐‐‐‐‐‐    ‐‐‐‐‐‐

‐‐‐‐‐‐    ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 
   rac02              yes            yes            no             failed           
   rac01              yes            yes            no             failed           

.......

上面一個檢查失敗的原因是,透過任務角色劃分  配置建立了以角色分配的組和使用者,而  CVU  不能正確識
別這種配置。如何建立任務角色劃分配置。CVU  不能識別此類配置,因而假定  grid  使用者始終是  dba  組的
成員。可以放心地忽略這個失敗的檢查。CVU  執行的所有其他檢查的結果報告應該為“passed” ,之後才能
繼續進行  Oracle Grid Infrastructure  的安裝。  
 
 

同透過執行結果我們可以看到基本都是 passed,  如果 NTP 時間同步部分有 fail,  我們可以到
/etc/ntp.conf 下面將此檔案改名,比如 ntp.conf.bak  (安裝完成之後再改回來)  .  只要時間同步
就 OK .  同樣在節點 2 上執行上面的命令來檢驗。  
 
然後在節點 1 及節點 2 上使用 CVU 驗證硬體和作業系統設定。 
同樣,在  rac01  節點上以具有使用者等效性配置的  grid  使用者帳戶執行以下命令:  
[grid@rac01 ~]$ cd   /u01/packages/grid/    
[grid@rac01 grid]$ ./runcluvfy.sh   stage -post hwos -n rac01,rac02 -verbose   

 
檢視  CVU  報告。CVU  執行的所有其他檢查的結果報告應該為“passed” ,之後才能繼續進
行  Oracle Grid Infrastructure  的安裝。 
 
同樣在節點 2 上執行此驗證指令碼檢視結果,同樣,結果都為 passed 才能繼續安裝。  
 


18.   開始安裝  Grid Infrastructure  
需要圖形介面安裝 Grid  Infrastructure 軟體,這裡使用 VNC。以 grid 使用者登陸,進入到 grid  
infrastructure 解壓後的目錄,執行$./runInstaller  
 
A. 選擇Install and Configure Grid Infrastructure for a Cluster . 下一步。
   注意: 11g要使用ASM,即使單機也需要安裝Grid Infrastructure.
B. 選擇高階安裝 - Advanced Installation .
C. 選擇需要的語言,這裡我們全選了。
D. 填寫Cluster Name為rac, SCAN Name為racscan(與/etc/hosts中設定匹配),port=1521.
   不配置GNS.
E. 配置節點資訊: rac01, racvip01 ;  rac02, racvip02 .
F. 設定網路卡(按照/etc/hosts中IP對應設定,多餘的都設定為Do Not Use).
G. Storage項選擇ASM .
H. 建立ASM磁碟組:注意high表示5個映象,Normal表示3個映象,我們選擇External,因為
   我們測試只有一個磁碟組,沒有設定failure group, 生產庫一般最好選擇Normal.
   Disk Group Name : OCR_VOTE (自己起名字),選擇External, Add Disks部分,選擇
   Candidate Disks及對應的ORCL:OCR_VOTE01 .
I. 設定ASM例項的sys及sysasm使用者的密碼。
J. 選擇不使用IPMI .
K. 作業系統組: asmdba, asmoper, asmadmin .
L. grid使用者的ORACLE_BASE及ORACLE_HOME, 按照grid使用者的.bash_profile設定來。
   /u01/grid/crs,  /u01/grid/11.2.0
M. Oracle Inventory :  /u01/product/oraInventory .
O. 複製及安裝檔案,兩個節點按順序執行orainstRoot.sh及root.sh 指令碼。
   注意:執行root.sh比較長時間,所以最好vnc登入本機執行,以免斷開。
   如果中間出現異常需要解除安裝grid,可以使用下面命令徹底清理 :
   [grid@rac01 ~]$ cd /u01/grid/  
   [grid@rac01 grid]$ cd deinstall/  
   [grid@rac01 deinstall]$ ./deinstall   
P. 執行完成後OK, 我們可能看到安裝到最後可能會報錯INS-20802錯誤,可以skip。

我們在節點 1,2 上透過 crs_stat –t 檢視服務開啟狀態(oc4j 和 gsd offline 是正常的):  
[root@rac02 oracle]# su ‐ grid 
[grid@rac02 ~]$  
[grid@rac02 ~]$ crs_stat ‐t   
Name            Type            Target     State      Host         
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐ 
ora....ER.lsnr ora....er.type ONLINE     ONLINE     rac01        
ora....N1.lsnr ora....er.type ONLINE     ONLINE     rac01        
ora....VOTE.dg ora....up.type ONLINE     ONLINE     rac01        
ora.asm         ora.asm.type    ONLINE     ONLINE     rac01        
ora.eons        ora.eons.type   ONLINE     ONLINE     rac01        
ora.gsd         ora.gsd.type    OFFLINE    OFFLINE                
ora....network ora....rk.type ONLINE     ONLINE     rac01        
ora.oc4j        ora.oc4j.type   OFFLINE    OFFLINE                
ora.ons         ora.ons.type    ONLINE     ONLINE     rac01        
ora....SM1.asm application     ONLINE     ONLINE     rac01        
ora....01.lsnr application     ONLINE     ONLINE     rac01        
ora.rac01.gsd   application     OFFLINE    OFFLINE                
ora.rac01.ons   application     ONLINE     ONLINE     rac01        
ora.rac01.vip   ora....t1.type ONLINE     ONLINE     rac01        
ora....SM2.asm application     ONLINE     ONLINE     rac02        
ora....02.lsnr application     ONLINE     ONLINE     rac02        
ora.rac02.gsd   application     OFFLINE    OFFLINE                
ora.rac02.ons   application     ONLINE     ONLINE     rac02        
ora.rac02.vip   ora....t1.type ONLINE     ONLINE     rac02        
ora....ry.acfs ora....fs.type ONLINE     ONLINE     rac01        
ora.scan1.vip   ora....ip.type ONLINE     ONLINE     rac01   

備註:  
在 11gr2 中,預設 oc4j和 gsd 資源是 disable 的;  
oc4j  是用於WLM 的一個資源  , WLM在 11.2.0.2 才可用;  
gsd 是 CRS 用於跟 9i RAC  進行通訊的一個模組,是為了向後相容
才保留的,不影響效能;建議不要刪除,也不要嘗試開啟他們,  忽略即可。   

 

19.  開始安裝 Oracle RDBMS  軟體 

以 Oracle 使用者建立一個 vnc session,以便登入後不用切換使用者(透過 root 或其他使用者切換到
oracle 可能會碰到安裝圖形介面顯示的問題)。 

[root@rac02 u01]# su - oracle
[oracle@rac02 ~]$
[oracle@rac01 database]$ pwd
/u01/packages/database
[oracle@rac01 database]$
[oracle@rac01 database]$ ./runInstaller

圖形介面出現後。

A. 輸入Email . 不用選擇下面security部分,也不用設定proxry server.
B. 只是Install database software only.
C. 選擇Real Application Clusters database installation, 可以看到兩個節點node name.
   點選下面的 SSH Connectivity按鈕,設定oracle使用者密碼,點選Setup, 成功後點選Test.
D. 選擇語言。
E. 安裝企業版。
F. 按照Oracle使用者的.bash_profile設定ORACLE_BASE及ORACLE_HOME.
G. 選擇作業系統組: dba, oinstall .
H. 開始安裝。
I. 按照提示在各個節點按照順序執行root.sh .
J. 提示安裝成功。

 


20. 執行ASMCA建立磁碟組。

以grid使用者登入開始ASMCA配置磁碟組,因為是圖形介面,我們使用grid使用者的
vnc session .

[grid@rac01 bin]$ pwd 
/u01/grid/11.2.0/bin 
[grid@rac01 bin]$ ./asmca  
 
圖形介面顯示到Disk Groups 。我們可以看到先前配置的OCR_VOTE已經在列。點選
下面的create 建立datafile及flash recovery area的ASM磁碟組。

磁碟組名稱ORADATA, 冗餘部分選擇External, 點選磁碟為ORCL:ASMDATA01,點選OK.
繼續create
磁碟組名稱ORAFLASH, 冗餘部分選擇External, 磁碟為ORCL:ASMDATA02,點選OK.
全部OK後點選QUIT退出。

 

21.   執行 DBCA 建立資料庫。 
以 oracle 使用者登陸系統 dbca 建立資料庫,這裡我們以 oracle 使用者建立的 VNC  session 登入
VNC .  

[oracle@rac01 bin]$ dbca 

A. 建立RAC庫。
B. Create a Database.
C. 選擇Custom Database .
D. 配置型別為Admin-Managed, 全域性資料庫名及SID Prefix都是racdb(Oracle使用者的.bash_profile
   中有設定), 節點部分Select All.
E. 企業管理器部分預設。
F. 測試用,所以所有使用者設定一個密碼。
G. 設定儲存型別: ASM, 選擇"Use Common Location for All Database Files"
   Database Files Location:   +ORADATA, 彈出設定ASMSNMP密碼框。
H. 選擇Specify Flash Recovery Area , 路徑部分為+ORAFLASH, 大小為4977M,
   設定自動歸檔,點選設定歸檔路徑為 +ORADATA/RACDB/arch
   建議: 如果只是設定+ORADATA, 這裡歸檔檔案會使用 OMF的格式,不遵循初始引數中
   的 format,  建議安裝完成後手工自己建立一個 ASM 目錄來放置歸檔檔案,這樣檔案
   名稱就會遵守 format 規則了。警告資訊忽略。
I. 資料庫元件預設即可。
J. Mem 使用AMM, Sizing使用16K, 字符集採用AL32UTF8. 連線模式採用Dedicated Server.
K. 設定控制檔案及表空間,redo log group.
L. 安裝完畢。

 


22.   執行 DBCA 建立資料庫。

[grid@rac01 ~]$ crs_stat ‐t   
Name            Type            Target     State      Host         
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

‐‐‐‐‐‐ 
ora....ER.lsnr ora....er.type ONLINE     ONLINE     rac01        
ora....N1.lsnr ora....er.type ONLINE     ONLINE     rac01        
ora....VOTE.dg ora....up.type ONLINE     ONLINE     rac01        
ora.ORADATA.dg ora....up.type ONLINE     ONLINE     rac01        
ora....LASH.dg ora....up.type ONLINE     ONLINE     rac01        
ora.asm         ora.asm.type    ONLINE     ONLINE     rac01        
ora.eons        ora.eons.type   ONLINE     ONLINE     rac01        
ora.gsd         ora.gsd.type    OFFLINE    OFFLINE                
ora....network ora....rk.type ONLINE     ONLINE     rac01        
ora.oc4j        ora.oc4j.type   OFFLINE    OFFLINE                
ora.ons         ora.ons.type    ONLINE     ONLINE     rac01        
ora....SM1.asm application     ONLINE     ONLINE     rac01        
ora....01.lsnr application     ONLINE     ONLINE     rac01        
ora.rac01.gsd   application     OFFLINE    OFFLINE                
ora.rac01.ons   application     ONLINE     ONLINE     rac01        
ora.rac01.vip   ora....t1.type ONLINE     ONLINE     rac01        
ora....SM2.asm application     ONLINE     ONLINE     rac02        
ora....02.lsnr application     ONLINE     ONLINE     rac02        
ora.rac02.gsd   application     OFFLINE    OFFLINE                
ora.rac02.ons   application     ONLINE     ONLINE     rac02     
ora.rac02.vip   ora....t1.type ONLINE     ONLINE     rac02        
ora.racdb.db    ora....se.type ONLINE     ONLINE     rac01       
ora....ry.acfs ora....fs.type ONLINE     ONLINE     rac01        
ora.scan1.vip   ora....ip.type ONLINE     ONLINE     rac01        

 


問題點及解決:  
後來測試發現,歸檔路徑不能正常歸檔,可能是在設定規定那個路徑的時候有些問題。 
這裡重新透過 ASMCMD命令重新建立歸檔路徑及重新設定初始化引數中的歸檔路徑。 
[root@rac01 ~]# su ‐ grid 
[grid@rac01 ~]$ id 
uid=501(grid) gid=501(oinstall) groups=501(oinstall),504(asmadmin),506(asmdba),507(asmoper) 
[grid@rac01 ~]$ asmcmd 
ASMCMD> help  
ASMCMD> ls 
OCR_VOTE/ 
ORADATA/ 
ORAFLASH/ 
ASMCMD> cd oradata   (不區分大小寫的) 
ASMCMD> ls 
RACDB/ 
ASMCMD> cd racdb 
ASMCMD> ls 
CONTROLFILE/ 
DATAFILE/ 
ONLINELOG/ 
PARAMETERFILE/ 
TEMPFILE/ 
control01.ctl 
control02.ctl 
redo01.log 
redo02.log 
redo03.log 
redo04.log 
spfileracdb.ora 
準備在 ASM 磁碟下建立 arch 目錄,用於存放歸檔。 
ASMCMD> pwd   (檢視一下目錄)  
+oradata/racdb  
ASMCMD> mkdir arch  
ASMCMD>ls  
[root@rac01 ~]# su ‐ oracle 
[oracle@rac01 ~]$ sqlplus "/as sysdba"  
SQL> alter system set log_archive_dest_1='LOCATION=+ORADATA/RACDB/arch';   
歸檔測試,透過 ASMCMD 檢視 ASM磁碟下的歸檔情況,測試 OK.   

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-683412/,如需轉載,請註明出處,否則將追究法律責任。

相關文章