Red Hat Linux 5.4 (虛擬機器) 上安裝 Oracle11g R2 RAC (ASM) 【final】
http://blog.csdn.net/tianlesoftware/article/details/5314541 Red Hat Linux 5.4 (虛擬機器) 上安裝 Oracle11g R2 RAC (ASM) 【final】 -------------- 環境介紹: -------------- 節點名稱: rac001 , rac002 資料庫名稱: racdb 記憶體分配: 每節點 800M IP及SCANIP : Public IP: 10.161.32.177 , 10.161.32.179 Private IP: 10.1.1.11, 10.1.1.12 VIP: 10.161.32.187 , 10.161.32.189 SCANIP: 10.161.32.191 , 10.161.32.192 Grid Infrastructure 作業系統使用者grid , 主組為oinstall, 輔助組為asmadmin, asmdba, asmoper Oracle RAC 作業系統使用者 oracle , 主組為oinstall , 輔助組為dba, oper , asmdba Grid Infrastructure 安裝目錄(注意: 不是GRID_HOME哦) : ORACLE_BASE=/u01/product/grid/crs ORACLE_HOME=/u01/product/grid/11.2.0 備註: grid使用者的base及home不能有父子關係 。 Oracle RDBMS 安裝目錄 : ORACLE_BASE=/u01/product/oracle ORACLE_HOME=/u01/product/oracle/11.2.0/db_1 詳細說明參考: 同時設定Linux系統Firewall為disable, 關閉不需要的system service, 設定正確的timezone . 1. 使用者組及賬號設定 1.1. 在 root使用者環境下建立 OS 組(每個節點執行) 建立組之前要確認一下/etc/group及/etc/passwd下的組及使用者,確保每個節點 上的uid及gid 一致 (當然也可以建組的時候加入id號,groupadd -g 501 oinstall) 。 根據規劃: Grid Infrastructure 作業系統使用者grid , 主組為oinstall, 輔助組為asmadmin, asmdba, asmoper Oracle RAC 作業系統使用者 oracle , 主組為oinstall , 輔助組為dba, oper , asmdba # groupadd oinstall # groupadd asmadmin # groupadd asmdba # groupadd asmoper # groupadd dba # groupadd oper # cat /etc/group 檢視組建立情況 ..... oinstall:x:501: asmadmin:x:502: asmdba:x:503: asmoper:x:504: dba:x:505: oper:x:506: 1.2. 建立安裝 grid infrastructure 及 oracle軟體的使用者 (每個節點執行) 根據規劃: Grid Infrastructure 作業系統使用者grid , 主組為oinstall, 輔助組為asmadmin, asmdba, asmoper Oracle RAC 作業系統使用者 oracle , 主組為oinstall , 輔助組為dba, oper , asmdba #useradd -g oinstall -G asmadmin,asmdba,asmoper grid #useradd -g oinstall -G dba, oper, asmdba oracle 1.3. 為 grid及 oracle使用者設定密碼 (每個節點執行) # passwd oracle # passwd grid ------------------------------------------------------------------------ 備註: Oracle10g中還是使用sysdba管理asm例項,Oracle11g中使用一個新角色sysasm, 專用於 管理asm, 相當於針對asm的sysdba角色。 在Oracle11g RAC 中以grid使用者登入後 , 以 sysdba登入也是可以檢視asm例項相關的狀態, 但是不能做變更, sysasm 角色連線後才 可以。 ------------------------------------------------------------------------ 2. 網路設定 2.1 定義 cluster name, 這是 11g特有的, 預設為crs, 這裡定義為rac . 2.2 定義每個節點的 public hostname 也就是本機的 host name, 比如 rac001,rac002. 這裡推薦建立網路卡 bonding (具體設定 略,active/passive模式). 2.3 定義 public virtual hostname, 一般建議為‐vip 或直接接 vip. 2.4 開始修改所有節點的/etc/hosts (每個節點執行) , 同時修改相關IP地址。 [root@rac001 etc]# vi hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 10.161.32.161 rac001 10.1.1.11 pri001 10.161.32.173 vip001 10.161.32.162 rac002 10.1.1.12 pri002 10.161.32.179 vip002 # Single Client Access Name (SCAN IP) 10.161.32.182 racscan1 10.161.32.184 racscan2 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 10.161.32.161 4. 配置 Linux 核心引數 (所有節點設定) [root@rac001 etc]# vi sysctl.conf fs.aio‐max‐nr=1048576 fs.file‐max=6815744 kernel.shmall=2097152 kernel.shmmax=1073741824 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 [root@rac001 etc]# sysctl -p 使生效。 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/profile 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 目錄(在每個節點建立) 規劃目錄如下: Grid Infrastructure 安裝目錄(注意: 不是GRID_HOME哦) : ORACLE_BASE=/u01/product/grid/crs ORACLE_HOME=/u01/product/grid/11.2.0 備註: grid使用者的base及home不能有父子關係 。 注意: 11g單例項如果需要使用 ASM, 也必須安裝Grid ,且必須放在 ORACLE_BASE 下, 11g RAC則不行, 它的 grid家目錄必須另外放在一個地方,比如/u01/grid . # mkdir ‐p /u01/product/grid/crs # mkdir ‐p /u01/product/grid/11.2.0 # chown ‐R grid.oinstall /u01/product/grid/crs # chown ‐R grid.oinstall /u01/product/grid/11.2.0 # chmod ‐R 775 /u01/product/grid/crs # chmod ‐R 775 /u01/product/grid/11.2.0 8. 建立 Oracle Base 目錄(在每個節點建立) 規劃: Oracle RDBMS 安裝目錄 : ORACLE_BASE=/u01/product/oracle ORACLE_HOME=/u01/product/oracle/11.2.0/db_1 # 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 這個包可以不用安裝。 設定grid及oracle使用者的環境變數 。 Grid Infrastructure 安裝目錄(注意: 不是GRID_HOME哦) : ORACLE_BASE=/u01/product/grid/crs ORACLE_HOME=/u01/product/grid/11.2.0 Oracle RDBMS 安裝目錄 : ORACLE_BASE=/u01/product/oracle ORACLE_HOME=/u01/product/oracle/11.2.0/db_1 [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/product/grid/crs ; export ORACLE_BASE ORACLE_HOME=/u01/product/grid/11.2.0 ; 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 同樣在其他節點的 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 # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs BASH_ENV=$HOME/.BASHRC export BASH_ENV export TEMP=/tmp export TMPDIR=/tmp PATH=$PATH:$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin PATH=${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin PATH=${PATH}:/u01/product/common/oracle/bin export PATH ORACLE_SID=racdb1 ; export ORACLE_SID 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 export PATH=$ORACLE_HOME/bin:$PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH JAVA_HOME=/usr/local/java; export JAVA_HOME CLASSPATH=$ORACLE_HOME/JRE CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib export CLASSPATH set -u PS1=`hostname`'$';export PS1 EDITOR=/bin/vi; export EDITOR alias ll='ls -l'; alias ls='ls --color'; alias his='history'; umask 022 其他節點也設定,並注意修改 ORACLE_SID 部分。 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 10GB ASM Data Diskgroup (映象磁碟組) /dev/sde1 ASM_FRA 4GB ASM Flash Recovery Area Diskgroup 這裡是虛擬機器安裝 RAC, 所以需要設定共享磁碟檔案 (可以透過以下命令,也可以透過 VMware 介面新增,注意選擇磁碟時候需要選取 SCSI 1:1,SCSI 1:2,依次類推,多少個磁碟選擇 多少個)。如果是實體 Storage,這一步不需要。 A. 建立一個資料夾用於存放共享磁碟檔案 : E:\SharedDiskASM B. 執行下面命令生成共享檔案 C:\>cd C:\Program Files\VMware\VMware Workstation vmware‐vdiskmanager.exe ‐c ‐s 10Gb ‐a lsilogic ‐t 2 "E:\SharedDiskASM"\ShareDiskOCR.vmdk vmware‐vdiskmanager.exe ‐c ‐s 10Gb ‐a lsilogic ‐t 2 "E:\SharedDiskASM"\ShareDiskData01.vmdk vmware‐vdiskmanager.exe ‐c ‐s 10Gb ‐a lsilogic ‐t 2 "E:\SharedDiskASM"\ShareDiskData02.vmdk vmware‐vdiskmanager.exe ‐c ‐s 4Gb ‐a lsilogic ‐t 2 "E:\SharedDiskASM"\ShareDiskFlash.vmdk 這樣就生成了新的虛擬磁碟,其中‐s 10Gb 表示磁碟容量,‐a 表示介面型別 lsilogic 即 scsi 接 口,‐t 2 的意思是預分配磁碟空間,可以用‐t 0 選項,這樣就不會佔用空間了,實際用多少就多少. 可以看到在 E:\SharedDiskASM 生成了多個個檔案。 關閉 Linux 系統及虛擬機器 : 到虛擬機器目錄比如 D:\VM\Linux5_Test_ASM,直接編輯*.vmx 檔案, 加上下面語句(所有虛擬機器節點). disk.locking = "false" scsi1.virtualDev = "lsilogic" scsi1.present = "TRUE" scsi1.sharedBus = "virtual" diskLib.dataCacheMaxSize = "0" diskLib.dataCacheMaxReadAheadSize = "0" diskLib.DataCacheMinReadAheadSize = "0" diskLib.dataCachePageSize = "4096" diskLib.maxUnsyncedWrites = "0" scsi1:1.deviceType = "disk" scsi1:1.present = "TRUE" scsi1:1.fileName = "E:\SharedDiskASM\ShareDiskOCR.vmdk" scsi1:1.mode = "independent-persistent" scsi1:1.redo = "" scsi1:2.deviceType = "disk" scsi1:2.present = "TRUE" scsi1:2.fileName = "E:\SharedDiskASM\ShareDiskData01.vmdk" scsi1:2.mode = "independent-persistent" scsi1:2.redo = "" scsi1:3.deviceType = "disk" scsi1:3.present = "TRUE" scsi1:3.fileName = "E:\SharedDiskASM\ShareDiskData02.vmdk" scsi1:3.mode = "independent-persistent" scsi1:3.redo = "" scsi1:4.deviceType = "disk" scsi1:4.present = "TRUE" scsi1:4.fileName = "E:\SharedDiskASM\ShareDiskFlash.vmdk" scsi1:4.mode = "independent-persistent" scsi1:4.redo = "" 注意:這個檔案中的每一行都不能重複,否則會報錯, 而且不要去改變檔案的編碼格式 (如果提示需要儲存為其他編碼格式,比如unicode, 那麼就是複製的格式有問題,需要 手工寫入 )。 最後開啟虛擬機器程式(注意,一定要重新啟動vmware介面程式),檢視每個節點虛擬機器 Devices部分,在未開啟各個虛擬機器的時候就應該可以看到磁碟掛載情況 。 然後開機 再次確認 。 如果在未開啟時沒有看到磁碟資訊, 那麼就是寫入vmx檔案的語法有問題, 可以手工寫入(而不是複製)。 當然也可以透過VMWare圖形介面建立磁碟,注意共享磁碟選擇SCSI 1而不是0才可以。 這裡不詳細介紹。 13. 劃分共享磁碟 (在一個節點上執行 fdisk) [root@rac001 ~]# fdisk -l Disk /dev/sda: 16.1 GB, 16106127360 bytes 255 heads, 63 sectors/track, 1958 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 6 48163+ 83 Linux /dev/sda2 7 515 4088542+ 83 Linux /dev/sda3 516 1759 9992430 83 Linux /dev/sda4 1760 1958 1598467+ 5 Extended /dev/sda5 1760 1958 1598436 82 Linux swap / Solaris 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: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdd doesn't contain a valid partition table Disk /dev/sde: 4294 MB, 4294967296 bytes 255 heads, 63 sectors/track, 522 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sde doesn't contain a valid partition table [root@rac001 ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. The number of cylinders for this disk is set to 1305. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-1305, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305): Using default value 1305 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 再分別對 /dev/sdc, /dev/sdd, /dev/sde 進行磁碟分割槽。 最後結果如下: [root@rac001 ~]# fdisk -l Disk /dev/sda: 16.1 GB, 16106127360 bytes 255 heads, 63 sectors/track, 1958 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 6 48163+ 83 Linux /dev/sda2 7 515 4088542+ 83 Linux /dev/sda3 516 1759 9992430 83 Linux /dev/sda4 1760 1958 1598467+ 5 Extended /dev/sda5 1760 1958 1598436 82 Linux swap / Solaris 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: 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/sdd1 1 1305 10482381 83 Linux Disk /dev/sde: 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/sde1 1 522 4192933+ 83 Linux [root@rac001 ~]# 重新啟動節點 1,2 ,檢視是否都顯示掛載正常。 14. 安裝及配置 ASMLib (每個節點都需要安裝) 從Oracle OTN ASMLib網頁下載ASMLib包, 使用uname –a檢視系統核心版本, 下載的ASMLib 版本要與之匹配。 [root@rac002 ~]# uname -a Linux rac002 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i386 GNU/Linux [root@rac001 etc]# cat redhat-release Red Hat Enterprise Linux Server release 5.4 (Tikanga) 檢視是否有安裝過: [root@rac01 ~]# rpm -qa | grep oracleasm 匹配的 ASMLib 檔案如下 (以下也是檔案安裝順序): oracleasm-support-2.1.7-1.el5.i386.rpm oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm oracleasmlib-2.0.4-1.el5.i386.rpm [root@rac001 packages]# rpm -ivh oracleasm-support-2.1.7-1.el5.i386.rpm warning: oracleasm-support-2.1.7-1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing... ########################################### [100%] 1:oracleasm-support ########################################### [100%] [root@rac001 packages]# rpm -ivh oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm warning: oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing... ########################################### [100%] 1:oracleasm-2.6.18-164.el########################################### [100%] [root@rac001 packages]# 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%] [root@rac001 packages]# 同樣在其他節點也執行。 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@rac001 ~]# /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 Start Oracle ASM library driver on boot (y/n) [n]: y Scan for Oracle ASM disks on boot (y/n) [y]: y Writing Oracle ASM library driver configuration: done Initializing the Oracle ASMLib driver: [ OK ] Scanning the system for Oracle ASMLib disks: [ OK ] [root@rac001 ~]# 同樣在其他節點也執行上面命令。 16. 使用 ASMLib 去標示 Shared Disks 作為 Candidate Disks,在一個 節點執行即可。 A. 使用 ASMLib 建立 ASM Disks , 語法如下: # /usr/sbin/oracleasm createdisk disk_name device_partition_name 其中 disk_name 是你為 ASM Disk 選擇的一個名字,名字只能包含數字字母及下劃線,比如 OCR01 , DATA01 等. device_partition_name 標示為 ASM 的系磁碟分割槽,如/dev/sdb1 , /dev/sdc1 等 如果你發現設定錯誤或需要 unmark這個磁碟,可以執行如下命令: # /usr/sbin/oracleasm deletedisk disk_name 下面開始設定共享磁碟。 根據規劃: 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 10GB ASM Data Diskgroup (映象磁碟組) /dev/sde1 ASM_FRA 4GB ASM Flash Recovery Area Diskgroup # /usr/sbin/oracleasm createdisk OCR_VOTE01 /dev/sdb1 # /usr/sbin/oracleasm createdisk ASM_DATA01 /dev/sdc1 # /usr/sbin/oracleasm createdisk ASM_DATA02 /dev/sdd1 # /usr/sbin/oracleasm createdisk ASM_FRA /dev/sde1 執行結果如下, [root@rac001 ~]# /usr/sbin/oracleasm createdisk OCR_VOTE01 /dev/sdb1 Writing disk header: done Instantiating disk: done [root@rac001 ~]# /usr/sbin/oracleasm createdisk ASM_DATA01 /dev/sdc1 Writing disk header: done Instantiating disk: done [root@rac001 ~]# /usr/sbin/oracleasm createdisk ASM_DATA02 /dev/sdd1 Writing disk header: done Instantiating disk: done [root@rac001 ~]# /usr/sbin/oracleasm createdisk ASM_FRA /dev/sde1 Writing disk header: done Instantiating disk: done B. 在節點 1上為 RAC建立了所有的 ASM disks 後,使用 listdisks 命令確認他們的可用性。 [root@rac001 ~]# /usr/sbin/oracleasm listdisks ASM_DATA01 ASM_DATA02 ASM_FRA OCR_VOTE01 然後在所有其他節點上以 root 使用者身份,使用 scandisks 命令掃描已經建立的 ASM 磁碟,也 就是說,我們只需要在節點 1 上建立 ASM 磁碟,其他節點不需要。 [root@rac002 ~]# /usr/sbin/oracleasm scandisks Reloading disk partitions: done Cleaning any stale ASM disks... Scanning system for ASM disks... Instantiating disk "OCR_VOTE01" Instantiating disk "ASM_DATA01" Instantiating disk "ASM_DATA02" Instantiating disk "ASM_FRA" 最後在其他節點透過 listdisks 檢查 ASM 磁碟的可用性。 [root@rac002 ~]# /usr/sbin/oracleasm listdisks ASM_DATA01 ASM_DATA02 ASM_FRA OCR_VOTE01 17. 準備安裝 Oracle Grid Infrastructure 切換到 grid 使用者,準備安裝 grid Infrastructure . 首先需要確認所有節點 grid 使用者的環境變 量.bash_profile . 安裝用於 Linux 的 cvuqdisk 程式包 在兩個 Oracle RAC 節點上安裝作業系統程式包 cvuqdisk。如果沒有 cvuqdisk,叢集驗證實 用程式就無法發現共享磁碟,當執行(手動執行或在 Oracle Grid Infrastructure 安裝結束時 自動執行) 叢集驗證實用程式時, 您會收到這樣的錯誤訊息: “Package cvuqdisk not installed” 。 注意使用適用於你的硬體體系結構(例如,x86_64 或 i386)的 cvuqdisk RPM。 cvuqdisk RPM 包含在 Oracle Grid Infrastructure 安裝介質上的 rpm 目錄中。 解壓 linux_11gR2_grid.zip [root@rac001 packages]# unzip linux_11gR2_grid.zip [root@rac001 rpm]# cd /home/packages/grid/rpm [root@rac001 rpm]# ls cvuqdisk-1.0.7-1.rpm 要安裝 cvuqdisk RPM,執行以下步驟: 以 grid 使用者帳戶將 cvuqdisk 程式包從節點 1 複製到節點 2 : 以 root 使用者身份分別登入到兩節點: 設定環境變數 CVUQDISK_GRP, 使其指向作為 cvuqdisk 的所有者所在的組 (本文為 oinstall) : [root@rac001 rpm]# export CVUQDISK_GRP=oinstall [root@rac001 rpm]# rpm -ihv cvuqdisk-1.0.7-1.rpm Preparing... ########################################### [100%] 1:cvuqdisk ########################################### [100%] [root@rac001 rpm]# [root@rac002 home]# export CVUQDISK_GRP=oinstall [root@rac002 home]# rpm -ivh cvuqdisk-1.0.7-1.rpm Preparing... ########################################### [100%] 1:cvuqdisk ########################################### [100%] 使用 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@rac001 rpm]# su - grid [grid@rac001 ~]$ [grid@rac001 ~]$ cd /home/grid/ [grid@rac001 ~]$ mkdir .ssh mkdir: cannot create directory `.ssh': File exists [grid@rac001 ~]$ chmod 700 .ssh/ [grid@rac001 ~]$ 同樣在節點 2 上執行: [root@rac002 home]# su - grid [grid@rac002 ~]$ cd /home/grid/ [grid@rac002 ~]$ mkdir .ssh [grid@rac002 ~]$ chmod 700 .ssh [grid@rac002 ~]$ 在節點 1 上: [root@rac001 rpm]# su - grid [grid@rac001 ~]$ [grid@rac001 ~]$ cd /home/grid/ [grid@rac001 ~]$ mkdir .ssh mkdir: cannot create directory `.ssh': File exists [grid@rac001 ~]$ chmod 700 .ssh/ [grid@rac001 ~]$ 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: 57:eb:a8:61:e2:5f:a0:ed:0e:7d:4a:3d:41:df:fb:b1 grid@rac001 [grid@rac001 ~]$ 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: 08:7a:8c:74:4b:cd:34:fd:4a:eb:88:b4:fa:58:7d:0f grid@rac001 [grid@rac001 ~]$ 同樣在節點 2 上執行: [grid@rac002 ~]$ 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: d0:d2:58:0f:b5:93:f2:76:f0:9d:b5:d6:45:cc:72:f5 grid@rac002 [grid@rac002 ~]$ [grid@rac002 ~]$ 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: 6b:4b:12:50:c9:00:35:24:ab:ce:6c:ba:98:49:7f:2b grid@rac002 在節點 1 上執行: [grid@rac001 ~]$ cd /home/grid/.ssh/ [grid@rac001 .ssh]$ ssh rac001 cat /home/grid/.ssh/id_rsa.pub >>authorized_keys The authenticity of host 'rac001 (10.161.32.161)' can't be established. RSA key fingerprint is bf:17:7b:22:7a:fe:31:67:5e:7d:b2:a2:15:66:cf:4e. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'rac001,10.161.32.161' (RSA) to the list of known hosts. grid@rac001's password: [grid@rac001 .ssh]$ ssh rac001 cat /home/grid/.ssh/id_dsa.pub >>authorized_keys [grid@rac001 .ssh]$ ssh rac002 cat /home/grid/.ssh/id_rsa.pub >>authorized_keys The authenticity of host 'rac002 (10.161.32.162)' can't be established. RSA key fingerprint is bf:17:7b:22:7a:fe:31:67:5e:7d:b2:a2:15:66:cf:4e. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'rac002' (RSA) to the list of known hosts. grid@rac002's password: [grid@rac001 .ssh]$ ssh rac002 cat /home/grid/.ssh/id_dsa.pub >>authorized_keys grid@rac002's password: [grid@rac001 .ssh]$ 在節點 1 上將生成的 authorized_keys 複製到節點 2 上。 [grid@rac001 .ssh]$ cd /home/grid/.ssh/ [grid@rac001 .ssh]$ scp authorized_keys rac002:/home/grid/.ssh/ grid@rac002's password: authorized_keys 100% 1988 1.9KB/s 00:00 [grid@rac001 .ssh]$ 在節點 1 及節點 2 上 chmod authorized_keys 。 [grid@rac001 .ssh]$ cd /home/grid/.ssh/ [grid@rac001 .ssh]$ chmod 600 authorized_keys [grid@rac002 .ssh]$ cd /home/grid/.ssh/ [grid@rac002 .ssh]$ chmod 600 authorized_keys 測試節點 1,2 的 SSH 連通性。 在節點 1 上: [root@rac001 ~]# su - grid [grid@rac001 ~]$ ssh rac001 date Thu Nov 10 16:47:25 CST 2011 [grid@rac001 ~]$ ssh rac002 date Thu Nov 10 16:47:28 CST 2011 [grid@rac001 ~]$ ssh pri001 date The authenticity of host 'pri001 (10.1.1.11)' can't be established. RSA key fingerprint is bf:17:7b:22:7a:fe:31:67:5e:7d:b2:a2:15:66:cf:4e. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'pri001,10.1.1.11' (RSA) to the list of known hosts. Thu Nov 10 16:47:37 CST 2011 [grid@rac001 ~]$ ssh pri002 date The authenticity of host 'pri002 (10.1.1.12)' can't be established. RSA key fingerprint is bf:17:7b:22:7a:fe:31:67:5e:7d:b2:a2:15:66:cf:4e. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'pri002,10.1.1.12' (RSA) to the list of known hosts. Thu Nov 10 16:47:43 CST 2011 [grid@rac001 ~]$ 在節點 2 上: [root@rac002 ~]# su - grid [grid@rac002 ~]$ ssh rac001 date The authenticity of host 'rac001 (10.161.32.161)' can't be established. RSA key fingerprint is bf:17:7b:22:7a:fe:31:67:5e:7d:b2:a2:15:66:cf:4e. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'rac001,10.161.32.161' (RSA) to the list of known hosts. Thu Nov 10 16:48:40 CST 2011 [grid@rac002 ~]$ ssh rac002 date The authenticity of host 'rac002 (10.161.32.162)' can't be established. RSA key fingerprint is bf:17:7b:22:7a:fe:31:67:5e:7d:b2:a2:15:66:cf:4e. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'rac002,10.161.32.162' (RSA) to the list of known hosts. Thu Nov 10 16:48:45 CST 2011 [grid@rac002 ~]$ ssh pri001 date The authenticity of host 'pri001 (10.1.1.11)' can't be established. RSA key fingerprint is bf:17:7b:22:7a:fe:31:67:5e:7d:b2:a2:15:66:cf:4e. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'pri001,10.1.1.11' (RSA) to the list of known hosts. Thu Nov 10 16:48:54 CST 2011 [grid@rac002 ~]$ ssh pri002 date The authenticity of host 'pri002 (10.1.1.12)' can't be established. RSA key fingerprint is bf:17:7b:22:7a:fe:31:67:5e:7d:b2:a2:15:66:cf:4e. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'pri002,10.1.1.12' (RSA) to the list of known hosts. Thu Nov 10 16:49:01 CST 2011 手動執行 CVU 使用程式驗證 Oracle 叢集件要求(一個節點執行): 到 grid 軟體解壓的目錄下執行 runcluvfy.sh 命令: [root@rac001 ~]# su - grid [grid@rac001 ~]$ cd /home/packages/grid/ [grid@rac001 grid]$ ./runcluvfy.sh stage -pre crsinst -n rac001,rac002 -fixup -verbose 檢視 CVU 報告。 在本文所述配置情況下,應該只發現如下的唯一一個錯誤: 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 . 然後在節點 1 上使用 CVU 驗證硬體和作業系統設定。 同樣,在 rac01 節點上以具有使用者等效性配置的 grid 使用者帳戶執行以下命令: [root@rac001 ~]# su - grid [grid@rac001 grid]$ cd /home/packages/grid/ [grid@rac001 grid]$ ./runcluvfy.sh stage -post hwos -n rac001,rac002 -verbose 檢視 CVU 報告。CVU 執行的所有其他檢查的結果報告應該為“passed” ,之後才能繼續進 行 Oracle Grid Infrastructure 的安裝。 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. 配置節點資訊: rac001, vip001 ; rac002, vip002 . 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 . 備註: (1). 如果是用來放置ocr/vd的diskgroup,那麼external,normal,high 對應的failgroup至少 為1,3,5個,也就是至少需要1,3,5個disk (2). 如果是普通的ASM 用來放置data file的diskgroup,那麼external,normal,high對應的 failgroup至少為1,2,3個,也就是至少需要1,2,3個disk I. 設定ASM例項的sys及sysasm使用者的密碼。 J. 選擇不使用IPMI . K. 作業系統組: asmdba, asmoper, asmadmin . L. grid使用者的ORACLE_BASE及ORACLE_HOME, 按照grid使用者的.bash_profile設定來。 /u01/product/grid/crs , /u01/product/grid/11.2.0 M. Oracle Inventory : /u01/product/grid/oraInventory , 注意這些目錄的許可權。 O. 複製及安裝檔案,兩個節點按順序執行orainstRoot.sh及root.sh 指令碼。 注意:執行root.sh比較長時間,所以最好vnc登入本機執行,以免斷開。 如果中間出現異常需要解除安裝grid,可以使用下面命令徹底清理 : [grid@rac001 ~]$ cd /u01/grid/ [grid@rac001 grid]$ cd deinstall/ [grid@rac001 deinstall]$ ./deinstall 如果在安裝過程中出現問題需要重新安裝grid infrastructure軟體,那麼還需要 對ocr及votingdisk所在區域進行清理 (ASM) : [root@rac001 ~]# dd if=/dev/zero f=/dev/sdb1 bs=10M count=10 P. 執行完成後OK, 我們可能看到安裝到最後可能會報錯INS-20802錯誤,可以skip。 我們在節點 1,2 上透過 crs_stat –t 檢視服務開啟狀態(oc4j 和 gsd offline 是正常的): [root@rac002 oracle]# su ‐ grid [grid@rac002 ~]$ [grid@rac002 ~]$ 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@rac002 u01]# su - oracle [oracle@rac002 ~]$ [oracle@rac001 database]$ pwd /u01/packages/database [oracle@rac001 database]$ [oracle@rac001 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@rac001 bin]$ pwd /u01/grid/11.2.0/bin [grid@rac001 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@rac001 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@rac001 ~]$ 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@rac001 ~]# su ‐ grid [grid@rac001 ~]$ id uid=501(grid) gid=501(oinstall) groups=501(oinstall),504(asmadmin),506(asmdba),507(asmoper) [grid@rac001 ~]$ 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-712534/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Red Hat Linux 5.3 (虛擬機器) 上安裝 Oracle11g RACLinux虛擬機Oracle
- 虛擬機器下red hat 6.5 linux安裝oracle11g虛擬機LinuxOracle
- 在red hat enterprise linux 5.4上安裝oracle11gLinuxOracle
- 虛擬機器上靜默安裝oracle11g rac虛擬機Oracle
- 虛擬機器安裝rac傻瓜教程虛擬機
- 在linux虛擬機器上安裝10g rac注意事項Linux虛擬機
- 在Red Hat和Centos上安裝MongoDBCentOSMongoDB
- 虛擬機器 redhat 6.5 oracle11g RAC虛擬機RedhatOracle
- 在 Red Hat Advanced Server 4 上安裝 Oracle 10.2.0.1 RAC (zt)ServerOracle
- red hat linux 9.0安裝求助!(轉)Linux
- Oracle11g R2 RAC安裝Oracle
- Linux 安裝 KVM 虛擬機器Linux虛擬機
- CentOS5.4上安裝RACCentOS
- RAC-虛擬機器linux安裝RAC時的雙網路卡設定虛擬機Linux
- Linux red hat 核心版下安裝NginxLinuxNginx
- Red Hat Linux安裝CentOS的yum源LinuxCentOS
- 在VMware上安裝CentOS版本的Linux虛擬機器CentOSLinux虛擬機
- Linux虛擬機器安裝配置到專案上架Linux虛擬機
- 在虛擬機器VMware上安裝Linux系統教程虛擬機Linux
- 安裝虛擬機器虛擬機
- 虛擬機器安裝10g rac錯誤虛擬機
- linux 虛擬機器下 安裝redisLinux虛擬機Redis
- NOI Linux 虛擬機器安裝教程Linux虛擬機
- 在 Red Hat Linux 9 上安裝 Oracle9i Database(轉)LinuxOracleDatabase
- Red Hat Enterprise Linux Server 7.4 安裝LinuxServer
- red hat linux 9.0下安裝oracle 8.1.7(轉)LinuxOracle
- 虛擬機器搭建rac ASM盤啟動失敗虛擬機ASM
- linux虛擬機器執行機必安裝Linux虛擬機
- 1 Oracle Database 11.2.0.3.0 RAC On Oralce Linux 6.5 使用-虛擬機器安裝OracleDatabaseLinux虛擬機
- LEDE 虛擬機器安裝虛擬機
- 虛擬機器安裝ubuntu虛擬機Ubuntu
- ubuntu虛擬機器安裝Ubuntu虛擬機
- linux 下虛擬機器的安裝與解除安裝Linux虛擬機
- Linux 虛擬機器詳細安裝MySQLLinux虛擬機MySql
- VMwareWorkstation虛擬機器安裝Linux系統虛擬機Linux
- 虛擬機器下安裝 linux6虛擬機Linux
- 虛擬機器環境下RAC刪除節點(Final)虛擬機
- oracle9i在Red Hat Linux7.3上的安裝(轉)OracleLinux