Solaris裸裝置安裝三節點RAC102(四)

yangtingkun發表於2011-01-29

利用裸裝置安裝Solaris上的三節點Oracle 10.2 RAC

這一篇主要討論ORACLE資料庫建立過程。

Solaris裸裝置安裝三節點RAC102(一):http://yangtingkun.itpub.net/post/468/512772

Solaris裸裝置安裝三節點RAC102(二):http://yangtingkun.itpub.net/post/468/512835

Solaris裸裝置安裝三節點RAC102(三):http://yangtingkun.itpub.net/post/468/512883

 

上一篇文章中已經將資料庫軟體安裝完成,下面開始建庫操作。

在建庫之前,其實是打補丁的好時機。這個時候打完補丁,直接建庫就可以了。而如果先建立資料庫後,在打補丁的時候就需要停掉所有的資料庫服務,安裝補丁,然後對現有的資料庫進行升級,相對要複雜一些。

為了介紹詳細的補丁安裝過程,這裡就選擇了先建立資料庫。

啟動Xmanager,切換到oracle使用者,執行dbca

# xhost +
access control disabled, clients can connect from any host
# su - oracle
Sun Microsystems Inc.   SunOS 5.8       Generic Patch   October 2001
$ dbca  

進入DBCA歡迎介面。由於建立了RAC環境,歡迎介面可以選擇Oracle Real Application Clusters databaseOracle single instance database。選擇RAC,點選next

進行任務選擇列表,這裡包括建立資料庫、配置資料庫選項、刪除資料庫、管理模板、例項管理、服務管理和配置ASM7個選項。由於是尚未建立資料庫,因此只有建立資料庫、管理模板和配置ASM是目前可選的。這裡由於是在裸裝置上直接建立資料庫,因此這裡選擇第一項建立資料庫。

進入節點選擇介面,將三個節點全部選中,點選next

資料庫模板選擇,一般來說,現有的三個模板都不是很合適,因此選擇Custom Database,點選next

Global Database NameSID Prefix處都填入testrac。如果資料庫需要新增域名,可以在全域性資料庫名稱出後面加上“.domain_name”。點選next

進入管理選項,這裡採用預設的配置:配置Enterprise Manager。如果需要郵件通知或備份設定可以將相應的選項選中,並填入郵件地址、郵件伺服器以及作業系統使用者和密碼等資訊。點選next

密碼管理,可以為SYSSYSTEMDBSNMPSYSMAN同一設定口令,也可以設定分別的口令。密碼設定完成後,點選next

進入儲存選項頁面:這裡有三個選項,Cluster檔案系統、ASM和裸裝置。這裡選擇裸裝置,如果有編輯好的裸裝置對映檔案,可以在這裡提供給DBCA進行參考。

之所以這裡說參考,是因為Oracle的裸裝置對映檔案還存在一些問題。比如多個資料檔案,或者額外的表空間,或者像當前RAC環境的多個THREADREDO,都難以透過對映檔案來直接對映。對於DBCA不存在bugSolarisWindows環境,可以考慮不使用對映檔案,而直接在最後設定檔案的時候直接進行修改。

前面提到了由於網路卡的不同,作業系統載入裸裝置時對映相同裸裝置的名稱並不相同。最穩妥的方法是用類似ocrvot磁碟的方法,在每個伺服器的/dev/rac目錄下分別建立每個資料檔案、控制檔案和日誌檔案的連結。讓不同的伺服器的連線指向不同的裸裝置名稱,這樣避免多個伺服器上裸裝置名稱不同的問題。

在節點1上執行:

