Oracle 11g rac 生產環境部署詳錄

Oracle 11g rac 生產環境部署詳錄




作者:田逸([email protected]




 




基本規劃





 




設備選型




1、服務器:Dell R620 兩臺。cpu 8 core,內存64G600G 15000sas硬盤,雙電源,hba卡一塊,連接存儲線纜一根(連接hba卡和共享存儲)。




2、存儲:dell MD3200 一臺。雙控制器,12600G 15000sas硬盤。爲追求最高可用性,使用的raid級別是raid10.




3、交換機:華爲3com兩臺,型號爲h3c S5048E。注意:網絡端口最好是全千兆。




4、網線:2-3米機制6類線數根。--曾遇到網線不夠,問IDC機房要了根網管自己做的六類線,質量不行,結果導致rac節點之間心跳檢查時好時壞。




5、輔助設備:***kvm over ip各一個




1)小型簡單的***DI-8200 上網行爲管理認證路由器。價格1000多,便宜穩定。很適合拿來配***,用於登錄系統,管理各個服務器。      


2kvm overip型號爲ATEN cn8000。在系統不能遠程登錄的時候,打電話給IDC技術人員,讓他們把這個設備連接到故障機,然後通過瀏覽器進行各種處理,如重裝系統、查看屏幕信息、ctrl + Alt + Del重啓等。這跟直接去機房連顯示器和鍵盤是一樣的效果。我敢保證,打車去機房現場處理,一定沒電話給IDC機房,讓人給接上這個設備快.




 



網絡規劃




1、網卡綁定:2個網卡綁定在一起,服務器的四個網卡,正好全部用上。即有效利用了帶寬,又能增強可用性。




2ip地址分配:應用連接網絡地址爲172.16.208.0/24,節點間心跳網絡地址爲 192.168.208.0/24




3、網絡連接及管理




1)心跳網絡與應用網絡物理分離,各接一個交換機。




2)服務器沒有公網地址,必須通過***撥號,才能進行系統登錄管理。




 



系統及所需工具




1、服務器操作系統:centos 5.9 64位,定製安裝系統,選件包括xwindowgnome。因安裝oracle時需要圖形用戶界面,一個好的選擇就是vncserver。在進行正式部署前,最好確保安裝好了vncserver。一個定製好的系統的分區爲:




[root@rac70 ~]# df -h




Filesystem            Size  Used Avail Use% Mounted on




/dev/sda6              29G   16G   12G  60% /




/dev/sda9             362G  215G  129G  63% /u01




/dev/sda8              15G  165M   14G   2% /tmp




/dev/sda7              19G   15G  3.9G  79% /home




/dev/sda5              29G  2.5G   25G  10% /usr




/dev/sda3              29G  321M   27G   2% /var




/dev/sda1              99M   19M   75M  21% /boot




tmpfs                  32G   18G   15G  55% /dev/shm




2、oracle軟件:





(1)集羣管理軟件linux.x64_11gR2_grid.zip,從oracle官網下載(需要註冊爲境外的電子郵件)





(2)數據庫軟件 linux.x64_11gR2_database,從oracle官網下載(需要註冊爲境外的電子郵件)





(3)存儲管理軟件 mdstoragemanager,從供貨商獲得光盤或者從dell的官網下載





(4)oracle asm相關軟件:oracleasm-2.6.18-308.el5-2.0.5-1.el5.x86_64.rpm、oracleasmlib-2.0.4-1.el5.x86_64.rpm、oracleasm-support-2.1.7-1.el5.x86_64.rpm。這三個軟件,一定要跟操作系統內核版本相一致,否則不能進行後邊的操作。





 



◎分區使用及文件系統





1、oracle數據庫及集羣軟件安裝在本地硬盤/u01分區。





(1)集羣軟件路徑 /u01/app/grid





(2)數據庫軟件路徑 /u01/app/oracle/product/11.2.0





(3)集羣軟件和數據庫軟件base路徑爲都爲 /u01/app/oracle。因爲軟件安裝路徑(ORACLE_HOME)不能與BASE是同一個目錄,因此這裏弄得有點混亂,甚至有點彆扭。幸運的是,這樣令人疑惑的設置也能正常工作。希望將來的項目,可以提前把這樣的設置規劃得更規範些。打開一個安裝好的環境,進入ORACLE_BASE目錄,其子目錄如下:





