為rac資料庫增加控制檔案

silencelion99發表於2015-06-04
作為dba,我們都知道控制檔案的重要性,控制檔案一旦損壞或者丟失,就需要從建控制檔案,為避免控制檔案單點故障,我們一般會增加控制檔案至2個或者3個,這幾個控制檔案互為映象。那麼接下就為大家演示一下增加控制檔案的方法。

一、停止資料庫叢集,在此使用srvctl命令
[oracle@node2]$ srvctl stop instance -d racdb -i racdb1,racdb2 -o immediate

停庫之後,檢視crs狀態
[oracle@node2 ~]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora....SM2.asm application    ONLINE    ONLINE    node1       
ora....E1.lsnr application    ONLINE    ONLINE    node1       
ora.node1.gsd  application    ONLINE    ONLINE    node1       
ora.node1.ons  application    ONLINE    ONLINE    node1       
ora.node1.vip  application    ONLINE    ONLINE    node1       
ora....SM1.asm application    ONLINE    ONLINE    node2       
ora....E2.lsnr application    ONLINE    ONLINE    node2       
ora.node2.gsd  application    ONLINE    ONLINE    node2       
ora.node2.ons  application    ONLINE    ONLINE    node2       
ora.node2.vip  application    ONLINE    ONLINE    node2       
ora.racdb.db   application    OFFLINE   OFFLINE               
ora....b1.inst application    OFFLINE   OFFLINE               
ora....b2.inst application    OFFLINE   OFFLINE         

二、啟動資料庫到nomount狀態
[oracle@node2 ~]$ srvctl start database -d racdb  -o nomount

啟動之後,檢視資料庫狀態
SQL> select INSTANCE_NAME,HOST_NAME,STATUS from gv$instance;

INSTANCE_NAME    HOST_NAME            STATUS
---------------- -------------------- ------------
racdb1           node2.ocean.com      STARTED
racdb2           node1.ocean.com      STARTED

三、登入到rman,從現有的控制檔案複製出新的控制檔案
[oracle@node2 ~]$ rman target / nocatalog

RMAN> restore controlfile to '+DATA/racdb/controlfile/control_2' from '+DATA/racdb/controlfile/current.256.842559447';
Starting restore at 20-MAR-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=146 instance=racdb1 devtype=DISK

channel ORA_DISK_1: copied control file copy
Finished restore at 20-MAR-14

四、登入到資料庫,修改引數
SQL> alter system set control_files='+DATA/racdb/controlfile/control_2','+DATA/racdb/controlfile/current.256.842559447'
 scope=spfile;


System altered.

五、再次停止資料庫,因為control_files靜態引數,修改之後要重啟例項才能生效。
[oracle@node2 ~]$ srvctl stop instance -d racdb -i racdb1,racdb2 -o immediate

六、啟動叢集資料庫
[oracle@node2 ~]$ srvctl start database -d racdb

七、驗證結果,檢視control_files引數
SQL> show parameter control

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time        integer     7
control_files                        string      +DATA/racdb/controlfile/contro
                                                 l_2, +DATA/racdb/controlfile/c
                                                 urrent.256.842559447

此時我們已經增加了control_2這個控制檔案。

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

相關文章