【DATAGUARD】 基於同一個主機建立物理備庫和邏輯備庫(二)
【DATAGUARD】 基於同一個主機建立物理備庫和邏輯備庫(二)
之前釋出過一步一步搭建 oracle 11gR2 rac + dg,這裡的dg為物理dg,但是實際自己使用過程中發現需要開3個虛擬機器,機器特卡,所以決定在同一臺機器上再搭建一臺物理和邏輯dg。
一步一步搭建 oracle 11gR2 rac + dg 之前傳(一) http://blog.itpub.net/26736162/viewspace-1290405/
一步一步搭建oracle 11gR2 rac+dg之環境準備(二) http://blog.itpub.net/26736162/viewspace-1290416/
一步一步搭建oracle 11gR2 rac+dg之共享磁碟設定(三) http://blog.itpub.net/26736162/viewspace-1291144/
一步一步搭建 oracle 11gR2 rac+dg之grid安裝(四) http://blog.itpub.net/26736162/viewspace-1297101/
一步一步搭建oracle 11gR2 rac+dg之database安裝(五) http://blog.itpub.net/26736162/viewspace-1297113/
一步一步搭建11gR2 rac+dg之安裝rac出現問題解決(六) http://blog.itpub.net/26736162/viewspace-1297128/
一步一步搭建11gR2 rac+dg之DG 機器配置(七) http://blog.itpub.net/26736162/viewspace-1298733/
一步一步搭建11gR2 rac+dg之配置單例項的DG(八) http://blog.itpub.net/26736162/viewspace-1298735/
一步一步搭建11gR2 rac+dg之DG SWITCHOVER功能(九) http://blog.itpub.net/26736162/viewspace-1328050/
【DATAGUARD】 基於同一個主機建立物理備庫和邏輯備庫(一): http://blog.itpub.net/26736162/viewspace-1448197/
本篇blog結構圖:
-
由物理備庫轉化為邏輯備庫
--主庫上的資訊
SQL> select name,open_mode,database_role,protection_mode from v$database;
NAME OPEN_MODE DATABASE_ROLE PROTECTION_MODE
--------- -------------------- ---------------- --------------------
ORA11G READ WRITE PRIMARY MAXIMUM PERFORMANCE
--備庫上的資訊
SQL> select name,open_mode,database_role,protection_mode from v$database;
NAME OPEN_MODE DATABASE_ROLE PROTECTION_MODE
--------- -------------------- ---------------- --------------------
ORA11G READ ONLY WITH APPLY PHYSICAL STANDBY MAXIMUM PERFORMANCE
-
停用備庫MRP程式
對於將物理備庫切換到邏輯備庫,我們需要在主庫構建LogMiner字典及啟用補充日誌,因此應先停用邏輯備庫的MRP程式,避免產生額外的redo apply, 邏輯備用資料庫在後臺使用LogMiner來提取生成SQL Apply事務必須的重做資料,在建立Log Miner字典之前,我們必須停止備用資料庫上的管理恢復,以確保我們只應用包含LogMiner字典的重做資料:
如果正在使用Broker管理現有的物理備庫,應先在Broker中禁用目標資料庫。
SQL> alter database recover managed standby database cancel;
Database altered.
SQL>
-
修改主庫引數(搭建物理備庫已建做過,略過)
alter system set log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST db_unique_name=ora11g valid_for=(ALL_LOGFILES,ALL_ROLES)';
alter system set log_archive_dest_state_1=enable;
-
主庫構建LogMiner字典
SQL> create tablespace logmnrtbs datafile '/u01/app/oracle/oradata/ora11g/logmnrtbs1.dbf' size 100m;
Tablespace created.
SQL> execute dbms_logmnr_d.set_tablespace('logmnrtbs');
PL/SQL procedure successfully completed.
SQL> exec dbms_logstdby.build;
PL/SQL procedure successfully completed.
SQL>
-
把物理備庫恢復為邏輯備庫
SQL> select name,open_mode,database_role,protection_mode from v$database;
NAME OPEN_MODE DATABASE_ROLE PROTECTION_MODE
--------- -------------------- ---------------- --------------------
ORA11G READ ONLY PHYSICAL STANDBY MAXIMUM PERFORMANCE
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount exclusive;
ORACLE instance started.
Total System Global Area 417546240 bytes
Fixed Size 2228944 bytes
Variable Size 335547696 bytes
Database Buffers 71303168 bytes
Redo Buffers 8466432 bytes
Database mounted.
SQL> ALTER DATABASE RECOVER TO LOGICAL STANDBY ora11gdb parallel 10;
Database altered.
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 417546240 bytes
Fixed Size 2228944 bytes
Variable Size 335547696 bytes
Database Buffers 71303168 bytes
Redo Buffers 8466432 bytes
Database mounted.
SQL>
-
修改備庫引數、開啟邏輯備用資料庫、啟用SQL應用
SQL> alter system set log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) db_unique_name=ora11gdg' scope=both;
System altered.
SQL> alter system set log_archive_dest_state_1=enable scope=both;
System altered.
SQL> ALTER DATABASE OPEN RESETLOGS;
Database altered.
SQL> alter database start logical standby apply immediate;
Database altered.
----可以看到name自動改變,為讀寫模式,日誌序列也從1開始
SQL> select name,open_mode,database_role,protection_mode from v$database;
NAME OPEN_MODE DATABASE_ROLE PROTECTION_MODE
--------- -------------------- ---------------- --------------------
ORA11GDB READ WRITE LOGICAL STANDBY MAXIMUM PERFORMANCE
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 3
Next log sequence to archive 5
Current log sequence 5
SQL>
至此邏輯備用資料庫以搭建完成。
-
備庫執行DML操作
在logical standby環境下,備庫基本上是一個獨立的庫,如果要在備庫,以非sys使用者對備庫的資料進行DML修改,就會報錯 ora-16224
[oracle@rhel6_lhr orclasm]$ oerr ora 16224
16224, 00000, "Database Guard is enabled"
// *Cause: Operation could not be performed because database guard is enabled
// *Action: Verify operation is correct and disable database guard
You have new mail in /var/spool/mail/oracle
[oracle@rhel6_lhr orclasm]$
SQL> conn lhr/lhr
Connected.
SQL> delete from lhr.test;
delete from lhr.test
*
ERROR at line 1:
ORA-16224: Database Guard is enabled
SQL> alter database guard none;
Database altered.
SQL> delete from lhr.test;
5669 rows deleted.
SQL> rollback;
Rollback complete.
SQL> alter database guard standby;
Database altered.
SQL> delete from lhr.test;
delete from lhr.test
*
ERROR at line 1:
ORA-16224: Database Guard is enabled
SQL> select guard_status from v$database;
GUARD_S
-------
STANDBY
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28211342/viewspace-2129029/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【DATAGUARD】 基於同一個主機建立物理備庫和邏輯備庫(一)
- 【DATAGUARD】 基於同一個主機建立物理備庫和邏輯備庫 (三)
- 【DATAGUARD】 基於同一個主機建立物理備庫和邏輯備庫 (四)--新增一個物理dg節點
- 配置物理備庫+邏輯備庫
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(1)
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(2)
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(3)
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(4)
- 單節點主庫、邏輯備庫升級為RAC、物理備庫、邏輯備庫(5)
- Oracle10G Dataguard 多個備庫 - 主庫和物理備庫的切換Oracle
- RMAN DUPLICATE建立DataGuard物理備庫
- 【DataGuard】使用GC建立的物理DataGuard主備庫pfile比較GC
- dataguard回顧之安裝——建立邏輯備庫
- dataguard-建立物理備庫全程解析
- ORACLE DATAGUARD 資料庫---建立物理備用資料庫Oracle資料庫
- 認識資料庫物理備份和邏輯備份區別資料庫
- dataguard之邏輯備庫表空間不足
- oracle 之dataguard主庫系統崩潰之物理備庫切主庫Oracle
- 4節點RAC建立邏輯備庫
- rac與邏輯備庫不能自動建表空間,物理備庫正常
- 邏輯備庫Switchover
- 【DataGuard】手工冷備搭建 Oracle 11g DataGuard 物理備庫Oracle
- dataguard回顧之安裝———使用rman建立物理備庫
- dataguard之主庫增加資料檔案--邏輯備庫相應的調整(二)
- dataguard之邏輯備庫移動資料檔案
- 邏輯Data Guard主備庫的轉換
- 一個備份集同時恢出dataguard的主庫&備庫
- 11 管理邏輯備庫
- RMAN備用資料庫(邏輯dataguard) --關於dorecover 的解釋 (2)資料庫
- dataguard 主備庫出現gap
- 【DATAGUARD】DG系列之11g邏輯備庫的搭建
- 邏輯DG主備庫轉換的failoverAI
- [原創]RMAN備用資料庫(邏輯dataguard) --關於dorecover 的解釋資料庫
- 使用RMAN DUPLICATE...FROM ACTIVE DATABASE命令來建立DataGuard物理備庫Database
- DataGuard主備庫切換步驟
- 邏輯備份全庫或者邏輯備份多個使用者的資料
- 【DATAGUARD】DG系列之RACtoONE物理備庫的搭建
- 物理備用資料庫(二)資料庫