Oracle 11g Dataguard環境下資料檔案、日誌檔案管理(上)
在Dataguard環境下,Primary和Standby之間是緊密關聯的物件。很多單例項環境下常見的資料庫管理動作,如表空間建立、資料檔案新增、日誌管理等都有很大的不同和差異。
本篇主要介紹在DG環境下,資料檔案Data File和線上日誌online redo log的管理操作。
1、環境介紹
筆者使用版本為Oracle 11.2.0.4,DG已經搭建完成。
SQL> select * from v$version;
BANNER
-----------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
Primary端例項名稱為ora11g,命名轉換引數設定完成。資料檔案如下:
ora11g
SQL> select file_name from dba_data_files;
FILE_NAME
-----------------------------------------------------------------
/u01/app/oradata/ORA11G/datafile/o1_mf_users_9mnjs074_.dbf
/u01/app/oradata/ORA11G/datafile/o1_mf_undotbs1_9mnjs068_.dbf
/u01/app/oradata/ORA11G/datafile/o1_mf_sysaux_9mnjs04h_.dbf
/u01/app/oradata/ORA11G/datafile/o1_mf_system_9mnjrzty_.dbf
SQL> show parameter convert;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string ORA11G, ORA11GSY
log_file_name_convert string ORA11G, ORA11GSY
引數standby_file_management設定為AUTO,Oracle官方要求在DG環境下,取值為AUTO。
SQL> show parameter standby_file
NAME TYPE VALUE
------------------------------------ ----------- -------
standby_file_management string AUTO
Primary端日誌情況如下:
SQL> select group#, type, member from v$logfile;
GROUP# TYPE MEMBER
---------- ------- --------------------------------------------------------------------------------
3 ONLINE /u01/app/oradata/ORA11G/onlinelog/o1_mf_3_9mnjx4n0_.log
3 ONLINE /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_3_9mnjx54c_.log
2 ONLINE /u01/app/oradata/ORA11G/onlinelog/o1_mf_2_9mnjwzpq_.log
2 ONLINE /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_2_9mnjx15f_.log
1 ONLINE /u01/app/oradata/ORA11G/onlinelog/o1_mf_1_9mnjwtj9_.log
1 ONLINE /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_1_9mnjwvdm_.log
4 STANDBY /u01/app/oradata/ORA11G/onlinelog/o1_mf_4_9nd01b56_.log
4 STANDBY /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_4_9nd01cpl_.log
5 STANDBY /u01/app/oradata/ORA11G/onlinelog/o1_mf_5_9nd04pps_.log
5 STANDBY /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_5_9nd04rpd_.log
6 STANDBY /u01/app/oradata/ORA11G/onlinelog/o1_mf_6_9nd04xjo_.log
6 STANDBY /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_6_9nd04yv7_.log
12 rows selected
Standby端名稱為ora11gsy,對應引數配置和Primary端相同。資料檔案和日誌情況如下:
SQL> col file_name for a65
SQL> select file_name from dba_data_files;
FILE_NAME
---------------------------------------------------------
/u01/app/oradata/ORA11GSY/datafile/o1_mf_users_9mnjs074_.dbf
/u01/app/oradata/ORA11GSY/datafile/o1_mf_undotbs1_9mnjs068_.dbf
/u01/app/oradata/ORA11GSY/datafile/o1_mf_sysaux_9mnjs04h_.dbf
/u01/app/oradata/ORA11GSY/datafile/o1_mf_system_9mnjrzty_.dbf
SQL> select group#, type, member from v$logfile;
GROUP# TYPE MEMBER
---------- ------- --------------------------------------------------------------------------------
3 ONLINE /u01/app/oradata/ORA11GSY/onlinelog/o1_mf_3_9ndhov9r_.log
3 ONLINE /u01/app/fast_recovery_area/ORA11GSY/onlinelog/o1_mf_3_9ndhovov_.log
2 ONLINE /u01/app/oradata/ORA11GSY/onlinelog/o1_mf_2_9ndhoqbh_.log
(篇幅原因,有省略……)
6 STANDBY /u01/app/fast_recovery_area/ORA11GSY/onlinelog/o1_mf_6_9ndhpfvo_.log
12 rows selected
SQL> show parameter convert
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string ORA11G, ORA11GSY
log_file_name_convert string ORA11G, ORA11GSY
我們首先進行資料檔案建立過程實驗。
2、資料檔案管理實驗
建立表空間,新增檔案是我們經常進行的日常維護操作。搭建DG之後,是可以在Primary端直接建立檔案,Oracle會在Standby端進行新檔案建立動作。
注意:這個操作要滿足兩個前提。首先需要確認primary和standby端對應位置(convert過的目錄)存在足夠的儲存空間。一旦由於空間問題引起standby端檔案建立失敗,額外處理比較麻煩。另一個確保standby_file_management引數取值auto,該引數的作用是將Primary和Standby檔案建立動作繫結起來,進行自動同步操作。
--空間確認
[root@SimpleLinux ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 48G 15G 31G 33% /
tmpfs 2.0G 278M 1.8G 14% /dev/shm
在primary端建立表空間,使用OMF特性,由Oracle負責檔案命名。
SQL> create tablespace dgtest datafile size 500m autoextend off
2 extent management local uniform size 1m
3 segment space management auto;
Tablespace created
檔案確認。
SQL> select file_name from dba_data_files;
FILE_NAME
-----------------------------------------
/u01/app/oradata/ORA11G/datafile/o1_mf_users_9mnjs074_.dbf
/u01/app/oradata/ORA11G/datafile/o1_mf_undotbs1_9mnjs068_.dbf
/u01/app/oradata/ORA11G/datafile/o1_mf_sysaux_9mnjs04h_.dbf
/u01/app/oradata/ORA11G/datafile/o1_mf_system_9mnjrzty_.dbf
/u01/app/oradata/ORA11G/datafile/o1_mf_dgtest_9pck1kvs_.dbf
standby端檔案建立:
SQL> select file_name from dba_data_files;
FILE_NAME
---------------------------------------------------
(篇幅原因,有省略……)
/u01/app/oradata/ORA11GSY/datafile/o1_mf_system_9mnjrzty_.dbf
/u01/app/oradata/ORA11GSY/datafile/o1_mf_dgtest_9pck215t_.dbf
注意一個細節:standby端建立了表空間dgtest的檔案,但是和建立DG過程生成檔案不同的是,檔名並不相同。說明:Oracle在這個過程,是自我應用OMF的。
standby端日誌情況如下:
Sun May 04 12:37:55 2014
create tablespace dgtest datafile size 500m autoextend off
extent management local uniform size 1m
segment space management auto
ORA-604 signalled during: create tablespace dgtest datafile size 500m autoextend off
extent management local uniform size 1m
segment space management auto
...
Sun May 04 12:38:39 2014
Successfully added datafile 5 to media recovery
Datafile #5: '/u01/app/oradata/ORA11GSY/datafile/o1_mf_dgtest_9pck215t_.dbf'
上面實驗的是Primary端應用OMF。如果是指定檔名稱目錄,效果如何呢?
SQL> create tablespace dgtest2 datafile '/u01/app/oradata/ORA11G/datafile/dgtest201.dbf' size 10m autoextend off
2 extent management local uniform size 1m
3 segment space management auto;
Tablespace created
SQL> select file_name from dba_data_files;
FILE_NAME
---------------------------------------
(篇幅原因,有省略……)
/u01/app/oradata/ORA11G/datafile/o1_mf_dgtest_9pck1kvs_.dbf
/u01/app/oradata/ORA11G/datafile/dgtest201.dbf
6 rows selected
注意,在Standby端,Oracle並沒有進行檔案轉義,而是採用standby端的OMF策略建立檔案。
SQL> select file_name, tablespace_name from dba_data_files;
FILE_NAME TABLESPACE_NAME
----------------------------------------------------------------- ------------------------------
(篇幅原因,有省略……)
/u01/app/oradata/ORA11GSY/datafile/o1_mf_dgtest_9pck215t_.dbf DGTEST
/u01/app/oradata/ORA11GSY/datafile/o1_mf_dgtest2_9pckjo3w_.dbf DGTEST2 (不同之處)
6 rows selected
日誌資訊:
Sun May 04 12:46:13 2014
Successfully added datafile 6 to media recovery
Datafile #6: '/u01/app/oradata/ORA11GSY/datafile/o1_mf_dgtest2_9pckjo3w_.dbf'
說明:我們雖然在Primary端建立檔案採用直接檔案指定的方法,但是對應到Standby端,還是會有OMF策略。
下面實驗刪除表空間:
--Primary端
SQL> drop tablespace dgtest2 including contents and datafiles;
Tablespace dropped
standby端對應的日誌如下:
Sun May 04 12:53:20 2014
Recovery deleting file #6:'/u01/app/oradata/ORA11GSY/datafile/o1_mf_dgtest2_9pckjo3w_.dbf' from controlfile.
Deleted Oracle managed file /u01/app/oradata/ORA11GSY/datafile/o1_mf_dgtest2_9pckjo3w_.dbf
Recovery dropped tablespace 'DGTEST2'
刪除檔案會自動連帶刪除。注意:資料檔案自動建立對於引數standby_file_management的依賴是強制性的。如果這個引數保持預設值manual,那麼在建立過程中會出現錯誤。
下面我們討論redo log的情況。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/628922/viewspace-1156189/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 11g Dataguard環境下資料檔案、日誌檔案管理(下)Oracle
- oracle 日誌檔案管理Oracle
- 【RAC】Oracle RAC叢集環境下日誌檔案結構Oracle
- oracle中移動控制檔案、資料檔案、日誌檔案Oracle
- oracle資料庫移動資料檔案、日誌檔案和控制檔案Oracle資料庫
- 在Oracle中移動資料檔案、控制檔案和日誌檔案Oracle
- 管理日誌檔案
- 建立資料庫檔案-日誌檔案-次要資料庫檔案資料庫
- Oracle 11g alter日誌檔案位置Oracle
- 【Oracle】如何修改資料檔案和日誌檔案的路徑Oracle
- 分析Oracle資料庫日誌檔案(1)Oracle資料庫
- 分析Oracle資料庫日誌檔案(2)Oracle資料庫
- 分析Oracle資料庫日誌檔案(3)Oracle資料庫
- 【Oracle日誌】- 日誌檔案重建Oracle
- 日誌檔案和歸檔管理
- 日誌檔案的管理
- ORACLE 11G RAC 增加日誌組及增大日誌檔案Oracle
- RMAN備份資料檔案+控制檔案+歸檔日誌
- 分析Oracle資料庫日誌檔案(三)EPOracle資料庫
- 分析Oracle資料庫日誌檔案(二)DOOracle資料庫
- 分析Oracle資料庫日誌檔案(一)HBOracle資料庫
- 分析Oracle資料庫日誌檔案(1)(轉)Oracle資料庫
- 分析Oracle資料庫日誌檔案(1) [轉]Oracle資料庫
- window下刪除過舊的日誌檔案指令碼(如jboss的日誌檔案 資料庫的trace檔案)指令碼資料庫
- 對日誌檔案組和日誌檔案組成員的管理
- oracle 11g rac 新增重做日誌檔案Oracle
- sybase iq日誌檔案管理
- 資料庫引數檔案控制檔案日誌檔案資料檔案跟蹤檔案等8大檔案的字典資料庫
- Oracle日誌檔案常用操作Oracle
- oracle 關於-日誌檔案Oracle
- 丟失已歸檔日誌檔案下恢復資料庫資料庫
- MySQL資料庫中的日誌檔案---(4)配置日誌檔案輸出路徑MySql資料庫
- Unix環境和Windows環境下Oracle引數檔案位置:WindowsOracle
- 【MySQL日誌】MySQL日誌檔案初級管理MySql
- 日誌檔案
- 資料檔案重建,從歸檔日誌中回退資料
- 監聽日誌檔案的管理
- 使用logrotate管理日誌檔案logrotate