[root@db40 oracle]# ll




total 20




drwxr-x--- 3 oracle oinstall 4096 Mar  2 23:52 admin




drwxr-x--- 6 oracle oinstall 4096 Mar  2 23:52 cfgtoollogs




drwxr-xr-x 2 oracle oinstall 4096 Mar  2 23:20 checkpoints




drwxrwxr-x 5 oracle oinstall 4096 Mar  2 23:52 diag




drwxr-xr-x 3 oracle oinstall 4096 Mar  2 23:12 product




再進入目錄diag,有三個子目錄存在:





[root@db40 diag]# ll




total 12




drwxr-x--- 3 oracle oinstall 4096 Mar  2 21:50 asm




drwxr-x--- 3 oracle oinstall 4096 Mar  2 23:52 rdbms




drwxr-xr-x 3 oracle oinstall 4096 Mar  2 21:53 tnslsnr




瞧,asm文件系統、數據庫以及監聽器的告警日誌都能在這裏找到。如asm告警日誌/u01/app/oracle/diag/asm/+asm/+ASM2/alert/log.xml。





2、數據存儲使用oracle自家ASM(自動存儲管理),劃分三個asm磁盤組:OCR、FLASH、DATA(OCR佔據空間最小大約分配500M;FLASH次之,分配大概300G;剩餘的全部分配給DATA)。其中:





◆OCR存儲集羣註冊信息





ASMCMD> pwd     




+OCR/db1-scan




ASMCMD> ls




ASMPARAMETERFILE/




OCRFILE/




◆FLASH存儲歸檔日誌及rman默認備份集





ASMCMD> cd FLASH




ASMCMD> ls




ZYZF/




ASMCMD> cd ZYZF




ASMCMD> ls




ARCHIVELOG/




BACKUPSET




◆DATA存儲oracle數據庫元數據及用戶數據





ASMCMD> cd DATA




ASMCMD> ls




ZYZF/




ASMCMD> cd ZYZF




ASMCMD> ls




CONTROLFILE/




DATAFILE/




ONLINELOG/




PARAMETERFILE/




TEMPFILE/




control01.ctl




control02.ctl




………此處輸出省略若干…………….





redo07.log




redo08.log




spfilezyzf.ora




3、Dell MD3200存儲管理軟件使用默認安裝路徑 /opt/dell/mdstoragesoftware。





4、asm管理軟件使用rpm包安裝,安裝文件自然滿山放羊,到處都有:比如配置文件在/etc/sysconfig/oracleasm,設備名在目錄/dev/oracleasm/disks,可執行文件在這裏/etc/init.d/oracleasm。





 



拓撲圖clip_image002




 




執行步驟





1、  準備運行環境;




2、  準備及配置共享存儲;




3、  準備數據庫存儲空間;




4、  安裝集羣工具grid;




5、  安裝和創建oracle數據庫




特別說明:因爲文檔爲後期撰寫,爲了描述更詳盡,截圖可能來自不同的運行環境,因此如果出現圖片中ip地址與描述不一致的情況,請勿過多質疑。




 



(一)、準備運行環境




這裏的運行環境環境主要包括遠程桌面環境(我使用的是vnc服務)、安裝軟件所需的依賴工具、創建相關的帳號及目錄、設置網絡連接等。




 



設置網絡(每個節點都需要設置)




修改文件 /etc/modprobe.conf,使其內容爲:




alias scsi_hostadapter mpt2sas




alias eth0 tg3




alias eth1 tg3




alias eth2 tg3




alias eth3 tg3




alias scsi_hostadapter1 megaraid_sas




alias scsi_hostadapter2 ahci




alias scsi_hostadapter3 usb-storage




# Begin Dell MD Modification




options scsi_dh_rdac blacklist="DELL:MD3000,DELL:MD3000i"




# End Dell MD Modification




alias bond0 bonding




options bond0 miimon=100 mode=0




alias bond1 bonding




options bond1 miimon=100 mode=0




修改網絡接口文件,使其內容如下(爲了描述方便,數個文件一起貼出)




[root@rac70 network-scripts]# more ifcfg-eth0




# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe




DEVICE=eth0




#HWADDR=E0:DB:55:20:E7:10




ONBOOT=yes




TYPE=Ethernet




USERCTL=no