# ln -s -f /dev/rdsk/c2t3d1s1 /dev/rac/system.dbf
# ln -s -f /dev/rdsk/c2t3d1s3 /dev/rac/sysaux.dbf
# ln -s -f /dev/rdsk/c2t3d1s4 /dev/rac/undotbs1.dbf
# ln -s -f /dev/rdsk/c2t3d1s5 /dev/rac/undotbs2.dbf
# ln -s -f /dev/rdsk/c2t3d1s6 /dev/rac/undotbs3.dbf
# ln -s -f /dev/rdsk/c2t3d2s4 /dev/rac/redo1_1.log
# ln -s -f /dev/rdsk/c2t3d2s5 /dev/rac/redo1_2.log
# ln -s -f /dev/rdsk/c2t3d3s1 /dev/rac/redo2_1.log
# ln -s -f /dev/rdsk/c2t3d3s3 /dev/rac/redo2_2.log
# ln -s -f /dev/rdsk/c2t3d3s4 /dev/rac/redo3_1.log
# ln -s -f /dev/rdsk/c2t3d3s5 /dev/rac/redo3_2.log
# ln -s -f /dev/rdsk/c2t3d4s5 /dev/rac/users.dbf
# ln -s -f /dev/rdsk/c2t3d5s1 /dev/rac/control1.ctl
# ln -s -f /dev/rdsk/c2t3d5s3 /dev/rac/control2.ctl
# ln -s -f /dev/rdsk/c2t3d5s4 /dev/rac/control3.ctl
# ln -s -f /dev/rdsk/c2t3d5s5 /dev/rac/spfiletestrac.ora
# ln -s -f /dev/rdsk/c2t3d11s6 /dev/rac/temp.dbf
# chown oracle:oinstall /dev/rac/*

在節點2上執行:

# ln -s -f /dev/rdsk/c2t500601603022E66Ad1s1 /dev/rac/system.dbf
# ln -s -f /dev/rdsk/c2t500601603022E66Ad1s3 /dev/rac/sysaux.dbf
# ln -s -f /dev/rdsk/c2t500601603022E66Ad1s4 /dev/rac/undotbs1.dbf
# ln -s -f /dev/rdsk/c2t500601603022E66Ad1s5 /dev/rac/undotbs2.dbf
# ln -s -f /dev/rdsk/c2t500601603022E66Ad1s6 /dev/rac/undotbs3.dbf
# ln -s -f /dev/rdsk/c2t500601603022E66Ad2s4 /dev/rac/redo1_1.log
# ln -s -f /dev/rdsk/c2t500601603022E66Ad2s5 /dev/rac/redo1_2.log
# ln -s -f /dev/rdsk/c2t500601603022E66Ad3s1 /dev/rac/redo2_1.log
# ln -s -f /dev/rdsk/c2t500601603022E66Ad3s3 /dev/rac/redo2_2.log
# ln -s -f /dev/rdsk/c2t500601603022E66Ad3s4 /dev/rac/redo3_1.log
# ln -s -f /dev/rdsk/c2t500601603022E66Ad3s5 /dev/rac/redo3_2.log
# ln -s -f /dev/rdsk/c2t500601603022E66Ad4s5 /dev/rac/users.dbf
# ln -s -f /dev/rdsk/c2t500601603022E66Ad5s1 /dev/rac/control1.ctl
# ln -s -f /dev/rdsk/c2t500601603022E66Ad5s3 /dev/rac/control2.ctl
# ln -s -f /dev/rdsk/c2t500601603022E66Ad5s4 /dev/rac/control3.ctl
# ln -s -f /dev/rdsk/c2t500601603022E66Ad5s5 /dev/rac/spfiletestrac.ora
# ln -s -f /dev/rdsk/c2t500601603022E66Ad11s6 /dev/rac/temp.dbf
# chown oracle:oinstall /dev/rac/*

在節點3上執行:

# ln -s -f /dev/rdsk/c1t500601603022E66Ad1s1 /dev/rac/system.dbf
# ln -s -f /dev/rdsk/c1t500601603022E66Ad1s3 /dev/rac/sysaux.dbf
# ln -s -f /dev/rdsk/c1t500601603022E66Ad1s4 /dev/rac/undotbs1.dbf
# ln -s -f /dev/rdsk/c1t500601603022E66Ad1s5 /dev/rac/undotbs2.dbf
# ln -s -f /dev/rdsk/c1t500601603022E66Ad1s6 /dev/rac/undotbs3.dbf
# ln -s -f /dev/rdsk/c1t500601603022E66Ad2s4 /dev/rac/redo1_1.log
# ln -s -f /dev/rdsk/c1t500601603022E66Ad2s5 /dev/rac/redo1_2.log
# ln -s -f /dev/rdsk/c1t500601603022E66Ad3s1 /dev/rac/redo2_1.log
# ln -s -f /dev/rdsk/c1t500601603022E66Ad3s3 /dev/rac/redo2_2.log
# ln -s -f /dev/rdsk/c1t500601603022E66Ad3s4 /dev/rac/redo3_1.log
# ln -s -f /dev/rdsk/c1t500601603022E66Ad3s5 /dev/rac/redo3_2.log
# ln -s -f /dev/rdsk/c1t500601603022E66Ad4s5 /dev/rac/users.dbf
# ln -s -f /dev/rdsk/c1t500601603022E66Ad5s1 /dev/rac/control1.ctl
# ln -s -f /dev/rdsk/c1t500601603022E66Ad5s3 /dev/rac/control2.ctl
# ln -s -f /dev/rdsk/c1t500601603022E66Ad5s4 /dev/rac/control3.ctl
# ln -s -f /dev/rdsk/c1t500601603022E66Ad5s5 /dev/rac/spfiletestrac.ora
# ln -s -f /dev/rdsk/c1t500601603022E66Ad11s6 /dev/rac/temp.dbf
# chown oracle:oinstall /dev/rac/*

