您好,登錄后才能下訂單哦!
添加冗余控制文件自然是為數據庫的安全增加一層保障,畢竟單鏈路控制文件還是稍微有點危險的,畢竟是庫文件的樞紐。廢話不多說,進入今天的主題,for RAC 自然也可以 for 單機,若有此方面需求樓主后期會更進發布的。
============================== 萌噠萌噠的分割線===============================
注:添加冗余控制文件期間需要有關庫操作,需注意!!!
備份控制文件
SQL> alter session set tracefile_identifier='backupctrl';
Session altered.
SQL> alter database backup controlfile to trace;
Database altered.
SQL>
查看當前控制文件路徑
SQL> select name from v$controlfile; (可保留,后面會用到此路徑在rman中恢復)
NAME
--------------------------------------------------------------------------------
+ARCH/xxx/controlfile/current.256.936287107
SQL>
在trace文件中找到backup controlfile 文件所在的位置并確認
SQL> show parameter user;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
license_max_users integer 0
parallel_adaptive_multi_user boolean TRUE
redo_transport_user string
user_dump_dest string /u02/app/oracle/diag/rdbms/xxx/xxx1/trace
SQL>
若RAC環境是ASM,也就是兩個節點共享一個spfile則可以在任何一個節點操作,但關庫需要兩個節點都要執行
SQL> alter system set control_files='+ARCH/xxx/controlfile/current.256.936287107','+DATADG' scope=spfile;
關庫操作:
alter system checkpoint; //手動創檢查點,避免執行關庫操作時后臺創建檢查點而導致數據庫卡住。
alter system archive log current; //切換所有實例的redo 并生成歸檔日志。
shutdown immediate;
啟動數據庫至至nomount
srvctl start database -d xxx -o nomount
RMAN> restore controlfile from '+ARCH/xxx/controlfile/current.256.936287107';
SQL> shutdown immediate //兩個實例都需操作
ORA-01507: database not mounted
開啟數據庫
srvctl start database -d xxx
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
SQL> show parameter control_files;
NAME TYPE VALUE
------------------------------------ ----------- -----------
control_files string +ARCH/xxx/controlfile/curren
t.256.936287107, +DATADG/xxx/controlfile/current.263.93652
9407
查看集群狀態
擴展:
觀看此文檔的哥們們,需要了解以下幾點小細節
我的控制文件默認是放在ARCH盤下了而不是DATADG下;
文檔中出現的“xxx”以及被粉紅色顏色蓋住的地方均是數據庫的實例名;
老規矩,標紅處是樓主認為需要在數據庫中執行的部分。
srvctl start database -d xxx 是在oralce用戶下執行的(僅自己觀點)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。