MASTER=bond0




SLAVE=yes




TYPE=Ethernet




 



[root@rac70 network-scripts]# more ifcfg-eth1




# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe




DEVICE=eth1




BOOTPROTO=none




#HWADDR=e0:db:55:20:e7:11




ONBOOT=yes




TYPE=Ethernet




USERCTL=no




MASTER=bond0




SLAVE=yes




TYPE=Ethernet




 



[root@rac70 network-scripts]# more ifcfg-eth2




# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe




DEVICE=eth2




BOOTPROTO=none




#HWADDR=e0:db:55:20:e7:12




ONBOOT=yes




TYPE=Ethernet




USERCTL=no




MASTER=bond1




SLAVE=yes




TYPE=Ethernet




 



[root@rac70 network-scripts]# more ifcfg-eth3




# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe




DEVICE=eth3




#HWADDR=E0:DB:55:20:E7:13




ONBOOT=yes




HOTPLUG=no




BOOTPROTO=none




TYPE=Ethernet




MASTER=bond1




SLAVE=yes




TYPE=Ethernet




創建新的網絡配置文件,其完整內容如下:




[root@rac70 network-scripts]# more ifcfg-bond0




# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe




DEVICE=bond0




BOOTPROTO=none




BROADCAST=172.16.208.255




IPADDR=172.16.208.70




NETMASK=255.255.255.0




NETWORK=172.16.208.0




ONBOOT=yes




GATEWAY=172.16.208.201




TYPE=Ethernet




 



[root@rac70 network-scripts]# more ifcfg-bond1




# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe




DEVICE=bond1




BOOTPROTO=none




ONBOOT=yes




DHCP_HOSTNAME=oracle70




TYPE=Ethernet




USERCTL=no




IPADDR=192.168.208.70




NETMASK=255.255.255.0




追加下面的行到/etc/rc.local文件




modprobe bonding miimon=100 mode=0




配置完畢後,重啓一下系統,檢查配置的正確性及聯通性。正確配置的輸出如下圖所示:




clip_image004




 



配置vnc服務(每個rac節點都需要配置)




1確保安裝了vncserver軟件。測試方法:任意路徑執行命令 vncserver,如果命令不存在,則運行命令yum install vncserver安裝一下。




2、執行 vncserver啓動服務,如果是第一次啓動,需要設置vnc服務的密碼,這裏建議設置跟系統root相同的密碼(要用複雜密碼喲!)。




3、修改文件/root/.vnc/xstart,使其內容爲:




#!/bin/sh




 



# Uncomment the following two lines for normal desktop:




unset SESSION_MANAGER




exec /etc/X11/xinit/xinitrc




 



