久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Oracle 11gR2 Active DataGuard如何配置Step By Step

130次閱讀
沒有評論

共計 6796 個字符,預計需要花費 17 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關 Oracle 11gR2 Active DataGuard 如何配置 Step By Step,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

進行各種配置之后,我們就可以進行 duplicate 過程了。

7、RMAN 進行 duplicate 操作

構建 physical standby 的方法,歷代 Oracle 版本是有不同的方法,而且這些方法是向下兼容的。也就是說,舊版本 standby 構建方法在新版本下是可以的。而且,一些方法還有比較強的實用場景。

11g Oracle 推出了使用 RMAN 進行 active database 的構建方法,在主庫不停機的情況下也能進行持續的 standby 構建。傳統需要單獨準備的參數文件和控制文件,也可以通過腳本方法方式進行整理。

在 standby 實例啟動的時候,我們只是設置了 db_name 參數。其他 Data Guard 相關的參數,是需要在 RMAN 執行過程中進行配置的。在過去的版本中,這些參數是需要手工設置的。

準備腳本程序:

run {

  duplicate target database for standby from active database

  spfile

  parameter_value_convert ora11g , ora11gsy

  set db_unique_name= ora11gsy

  set control_files= /u01/app/oradata/ORA11GSY/controlfile/ora11gsby01.ctl

  set db_file_name_convert= ORA11G , ORA11GSY

  set log_file_name_convert= ORA11G , ORA11GSY

  set log_archive_max_processes= 5

  set fal_client= ora11gsy

  set fal_server= ora11g

  set standby_file_management= AUTO

  set log_archive_config= dg_config=(ora11g,ora11gsy)

  set log_archive_dest_2= service=ora11g async valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=ora11g

}

這里有一些注意點:control_files 是必須加入的,表示 standby 數據庫的控制文件方法。其他 DG 相關參數在腳本中都有所涉及。Log_archive_dest_2 中配置的 valid_for 項目,表示數據庫在 primary_role 角色的時候才會向主庫 ora11g 傳遞日志的。

將腳本保存為文件,cr_standby_script。

[oracle@SimpleLinux dbs]$ ls -l | grep cr

-rw-r–r–. 1 oracle oinstall  653 Apr 13 13:31 cr_standby_script

啟動 RMAN 進行 duplicate,連接 target 和 auxiliary。

[oracle@SimpleLinux dbs]$ rman nocatalog

Recovery Manager: Release 11.2.0.4.0 – Production on Sun Apr 13 13:32:18 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

RMAN connect target sys/oracle@ora11g

connected to target database: ORA11G (DBID=4239941846)

using target database control file instead of recovery catalog

RMAN connect auxiliary sys/oracle@ora11gsy

connected to auxiliary database: ORA11GSY (not mounted)

執行腳本:

RMAN @cr_standby_script

RMAN run {

2   duplicate target database for standby from active database

3   spfile

4   parameter_value_convert ora11g , ora11gsy

5   set db_unique_name= ora11gsy

6   set control_files= /u01/app/oradata/ORA11GSY/controlfile/ora11gsby01.ctl

7   set db_file_name_convert= ORA11G , ORA11GSY

8   set log_file_name_convert= ORA11G , ORA11GSY

9   set log_archive_max_processes= 5

10   set fal_client= ora11gsy

11   set fal_server= ora11g

12   set standby_file_management= AUTO

13   set log_archive_config= dg_config=(ora11g,ora11gsy)

14   set log_archive_dest_2= service=ora11g async valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=ora11g

15 }

Starting Duplicate Db at 13-APR-14

allocated channel: ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: SID=19 device type=DISK

(篇幅原因,有省略……)

input datafile copy RECID=3 STAMP=844781878 file name=/u01/app/oradata/ORA11GSY/datafile/o1_mf_undotbs1_9mnjs068_.dbf

datafile 4 switched to datafile copy

input datafile copy RECID=4 STAMP=844781878 file name=/u01/app/oradata/ORA11GSY/datafile/o1_mf_users_9mnjs074_.dbf

Finished Duplicate Db at 13-APR-14

RMAN **end-of-file**

腳本沒有報錯,執行成功。

8、DG 測試

下面,我們檢查一下安裝 DG 效果。在 standby 端,可以登錄數據庫檢查狀態。

[oracle@SimpleLinux dbs]$ env | grep ORACLE_SID

ORACLE_SID=ora11gsy

SQL select name, open_mode, database_role from v$database;

NAME  OPEN_MODE  DATABASE_ROLE

——— ——————– —————-

ORA11G   MOUNTED  PHYSICAL STANDBY

Standby 默認情況下,是維持 mounted 狀態。主庫此時狀態如下:

SQL select name, open_mode, database_role from v$database;

NAME  OPEN_MODE  DATABASE_ROLE

——— ——————– —————-

ORA11G  READ WRITE  PRIMARY

注意:我們修改主庫數據,是在 scope=spfile 基礎上。重啟主庫:

SQL startup force

ORACLE instance started.

Total System Global Area  372449280 bytes

Fixed Size  1364732 bytes

Variable Size  301993220 bytes

Database Buffers  62914560 bytes

Redo Buffers  6176768 bytes

Database mounted.

Database opened.

檢查數據庫 DG 傳遞,首先檢查 log_archive_dest 狀態。如果顯示 valid,就表示已經聯通。

SQL select dest_id, dest_name, status, binding, archiver, destination from v$archive_dest;

  DEST_ID DEST_NAME  STATUS   BINDING  ARCHIVER  DESTINATION

