新增控制檔案成員形成多路徑
在一般生產的環境中,重要的檔案,比如三大檔案,其中控制檔案與日誌檔案,都需要建立冗餘形成多路徑
控制檔案或者多路徑日誌檔案,這樣提高資料庫的安全性。學習環境就沒有必要這樣做,以下是模擬建立冗餘的過程:
新增控制檔案成員:
1、檢視目前的控制檔案:
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/PROD/ora_control1.ctl
/u01/app/oracle/oradata/PROD/ora_control2.ctl
2、新增兩個控制檔案,形成多路徑控制檔案:
SQL> alter system set control_files=
2 '/u01/app/oracle/oradata/PROD/ora_control1.ctl',
3 '/u01/app/oracle/oradata/PROD/ora_control2.ctl',
4 '/u01/app/oracle/fast_recovery_area/ora_control3.ctl',
5 '/u01/app/FRA/ora_control4.ctl'
6 scope = spfile;
-------因為這個修改靜態引數,所以要以scope = spfile修改,重啟資料庫後才能生效,在當前會話不生效。
System altered.
3、關閉資料庫,系統層複製控制檔案:
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
4、在系統層生產跟寫在引數檔案裡控制檔案引數值相對應的檔案物件:(這個非常關鍵)
-----這一步操作,必須在關閉資料庫的狀態下進行,主要是為了關閉控制檔案,避免控制檔案寫內容。
SQL> !cp /u01/app/oracle/oradata/PROD/ora_control1.ctl /u01/app/oracle/fast_recovery_area/ora_control3.ctl
SQL> !cp /u01/app/oracle/oradata/PROD/ora_control1.ctl /u01/app/FRA/ora_control4.ctl
新增了兩個控制檔案成員,就相應地新增連個控制檔案的物件,這個還可以在系統層oracle使用者的home目錄下進行操作
如下:
[oracle@enmo ~]$ cp /u01/app/oracle/oradata/PROD/ora_control1.ctl /u01/app/oracle/fast_recovery_area/ora_control3.ctl
[oracle@enmo ~]$ cp /u01/app/oracle/oradata/PROD/ora_control1.ctl /u01/app/FRA/ora_control4.ctl
5、檢視檔案:
[oracle@enmo ~]$ cd /u01/app/oracle/fast_recovery_area/
[oracle@enmo fast_recovery_area]$ ls
ora_control3.ctl
[oracle@enmo ~]$ cd /u01/app/FRA/
[oracle@enmo FRA]$ ls
ora_control4.ctl
看到新控制檔案成員已經建立成功。
6、開啟資料庫:
SQL> startup
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 541068368 bytes
Database Buffers 289406976 bytes
Redo Buffers 2371584 bytes
Database mounted.
Database opened.
新增成功,沒有發現錯誤,正常啟動資料庫。
7、再次檢視控制檔案:
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/PROD/ora_control1.ctl
/u01/app/oracle/oradata/PROD/ora_control2.ctl
/u01/app/oracle/fast_recovery_area/ora_control3.ctl
/u01/app/FRA/ora_control4.ctl
新的控制檔案生效。
以上在新增過程中,有一些步驟是非常關鍵的。記得在我第一次新增控制檔案成員的時候,由於先在系統層生成
控制檔案成員,再修改引數檔案的該靜態引數,最後在啟動資料庫到mount狀態的時候報錯了,原因是控制檔案
版本不一樣。因為該引數是在資料庫開啟的狀態下修改的,修改引數過程中,資料庫在不斷地往控制檔案中寫入資料庫
的修改資訊,這些修改資訊都要註冊到控制檔案中才能被資料庫識別生效。那一次的錯誤操作的教訓,讓我刻骨銘心。
所以記得兩點:
1》先修改引數再關庫。
2》先關庫再在系統複製控制檔案。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31392094/viewspace-2126426/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【備份恢復】 控制檔案多路徑
- 建立多路控制檔案
- 新增日誌檔案組與日誌檔案成員
- linux多路徑下線上新增磁碟Linux
- ORACLE 新增控制檔案Oracle
- 多路徑重用歸檔日誌
- 詳述Oracle 多路複用的控制檔案——增加一個控制檔案副本Oracle
- RAC下新增控制檔案
- 【多路徑】EMC儲存多路徑軟體配置
- gcc g++ 新增標頭檔案路徑和庫檔案路徑的方法GC
- oracle 11g 新增控制檔案Oracle
- 為資料庫新增控制檔案資料庫
- multipath多路徑配置
- oracle11g修改控制檔案路徑Oracle
- oracle之 RAC 11G ASM下控制檔案多路複用OracleASM
- 叢集資料庫新增控制檔案資料庫
- Oracle單例項+ASM新增控制檔案Oracle單例ASM
- 用重建控制檔案的方法修改oracle資料檔案路徑Oracle
- 華為儲存多路徑
- 儲存-配置多路徑
- LINUX LOG(多路徑)Linux
- redhat multipath多路徑 DMRedhat
- 刪除日誌檔案組與日誌檔案成員
- VS Code 配置或新增 C 標頭檔案路徑
- 關於儲存控制器的多路徑機制(轉載)
- 1.7.7. 檢視密碼檔案成員密碼
- 刪除日誌檔案組或成員
- linux之 multipath 多路徑Linux
- linux多路徑multipath配置Linux
- Linux 下配置多路徑Linux
- 多路徑軟體介紹
- 【技術分享】Oracle控制檔案的備份、恢復以及多路複用Oracle
- 【控制檔案】映象控制檔案
- 檔案和目錄的訪問控制(2)新增訪問控制
- Laravel多路由檔案,路由分組Laravel路由
- Oracle資料庫新增和移動控制檔案Oracle資料庫
- 對日誌檔案組和日誌檔案組成員的管理
- UDEV掛載EMC多路徑盤dev