[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup




[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources




xsetroot -solid grey




vncconfig -iconic &




xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &




#twm &




gnome start&




4、重啓系統,再啓動vncserver,然後在windows機器啓用vnc客戶端,遠程連接,看是否能出現遠程服務器的圖形桌面。




clip_image006




 



創建安裝軟件所需的帳號、目錄、依賴軟件等。爲了節省時間和避免出錯,我把這些步驟寫成一個粗糙的腳本,執行一次就可以了。腳本的內容如下:




[root@db40 oracle_rac]# more oracle_rac_rep.sh




#!/bin/bash




#writed by sery 2012-05-16




 



#########################################




#install depending packages             #




#########################################




yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc \ glibc-common glibc-devel gcc gcc-c++ libaio-devel \




libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel \




pdksh numactl-devel glibc-headers




 



########################################




#add groups,user and create dir        #




########################################




/usr/sbin/groupadd -g 501 oinstall




/usr/sbin/groupadd -g 502 dba




/usr/sbin/groupadd -g 504 asmadmin




/usr/sbin/groupadd -g 506 asmdba




/usr/sbin/groupadd -g 507 asmoper




 



useradd -u 1000 -g oinstall -G dba,asmdba oracle




useradd -u 1006 -g oinstall -G asmadmin,asmdba,asmoper grid




 



mkdir /u01/app/




chown -R grid:oinstall /u01/app/




chmod -R 775 /u01/app/




 



mkdir -p /u01/app/oraInventory




chown -R grid:oinstall /u01/app/oraInventory




chmod -R 775 /u01/app/oraInventory




 



mkdir -p /u01/app/grid




mkdir -p /u01/app/oracle




 



chown -R grid:oinstall /u01/app/grid




chown -R oracle:oinstall /u01/app/oracle




 



chmod -R 775 /u01/app/oracle




chmod -R 775 /u01/app/grid




 



##############################################




#modify  sysctl.conf                         #




##############################################




cat >> /etc/sysctl.conf <<done




fs.file-max = 6815744




kernel.shmall = 2097152




#kernel.shmmax = 536870912




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




fs.aio-max-nr = 1048576




done




 



sysctl -p




 



###############################################




#modify  /etc/security/limits.conf            #




###############################################




cat >> /etc/security/limits.conf << done




grid soft nproc 2047




grid hard nproc 16384




grid soft nofile 1024




grid hard nofile 65536




oracle soft nproc 2047




oracle hard nproc 16384




oracle soft nofile 1024




oracle hard nofile 65536




done




 



################################################




#modify /etc/pam.d/login                       #




################################################




echo "session    required     pam_limits.so">>/etc/pam.d/login




 



################################################




# setting user oracle env                            #




################################################




cat >> /home/oracle/.bash_profile <<done




export ORACLE_SID=zyzf1




export ORACLE_UNQNAME=zyzf1




export ORACLE_base=/u01/app/oracle




export ORACLE_HOME=/u01/app/oracle/product/11.2.0




export PATH=$ORACLE_HOME/bin:$PATH




done




 



###############################################




#setting user grid env                             #




###############################################




cat >> /home/grid/.bash_profile <<done




export ORACLE_SID=+ASM1




export ORACLE_BASE=/u01/app/oracle




export ORACLE_HOME=/u01/app/grid




export PATH=$ORACLE_HOME/bin:$PATH




done




 



設置相關主機名及ip映射(每個節點都要進行)




修改文件/etc/hosts,使其內容爲:




[root@db40 oracle_rac]# more /etc/hosts





# Do not remove the following line, or various programs




# that require network functionality will fail.




127.0.0.1       db40    localhost.localdomain localhost




::1             localhost6.localdomain6 localhost6




 



# Pubic




172.16.5.40         db40




172.16.5.50         db50




# Private




10.16.5.40        db40-priv




10.16.5.50        db50-priv




# Virtual




172.16.5.41         db40-vip




172.16.5.51         db50-vip




# SCAN




172.16.5.55         db1-scan




 



#dghost




172.16.5.60        datadg




 



(二)、準備及配置共享存儲




 



確保服務器與存儲設備做好了物理連接:通過查看設備指示燈獲得信息。正常情況下,hba卡的指示燈、存儲設備連線處的指示燈,都應該顯示綠色。




 



主機安裝存儲管理軟件powervault。注意:每個rac節點都需要安裝,否則未安裝的節點將不能發現共享磁盤。具體的過程如下:




遠程vnc連接服務器




進入軟件目錄,執行命令./md_launcher_rhel_x86_64.bin




clip_image008




彈出安裝窗口;




clip_image010




鼠標點擊Install MD Storage Software




clip_image012




選默認的情況就行;




clip_image014




選擇sas(我用的是MD3200,正好匹配),後邊的安裝就很容易了,這裏不在贅述。安裝完系統後,將在桌面生成圖標,點擊圖表,就可以進行存儲管理。




 



clip_image016




如果不幸出現如下錯誤,請修改/etc/hosts文件解決




clip_image017




配置共享存儲(在一個節點上執行即可)




1、雙擊圖標,啓動存儲管理工具




clip_image019




2、選擇手動Manual,然後選擇帶內管理




clip_image021




3此處輸入連接磁盤陣列的主機ip地址




4創建磁盤組,選擇raid級別爲RAID10,把12個盤都選擇上,這個過程很費時間




clip_image023




5虛擬磁盤映射到主機,目的是要連接到陣列的主機都能訪問到虛擬磁盤組




clip_image025




6填入一個容易標識的名稱




clip_image027




7鼠標右鍵點擊剛創建的主機組名稱,調出主機定義




clip_image029




8輸入主機名(以/etc/hosts爲準)




clip_image031




9選擇連接端口,這裏需要注意,弄錯了,主機識別不到磁盤組的




clip_image033




10鼠標點擊按鈕”Add”




clip_image035




定義好第一個主機後的界面爲




clip_image037




用同樣的方法,把餘下的主機也定義好。




clip_image038




11定義附件映射,亦即是給主機分配可訪問的磁盤空間




clip_image040




12、點擊附加映像




clip_image042




13、選定虛擬磁盤(前邊做raid創建出來的),然後鼠標點擊Add




clip_image044




檢查rac節點服務器是否識別上述步驟創建的虛擬磁盤(每個節點都要檢查,確保其正確性)。在主機上執行fdisk –l




clip_image045




如果沒有識別,重啓一下系統就好了。




主機磁盤分區(僅需在一個主機進行,完成後在其它主機查看分區情況)




因爲容量大於2TB,因此需要使用parted進行分區。根據規劃,我們需要分6個分區,分別用來存儲OCRFLASH AREA及數據文件。




分區前,使用multipath –ll查看磁盤設備文件的名稱,確保分區在正確的設備上進行




clip_image046




進入目錄 /dev/mapper,查看是否存在mpath*這樣的文件




clip_image047




本例顯示的磁盤陣列映射的設備名是mpath2,那麼用dparted分區,就要在/dev/mapper/mpath2上進行了。分區後的結果如下




clip_image048




◆檢查分區是否成功?進入目錄/dev/mapper,可以看到分區後新生成的文件




clip_image049




 



 



(三)安裝和配置自動存儲管理ASM




 



oracle 11g rac推薦的存儲方式爲ASMAutomatic Storage Management),具體功能和概念,就沒必要在這裏重複。我們需要根據系統的內核版本,在官網下載與內核相一致的rpm安裝包。




clip_image051




一共三個,如圖所示:




clip_image053




如果下載來的包跟內核不匹配,將會導致asm初始化失敗,不能進行進一步的操作。這是初學者很容易犯的錯誤,切記了!




 



安裝asm相關的軟件包




執行 rpm –ivh oracleadm*進行安裝。這幾個包之間有依賴關係,如果一個個單獨安裝,需要按某種順序進行,如果使用通配符*,就省事多了,它能自動進行依賴處理。




clip_image055




安裝完oracleasm以後,至少會生成目錄 /dev/oracleasm/disks,這時我們可以查看一下這個目錄,發現它裏面是空的,接下來的操作,就可以在目錄裏生成如果文件了。




執行/etc/init.d/oracleasm configure ,進行初始化,根據輸出指定asm的屬主及組。




接下來,就可以創建asm磁盤組了,所執行的命令如下:




[root@db40 ~]# service oracleasm start




Initializing the Oracle ASMLib driver: [  OK  ]




Scanning the system for Oracle ASMLib disks: [  OK  ]




[root@db40 ~]# /etc/init.d/oracleasm createdisk  OCR_VOL1 /dev/mapper/mpath2p1




Marking disk "OCR_VOL1" as an ASM disk: [  OK  ]




[root@db40 ~]# /etc/init.d/oracleasm createdisk  OCR_VOL2 /dev/mapper/mpath2p2





Marking disk "OCR_VOL2" as an ASM disk: [  OK  ]




[root@db40 ~]# /etc/init.d/oracleasm createdisk  FLASH_VOL1 /dev/mapper/mpath2p3




Marking disk "FLASH_VOL1" as an ASM disk: [  OK  ]




[root@db40 ~]# /etc/init.d/oracleasm createdisk  FLASH_VOL2 /dev/mapper/mpath2p4




Marking disk "FLASH_VOL2" as an ASM disk: [  OK  ]




[root@db40 ~]# /etc/init.d/oracleasm createdisk  DATA_VOL1 /dev/mapper/mpath2p5





Marking disk "DATA_VOL1" as an ASM disk: [  OK  ]




[root@db40 ~]# /etc/init.d/oracleasm createdisk  DATA_VOL2 /dev/mapper/mpath2p6





Marking disk "DATA_VOL2" as an ASM disk: [  OK  ]




我一共創建6oracle asm磁盤,這樣做的好處是把數據儘可能的分散到不同的磁盤區域,後邊再把2asm磁盤合併成一個磁盤組,提高可用性和擴充空間。




 



如果執行過程出現故障,可通過日誌文件/var/log/oracleam看出端倪。執行完以後,用一下方法檢查是否如願(一次安裝過程中,發現一個節點沒有目錄/dev/oracleasm,日誌/var/log/oracleasm有“oracleasm-read-label: Unable to open device "/dev/sdb1": No such file or directory”,折騰半天,原來是沒執行/etc/init.d/oracleasm enable):




 



檢查oracleasm創建的磁盤是否成功




(1)       查看系統目錄,看是不是至少存在6個文件




clip_image056




2)從邏輯上查看asm磁盤組,記得要在每一個rac主機查詢




