【DataGuard】Oracle 11g物理Active Data Guard實時查詢(Real-time query)特性
在Oracle 11g以前版本中的的Data Guard物理備用資料庫,可以以只讀的方式開啟資料庫,但此時Media Recovery利用日誌進行資料同步的過程就停止了,如果物理備用資料庫處於恢復的過程中資料庫就不能開啟查詢,也就是說日誌應用和只讀開啟兩個狀態是互斥的,而Oracle 11g Active Data Guard功能解決了這個矛盾,在利用日誌恢復資料的同時可以用只讀的方式開啟資料庫,使用者可以在備用資料庫上進行查詢、報表等操作,這類似邏輯Data Guard備用資料庫的功能(查詢功能方面),但是,資料同步的效率更高、對硬體的資源要求更低。這樣可以更大程度地發揮物理備用資料庫的硬體資源的效能。
以建立表空間、使用者以及表為例體驗一下Oracle 11g物理Active Data Guard實時查詢(Real-time query)特性。
1.調整備庫為“READ ONLY WITH APPLY”狀態
這體現的便是Oracle 11g物理Active Data Guard功能中的“Active”真實含義。
1)檢視備庫當前狀態
ora11gdg@secdb /home/oracle$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Fri Mar 16 11:54:52 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
sys@ora11gdg@> select open_mode from v$database;
OPEN_MODE
--------------------
MOUNTED
此時備庫處於MOUNT狀態。
2)取消備庫的自動恢復
sys@ora11gdg@> alter database recover managed standby database cancel;
Database altered.
3)OPEN備庫調整為“READ ONLY”狀態
sys@ora11gdg@> alter database open;
Database altered.
sys@ora11gdg@> select open_mode from v$database;
OPEN_MODE
--------------------
READ ONLY
4)在“READ ONLY”狀態下進一步啟動備庫的恢復
sys@ora11gdg@> alter database recover managed standby database using current logfile disconnect;
Database altered.
選項“USING CURRENT LOGFILE”的含義是當備庫收到日誌後,儘快完成恢復。
sys@ora11gdg@> select open_mode from v$database;
OPEN_MODE
--------------------
READ ONLY WITH APPLY
狀態“READ ONLY WITH APPLY”即表示此時備庫處於Read Only狀態的同時可以接受主庫傳過來的日誌進行恢復,以便達到備庫可以即時檢視到主庫變化的目的。
2.體驗實時查詢(Real-time query)特性
1)主庫上建立表空間、使用者以及表並初始化資料
(1)建立表空間並檢視錶空間建立結果和狀態
sys@ora11g> create tablespace secooler_tbs datafile '/u01/app/oracle/oradata/ora11g/secooler_tbs01.dbf' size 10m;
Tablespace created.
sys@ora11g> select * from v$tablespace where name = 'SECOOLER_TBS';
TS# NAME INC BIG FLA ENC
---------- ------------------------------ --- --- --- ---
8 SECOOLER_TBS YES NO YES
sys@ora11g> select ts#,status,bytes,name from v$datafile where ts# = 8;
TS# STATUS BYTES NAME
---------- ------- ---------- ------------------------------
8 ONLINE 10485760 /u01/app/oracle/oradata/ora11g
/secooler_tbs01.dbf
(2)建立使用者並授權
sys@ora11g> create user secooler identified by secooler default tablespace secooler_tbs;
User created.
sys@ora11g> grant dba to secooler;
Grant succeeded.
(3)建立表並初始化資料
sys@ora11g> conn secooler/secooler
Connected.
secooler@ora11g> create table t (x varchar2(8));
Table created.
secooler@ora11g> insert into t values ('Secooler');
1 row created.
secooler@ora11g> commit;
Commit complete.
secooler@ora11g> select * from t;
X
--------
Secooler
2)此時觀察ora11g例項的alert日誌記錄瞭如下資訊
Fri Mar 16 11:56:36 2012
create tablespace secooler_tbs datafile '/u01/app/oracle/oradata/ora11g/secooler_tbs01.dbf' size 10m
Fri Mar 16 11:56:48 2012
Completed: create tablespace secooler_tbs datafile '/u01/app/oracle/oradata/ora11g/secooler_tbs01.dbf' size 10m
3)幾乎與此同時(1秒)備庫ora11gdg例項的警告日誌中記錄瞭如下資訊
Fri Mar 16 11:56:37 2012
Recovery created file /u01/app/oracle/oradata/ora11gdg/secooler_tbs01.dbf
Successfully added datafile 5 to media recovery
Datafile #5: '/u01/app/oracle/oradata/ora11gdg/secooler_tbs01.dbf'
可見,備庫已經接受到主庫的這個變化,並把這個變化在備庫應用完畢。
4)驗證主庫所建立表空間、使用者以及表並初始化資料是否在備庫應用成功
(1)檢視備庫表空間
sys@ora11gdg> select * from v$tablespace where name = 'SECOOLER_TBS';
TS# NAME INC BIG FLA ENC
---------- ------------------------------ --- --- --- ---
8 SECOOLER_TBS YES NO YES
sys@ora11gdg> select ts#,status,bytes,name from v$datafile where ts# = 8;
TS# STATUS BYTES NAME
---------- ------- ---------- ------------------------------
8 RECOVER 10485760 /u01/app/oracle/oradata/ora11g
dg/secooler_tbs01.dbf
建立成功,但是此時備庫資料檔案的狀態是“RECOVER”。
(2)檢視備庫使用者及資料是否存在
sys@ora11gdg> conn secooler/secooler
Connected.
secooler@ora11g> set lines 80
secooler@ora11g> desc t;
Name Null? Type
------------------ -------- ----------------------------
X VARCHAR2(8)
secoolerdg@ora11g> select * from t;
X
--------
Secooler
主庫上的變化已經即使的在備庫上得到應用。
這便是Oracle 11g物理Active Data Guard實時查詢(Real-time query)特性的體現。
3.小結
本文以實驗的方式體驗了Oracle 11g物理Active Data Guard實時查詢(Real-time query)特性。這項特性非常值得稱讚,備庫在這種特性的支援下,Oracle可以最大限度滿足備庫作為報表庫或者查詢分析型別資料庫的需求。BTW:這項令人激動的特性是收費,也就是說大家想將這個特性用在生產環境下的話需要單獨付費。
Good luck.
secooler
12.03.16
-- The End --
以建立表空間、使用者以及表為例體驗一下Oracle 11g物理Active Data Guard實時查詢(Real-time query)特性。
1.調整備庫為“READ ONLY WITH APPLY”狀態
這體現的便是Oracle 11g物理Active Data Guard功能中的“Active”真實含義。
1)檢視備庫當前狀態
ora11gdg@secdb /home/oracle$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Fri Mar 16 11:54:52 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
sys@ora11gdg@> select open_mode from v$database;
OPEN_MODE
--------------------
MOUNTED
此時備庫處於MOUNT狀態。
2)取消備庫的自動恢復
sys@ora11gdg@> alter database recover managed standby database cancel;
Database altered.
3)OPEN備庫調整為“READ ONLY”狀態
sys@ora11gdg@> alter database open;
Database altered.
sys@ora11gdg@> select open_mode from v$database;
OPEN_MODE
--------------------
READ ONLY
4)在“READ ONLY”狀態下進一步啟動備庫的恢復
sys@ora11gdg@> alter database recover managed standby database using current logfile disconnect;
Database altered.
選項“USING CURRENT LOGFILE”的含義是當備庫收到日誌後,儘快完成恢復。
sys@ora11gdg@> select open_mode from v$database;
OPEN_MODE
--------------------
READ ONLY WITH APPLY
狀態“READ ONLY WITH APPLY”即表示此時備庫處於Read Only狀態的同時可以接受主庫傳過來的日誌進行恢復,以便達到備庫可以即時檢視到主庫變化的目的。
2.體驗實時查詢(Real-time query)特性
1)主庫上建立表空間、使用者以及表並初始化資料
(1)建立表空間並檢視錶空間建立結果和狀態
sys@ora11g> create tablespace secooler_tbs datafile '/u01/app/oracle/oradata/ora11g/secooler_tbs01.dbf' size 10m;
Tablespace created.
sys@ora11g> select * from v$tablespace where name = 'SECOOLER_TBS';
TS# NAME INC BIG FLA ENC
---------- ------------------------------ --- --- --- ---
8 SECOOLER_TBS YES NO YES
sys@ora11g> select ts#,status,bytes,name from v$datafile where ts# = 8;
TS# STATUS BYTES NAME
---------- ------- ---------- ------------------------------
8 ONLINE 10485760 /u01/app/oracle/oradata/ora11g
/secooler_tbs01.dbf
(2)建立使用者並授權
sys@ora11g> create user secooler identified by secooler default tablespace secooler_tbs;
User created.
sys@ora11g> grant dba to secooler;
Grant succeeded.
(3)建立表並初始化資料
sys@ora11g> conn secooler/secooler
Connected.
secooler@ora11g> create table t (x varchar2(8));
Table created.
secooler@ora11g> insert into t values ('Secooler');
1 row created.
secooler@ora11g> commit;
Commit complete.
secooler@ora11g> select * from t;
X
--------
Secooler
2)此時觀察ora11g例項的alert日誌記錄瞭如下資訊
Fri Mar 16 11:56:36 2012
create tablespace secooler_tbs datafile '/u01/app/oracle/oradata/ora11g/secooler_tbs01.dbf' size 10m
Fri Mar 16 11:56:48 2012
Completed: create tablespace secooler_tbs datafile '/u01/app/oracle/oradata/ora11g/secooler_tbs01.dbf' size 10m
3)幾乎與此同時(1秒)備庫ora11gdg例項的警告日誌中記錄瞭如下資訊
Fri Mar 16 11:56:37 2012
Recovery created file /u01/app/oracle/oradata/ora11gdg/secooler_tbs01.dbf
Successfully added datafile 5 to media recovery
Datafile #5: '/u01/app/oracle/oradata/ora11gdg/secooler_tbs01.dbf'
可見,備庫已經接受到主庫的這個變化,並把這個變化在備庫應用完畢。
4)驗證主庫所建立表空間、使用者以及表並初始化資料是否在備庫應用成功
(1)檢視備庫表空間
sys@ora11gdg> select * from v$tablespace where name = 'SECOOLER_TBS';
TS# NAME INC BIG FLA ENC
---------- ------------------------------ --- --- --- ---
8 SECOOLER_TBS YES NO YES
sys@ora11gdg> select ts#,status,bytes,name from v$datafile where ts# = 8;
TS# STATUS BYTES NAME
---------- ------- ---------- ------------------------------
8 RECOVER 10485760 /u01/app/oracle/oradata/ora11g
dg/secooler_tbs01.dbf
建立成功,但是此時備庫資料檔案的狀態是“RECOVER”。
(2)檢視備庫使用者及資料是否存在
sys@ora11gdg> conn secooler/secooler
Connected.
secooler@ora11g> set lines 80
secooler@ora11g> desc t;
Name Null? Type
------------------ -------- ----------------------------
X VARCHAR2(8)
secoolerdg@ora11g> select * from t;
X
--------
Secooler
主庫上的變化已經即使的在備庫上得到應用。
這便是Oracle 11g物理Active Data Guard實時查詢(Real-time query)特性的體現。
3.小結
本文以實驗的方式體驗了Oracle 11g物理Active Data Guard實時查詢(Real-time query)特性。這項特性非常值得稱讚,備庫在這種特性的支援下,Oracle可以最大限度滿足備庫作為報表庫或者查詢分析型別資料庫的需求。BTW:這項令人激動的特性是收費,也就是說大家想將這個特性用在生產環境下的話需要單獨付費。
Good luck.
secooler
12.03.16
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27036311/viewspace-747190/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【DataGuard】11g 新特性:Active Data Guard
- oracle active data guard real-time apply特性OracleAPP
- 【DataGuard】Oracle 11g DataGuard 新特性之 Active Standby:Real-Time Apply+QueryOracleAPP
- Oracle 11g Data Guard (physical standby - active dataguard) [final]Oracle
- 【DataGuard】同一臺主機部署Oracle 11g物理Active Data Guard詳細過程Oracle
- 【DG】Real-time query實時查詢操作
- Oracle 11g Data Guard Enabling Active Data GuardOracle
- 實戰11g active data guard on rac
- 【DataGuard】Oracle 11g物理Data Guard之Snapshot Standby資料庫功能Oracle資料庫
- 11g物理standby能夠同時提供恢復及查詢(Active Dataguard)的原理是 ?
- Oracle11DATA GUARD實時應用加實時查詢功能Oracle
- 【轉】【DataGuard】Oracle 11g物理Data Guard之Snapshot Standby資料庫功能Oracle資料庫
- Oracle 11g Data Guard 使用duplicate from active databaseOracleDatabase
- Oracle 11g RAC Data Guard 物理standby 建立Oracle
- 搭建Oracle Data Guard 11g(物理備用)Oracle
- Oracle 12c 新特性 Active Data Guard Far SyncOracle
- 11g新特性--active dataguard
- 【DataGuard】物理Data Guard之Failover轉換AI
- 【DataGuard】使用Grid Control對Oracle物理Data Guard進行健康檢查Oracle
- Oracle 12c新特性 - Active Data Guard功能增強Oracle
- 【DataGuard】使用Grid Control快速部署Oracle物理Data GuardOracle
- Oracle 11g Active DataguardOracle
- 總結11g 物理data guard
- Oracle 11g Active Dataguard Switchover實驗Oracle
- 11g data guard 新特性
- Oracle 11g Data Guard 使用 duplicate from active database 建立 standby databaseOracleDatabase
- Oracle 11g Data Guard 使用duplicate from active database 建立 standby databaseOracleDatabase
- Oracle Active Data Guard調整案例[2]Oracle
- Oracle goldengate 12c 新特性之完美支援Active Data GuardOracleGo
- 【DataGuard】同一臺主機實現物理Data Guard配置安裝
- 查詢real-time apply、real-time query的檢視APP
- 搭建11g data guard(duplicate from active database方式)Database
- Oracle 11g Data GuardOracle
- Oracle 11g Data Guard 物理備庫開啟日誌延時應用流程Oracle
- Oracle 11g Data Guard 物理備庫快速配置指南(上)Oracle
- Active Data Guard初探(一)
- 【DATAGUARD】Oracle19c Data Guard BrokerOracle
- 使用oracle 11g rman新特性 duplicate target database for standby from active database 建立物理dataguard並開啟RealOracleDatabase