恢復配置介面,由於選擇裸裝置,則Flash Recovery Area就沒有辦法設定,除非為了閃回設定單獨的ASM例項並載入磁碟組。至於 Archiving為了建立資料庫更加快速可以先置為非歸檔狀態,在安裝結束後,在各個例項上設定本地磁碟路徑進行歸檔。

選擇資料庫安裝元件,預設的就是選中所有可用的元件。這裡可以去掉認為不需要的元件。也可以配置自己的指令碼,使得建庫完成後,Oracle自動呼叫。配置完成後,點選next

資料庫服務頁面,這裡不需要建立額外的服務,因此這裡直接點選NEXT進行下面的操作。資料庫建立以後也可以透過DBCA來單獨設定服務。

下面是資料庫記憶體、初始化引數、連線模式、字符集、資料庫塊的設定。這個就需要根據機器的配置進行相應的設定了。其他的設定無所謂,在建立資料庫之後還可以修改,但是資料庫塊的大小和字符集應該正確的進行設定。

在啟動引數的地方設定使用SPFILE引數,引數的名稱輸入前面建立的連結:/dev/rac/spfiletestrac.ora。設定完成後,點選NEXT繼續。

下面是資料庫儲存設定,根據前面建立的連結,輸入SYSTEMSYSAUXTEMPUSERSUNDOTBS1UNDOTBS2UNDOTBS3表空間所對應的資料檔案的名稱,並根據裸裝置的大小設定這些資料檔案的大小。輸入三個控制檔案對應的路徑/dev/rac和檔名稱。輸入3個例項對應的歸檔日誌的檔名稱和路徑,根據裸裝置分配的大小設定歸檔日誌檔案的大小。全部設定完成後,點選next

無論是日誌檔案還是資料檔案,記得設定的大小要比裸裝置的實際大小減少1M,否則在監控的時候可能會出現ORA-27042錯誤。

需要注意一下,很多版本的dbca在這一步的時候有bug,修改資料檔案的位置或大小後,原有的配置沒有改變,但是會出現一條新的配置。這就會造成最後建立資料庫的過程出錯。如果出現這種情況,可以將配置輸出到建庫指令碼,然後手工修改建庫指令碼,最後透過指令碼執行。

最後是建立選項,可以選擇建立資料庫、建立指令碼和建立模板。一般情況會將三個選擇全部選中,然後點選Finish

Oracle會彈出彙總對話方塊,確認後點選ok,安裝開始。

注意,有的時候一些引數填錯之後不好修改,設定有的時候建庫失敗的時候才會發現。這個時候沒有關係,只需要後退到相應的配置目錄進行修改就可以了。其他的引數如果沒有變化不需要進行修改。

安裝完畢,出現密碼管理介面,點選exit

這時Oracle會進行一些CLUSTER級的工作,包括重啟整個資料庫,設定其他的例項,並啟動資料庫的所有例項。

利用sqlplus進行登陸並檢查:

$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 5 10 19:31:30 2010

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


連線到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options

SQL> select name from v$database;

NAME
---------
TESTRAC

SQL> col host_name format a30 
SQL> select instance_number, instance_name, host_name, status
  2  from v$instance;

INSTANCE_NUMBER INSTANCE_NAME    HOST_NAME                      STATUS
--------------- ---------------- ------------------------------ ------------
              1 testrac1         racnode1                       OPEN

SQL> select instance_number, instance_name, host_name, status
  2  from gv$instance;

INSTANCE_NUMBER INSTANCE_NAME    HOST_NAME                      STATUS
--------------- ---------------- ------------------------------ ------------
              1 testrac1         racnode1                       OPEN
              3 testrac3         racnode3                       OPEN
              2 testrac2         racnode2                       OPEN

至此,建庫工作結束。

 

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

相關文章