[root@db50 ~]# /etc/init.d/oracleasm scandisks




Scanning the system for Oracle ASMLib disks: [  OK  ]




[root@db50 ~]# /etc/init.d/oracleasm listdisks




DATA_VOL1




DATA_VOL2




FLASH_VOL1




FLASH_VOL2




OCR_VOL1




OCR_VOL2




 



 



(四)安裝集羣軟件grid




 



grid軟件安裝(安裝過程只需在一個節點執行,有腳本需要同時在每個節點都運行,請注意看安裝提示就可以了)。




 



Vnc連接服務器,打開終端,執行xhost + ,接着進入源安裝文件目錄,執行命令 ./runInstaller,如果正常,將彈出如下圖的安裝界面:




clip_image058




選擇典型安裝




SCAN的名稱,要與/etc/hosts完全一致,特別注意,在同一個網段內,要保證這個命名的唯一性如果在同一網段內部署多個oracle rac集羣,scan的命名如果重複了,安裝將不能繼續進行!!!




clip_image060




加入餘下的主機(默認情況下,只有一個主機顯示)




clip_image062




一定要對着/etc/hosts定義好的填寫




clip_image063




添加好後,主機名應該顯示在列表中




clip_image065




Ssh連接驗證,點按鈕”SSH Connectivity …”,這裏一定要做好ssh無密碼驗證,否則下一步不能進行(我在這裏費了好長的時間啊)。