———- ——————– ——— ——— ———- —————————

  1 LOG_ARCHIVE_DEST_1  VALID  MANDATORY ARCH  USE_DB_RECOVERY_FILE_DEST

  2 LOG_ARCHIVE_DEST_2  VALID  OPTIONAL  LGWR  ora11gsy

同步情況,通過 v$archived_log 視圖中查看,注意其中的 applied 列。如果傳遞到 standby 端,并且應用上 apply,數據為 Yes。

SQL select sequence#, name, STANDBY_DEST, ARCHIVED, APPLIED from v$archived_log where standby_dest= YES order by sequence#;

 SEQUENCE# NAME  STANDBY_DEST ARCHIVED APPLIED

———- ———- ———— ——– ———

  6 ora11gsy  YES  YES   NO

  7 ora11gsy  YES  YES   NO

  8 ora11gsy  YES  YES   NO

啟動同步,要在 standby 數據庫中啟動操作。Apply 是一個持續的過程,我們啟動連接操作一定要加入 disconnect from session 命令,這樣就可以在后臺進行應用執行動作。

SQL alter database recover managed standby database using current logfile disconnect from session;

Database altered

主庫各歸檔日志應用情況如下:

SQL select sequence#, name, STANDBY_DEST, ARCHIVED, APPLIED from v$archived_log where standby_dest= YES order by sequence#;

 SEQUENCE# NAME  STANDBY_DEST ARCHIVED APPLIED

———- ———- ———— ——– ———

  6 ora11gsy  YES  YES  YES

  7 ora11gsy  YES  YES  YES

  8 ora11gsy  YES  YES  YES

  9 ora11gsy  YES  YES  NO

Standby 端中的歸檔日志,也可以看到應用過程。

SQL select sequence#, name, STANDBY_DEST, ARCHIVED, APPLIED from v$archived_log  order by sequence#;

 SEQUENCE# NAME  STANDBY_DEST ARCHIVED APPLIED

———- ——————————————————————————– ———— ——– ———

  6 /u01/app/fast_recovery_area/ORA11GSY/archivelog/2014_04_13/o1_mf_1_6_9nn99r20_.a NO  YES  YES

  7 /u01/app/fast_recovery_area/ORA11GSY/archivelog/2014_04_13/o1_mf_1_7_9nn99k17_.a NO  YES  YES

  8 /u01/app/fast_recovery_area/ORA11GSY/archivelog/2014_04_13/o1_mf_1_8_9nn99qff_.a NO  YES  YES

  9 /u01/app/fast_recovery_area/ORA11GSY/archivelog/2014_04_13/o1_mf_1_9_9nn9zxyx_.a NO  YES  IN-MEMORY

同步成功!

9、同步測試

下面我們通過一個簡單實驗來驗證數據庫同步動作。在 scott 用戶下創建一個數據庫表。

SQL conn scott/tiger@ora11g

Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.4.0

Connected as scott

SQL create table t_psby as select * from dba_objects;

Table created

SQL select count(*) from t_psby;

  COUNT(*)

———-

   86032

切換到 standby 庫,在 mount 狀態中是不能讀取的,需要首次的 open 數據庫。但是實驗室失敗的。

[oracle@SimpleLinux ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.4.0 Production on Sun Apr 13 14:05:26 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

SQL conn / as sysdba

Connected.

SQL alter database open;

alter database open

*

ERROR at line 1:

ORA-10456: cannot open standby database; media recovery session may be in

Progress

當前我們在應用日志同步的狀態。在進行同步的時候,是不能 open 的。我們需要首先將這個日志同步動作 cancel 中。

SQL conn / as sysdba

Connected.

SQL alter database recover managed standby database cancel;

Database altered.

SQL alter database open;

Database altered.

Scott 用戶數據表創建。

SQL conn scott/tiger@ora11gsy

Connected.

SQL select count(*) from t_psby;

  COUNT(*)

———-

  86032

主庫數據表添加數據,進行修改。

SQL insert into t_psby select * from dba_objects;

86032 rows inserted

SQL commit;

Commit complete

SQL select count(*) from t_psby;

  COUNT(*)

———-

172064

此時 standby 庫,并沒有同步。因為我們剛剛關閉 cancel 同步。下面啟動同步過程,接受新的數據。

SQL alter database recover managed standby database using current logfile disconnect from session;

Database altered.

SQL select open_mode from v$database;

OPEN_MODE

——————–

READ ONLY WITH APPLY

SQL select count(*) from scott.t_psby;

  COUNT(*)

———-

172064

同步成功!注意:在 11g 中,READ ONLY WITH APPLY 狀態表示在同步同時,也可以應用數據庫 Redo Log。如果是之前的版本,數據庫需要恢復到 mount 狀態。這個也就是 11g 中 Advanced

關于“Oracle 11gR2 Active DataGuard 如何配置 Step By Step”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-19發表,共計6796字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 武宁县| 淅川县| 郸城县| 光泽县| 黑水县| 大同县| 平南县| 县级市| 西宁市| 彭州市| 余庆县| 英山县| 柳林县| 航空| 吉林市| 积石山| 吉水县| 唐山市| 新昌县| 蒙阴县| 博白县| 新泰市| 菏泽市| 牙克石市| 安福县| 无极县| 奎屯市| 灌阳县| 北票市| 灵石县| 收藏| 德阳市| 新河县| 富平县| 宁明县| 湟中县| 平度市| 同仁县| 马关县| 绿春县| 徐州市|