clip_image067




說明:ssh連接,也可以不用手工設置,直接點那個setup進行處理,省事不少。




選擇安裝目錄及存儲位置(注意base要有location不一樣喲)




clip_image069




創建asm磁盤組,因爲磁盤陣列做了raid10,因此下邊的冗餘等級就選擇外部的(External




clip_image071




這些名字看着眼熟吧?就是前邊oracleasm createdisk創建出來的。這裏勾選2個項目,目的在於把他們合併成一個asm磁盤組。如果此處沒有找到候選磁盤,則需點擊按鈕“Change Discovery Path”就,進行手工查找。




clip_image072




最好輸入全路徑,幸運的是,這裏支持通配符.這裏創建的磁盤組,是用來存儲asm磁盤仲裁等信息。




再往下進行校驗,突然彈出一個報錯信息,是關於ntp的。先關閉ntpd服務,然後刪掉配置文件/etc/ntp.conf,這樣就排除了故障。




clip_image074




到這裏以後,一般不會出什麼狀況,只管點按鈕“完成”進行文件的提取和安裝,執行到一定程度後,需要以root帳號執行兩個腳本/u01/app/oraInventory/orainstRoot.sh/u01/app/grid/root.sh,後一個腳本很費時間,也容易出錯。




 



第一個服務器,執行一次通過,但第二個服務器執行時,出現錯誤信息:




ASM failed to start. Check /u01/app/oracle/cfgtoollogs/asmca/asmca-14030210PM2304.log for details.




 



Configuration of ASM failed, see logs for details




Did not succssfully configure and start ASM




CRS-2500: Cannot stop resource 'ora.crsd' as it is not running




CRS-4000: Command Stop failed, or completed with errors.




Command return code of 1 (256) from command: /u01/app/grid/bin/crsctl stop resource ora.crsd -init




Stop of resource "ora.crsd -init" failed




通過對比檢查,發現兩個服務器的目錄屬主有不一致的地方。正確運行腳本成功的那個/dev/oracleasm/下的目錄屬主是grid:oinstall,而有問題的那個主機的屬主是root:root,執行/ete/init.d/oracleasm指定屬主和組,保證文件的屬組和主是正確的,然後執行./roothas.pl -delete -force -verbose  ,刪除不成功的配置,最後執行/u01/app/grid/root.sh完成安裝。注意:安裝界面有2個失敗,是因爲私有地址做的public,可以無視。




 



◎檢查安裝的正確性





 



(1)       查看asm進程




(2)       grid帳號,執行 asmcmd ,提示符下ls查看目錄或者文件,有內容者則是我們鎖需要的。




clip_image075




(3)       查看安裝目錄,看是否生成相關的目錄很文件




clip_image076




 



(五)Oracle安裝和數據庫創建




 



安裝數據庫軟件(在一個節點進行操作,安裝過程中,有腳本需要同時在每個節點都運行,請注意看安裝提示就可以了)




 



與安裝grid一樣,還是需要用vnc連接到某個節點的系統,執行 xhost + ,然後再打開一個終端,執行 su – oracle 切換到oracle用戶。再進入安裝源文件的目錄,執行腳本./runInstaller,如果正常,將彈出如下圖的安裝界面:




clip_image078




先安裝軟件,後邊單獨創建數據庫。




grid一樣,需要先進行ssh驗證




clip_image080




驗證成功以後,後邊的步驟不容易出錯,也跟單實例安裝基本相同。




 



創建數據庫(在一個節點上操作)




 



oracle帳號執行dbca




clip_image082




若干下一步後,咱們還是選擇定製方式吧(Custom Database




clip_image084




記得把所有的主機都選上




clip_image086




創建所需asm磁盤組(前邊安裝grid時,已經創建過一組了):grid用戶執行asmca




clip_image088




手工輸入和選定一些項目




clip_image090




轉呀轉,要一點點耐心,嘿!剛敲到這裏,就出來了




clip_image091




創建好後,目前還可以改喲。將來數據庫上線運行了,不能再做這個嘗試了。現有環境創建完後彙總輸出如下




clip_image093




選擇數據庫文件存放的位置。當然要選ASM。如果不執行這個磁盤組創建過程,後面的數據庫文件存放位置,如果選asm,將不能往下進行。




clip_image095




選容量最大的這個(OCR已經被前邊的操作佔用了,FLASH留到後邊用)




clip_image097




往下一步的時候,需要輸入asm的一個密碼。密碼在前天的grid安裝設定的喲,要記牢。




歸檔區也用asm,這就用上前邊剩下的asm磁盤組FLASH,一個也沒多餘。




clip_image099




自己動手,選大的




clip_image101




歸檔要打勾喲(當然實例運行起來後,也是可以打開的)




clip_image103




後邊幾步,就不用截圖了。到這裏,就慢慢等着吧




clip_image105




 



部署過程,很漫長,也很考驗人的耐性。




 



後續及注意事項





 




oracle rac數據庫創建後,默認的一些系統表空間太小,運行不了多久,就會達到90%以上,最好在創建完畢後把它改大一些。




oracle rac監聽器監聽的ip地址是虛擬地址,如果嘗試連接實際物理地址,將永遠不會得逞。




oracle rac心跳檢查導致大量的數據通訊,因此對網絡的質量和速度要求較高。一個運行中的oracle rac集羣,曾因爲少買了一根網線而使用機房提供的劣質六類線,導致心跳檢測時好時壞,引起實例關閉。




用戶表空間,固定大小,擴充容量以創建多個數據文件爲佳。




默認的重做日誌文件也很小,需要多創建幾個日誌組,並增大其容量。




oracle rac運行起來後,一定要做好備份,熟練的用好rman,將會有很多好處。




如果條件運行,跨機房的dataguard給弄上喲。




多路徑沒配好,可能會導致數據路徑交替切換,一會走這條數據線,一會又走另一條數據線。直接的表現就是數據訪問緩慢。通過查詢報警日誌可以得到有用的信息。




報警日誌文件非常有用,要經常關注它!




修改/etc/sysconfig/ntp,增加行OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid" 重啓ntpd服務




Ssh等效要雙向,即從任何一個服務器可以無密碼登錄另一個服務器系統




/etc/hosts的第一行,要把主機名去掉;同時/etc/sysconf/network裏面的名稱,要與/etc/hosts一致




Oracleasm配置時,一定要注意屬主和組名。否則會有權限問題。Oracleasm configure –i 指定interferegrid,groupsoinstall。因爲oracle帳號也屬於oinstall




 



寫這些文字,花了不少時間,希望能對需要的人有所幫助。網上有一些文檔,但大部分都是虛擬環境,領會不了asm真實場景的特性。




 



                                                      2014-8-28 大興黃村出租房

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章