非OMF管理下ORACLE 11G R2 Data Guard配置

stonebox1122發表於2015-02-28

 

1、環境

 

System

Version

IP

Oracle

Version

DB_NAME

DB_UNIQUE_NAME

Primary

W2k8 64

10.0.5.18

11.2.0.1.0

cme

cme

Standby

W2k8 64

10.0.6.30

11.2.0.1.0

cme

cmedg1

Primary端資料庫處於open狀態、歸檔狀態及強制歸檔狀態,透過DBCA建立,已經有密碼檔案;standby端僅安裝資料庫軟體,安裝路徑與primary一致,沒有建立資料庫。(注意:操作前需要對primary資料庫進行備份,包括RMAN全備,引數檔案備份,控制檔案備份)

 

SQL> select status from v$instance;

 

STATUS

------------

OPEN

 

SQL> archive log list;

資料庫日誌模式            存檔模式

自動存檔             啟用

存檔終點            E:\arch

最早的聯機日誌序列     162

下一個存檔日誌序列   164

當前日誌序列           164

 

SQL> select force_logging from v$database;

 

FOR

---

YES

 

2、網路配置

2.1 primary監聽配置

# listener.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora

# Generated by Oracle configuration tools.

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (GLOBAL_DBNAME = cme)

      (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)

      (SID_NAME = cme)

    )

  )

 

LISTENER =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.5.18)(PORT = 1521))

  )

 

ADR_BASE_LISTENER = D:\app\Administrator\product\11.2.0\dbhome_1\log

 

2.2 standby監聽配置

# listener.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora

# Generated by Oracle configuration tools.

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (GLOBAL_DBNAME = cmedg1)

      (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)

      (SID_NAME = cmedg1)

    )

  )

 

LISTENER =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.6.30)(PORT = 1521))

  )

 

ADR_BASE_LISTENER = D:\app\Administrator\product\11.2.0\dbhome_1\log

 

2.3 primary網路服務名配置

# tnsnames.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora

# Generated by Oracle configuration tools.

 

DG18 =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.5.18)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = cme)

    )

  )

 

DG30 =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.6.30)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = cmedg1)

    )

  )

 

2.4 standby網路服務名配置

# tnsnames.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora

# Generated by Oracle configuration tools.

 

DG18 =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.5.18)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = cme)

    )

  )

 

DG30 =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.6.30)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = cmedg1)

    )

  )

 

2.5 啟動監聽並進行測試

注意要進行防火牆放行或者關閉防火牆。

2.5.1 啟動primary端監聽

C:\Users\Administrator>lsnrctl start

 

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 11-2 -2015 15:2

8:42

 

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

 

啟動tnslsnr: 請稍候...

 

TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production

系統引數檔案為D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listene

r.ora

寫入d:\app\administrator\product\11.2.0\dbhome_1\log\diag\tnslsnr\db1\listener\a

lert\log.xml的日誌資訊

監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.5.18)(PORT=1521)))

 

正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.5.18)(PORT=1521)))

LISTENER STATUS

------------------------

別名                      LISTENER

版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ

ction

啟動日期                  11-2 -2015 15:28:45

正常執行時間              0 0 小時 0 3

跟蹤級別                  off

安全性                    ON: Local OS Authentication

SNMP                      OFF

監聽程式引數檔案          D:\app\Administrator\product\11.2.0\dbhome_1\network\a

dmin\listener.ora

監聽程式日誌檔案          d:\app\administrator\product\11.2.0\dbhome_1\log\diag\

tnslsnr\db1\listener\alert\log.xml

監聽端點概要...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.5.18)(PORT=1521)))

服務摘要..

服務 "cme" 包含 1 個例項。

  例項 "cme", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...

命令執行成功

 

2.5.2 啟動standby端監聽

C:\Users\Administrator>lsnrctl start

 

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 27-2 -2015 15:5

7:06

 

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

 

啟動tnslsnr: 請稍候...

 

Failed to open service , error 1060.

TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production

系統引數檔案為D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listene

r.ora

寫入d:\app\administrator\product\11.2.0\dbhome_1\log\diag\tnslsnr\WIN-IG2BA7UPCM

C\listener\alert\log.xml的日誌資訊

監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.6.30)(PORT=1521)))

 

正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.6.30)(PORT=1521)))

LISTENER STATUS

------------------------

別名                      LISTENER

版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ

ction

啟動日期                  27-2 -2015 15:57:10

正常執行時間              0 0 小時 0 3

跟蹤級別                  off

安全性                    ON: Local OS Authentication

SNMP                      OFF

監聽程式引數檔案          D:\app\Administrator\product\11.2.0\dbhome_1\network\a

dmin\listener.ora

監聽程式日誌檔案          d:\app\administrator\product\11.2.0\dbhome_1\log\diag\

tnslsnr\WIN-IG2BA7UPCMC\listener\alert\log.xml

監聽端點概要...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.6.30)(PORT=1521)))

服務摘要..

服務 "cmedg1" 包含 1 個例項。

  例項 "cmedg1", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...

命令執行成功

 

C:\Users\Administrator>lsnrctl status

 

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 27-2 -2015 15:5

8:22

 

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

 

正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.6.30)(PORT=1521)))

LISTENER STATUS

------------------------

別名                      LISTENER

版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ

ction

啟動日期                  27-2 -2015 15:57:10

正常執行時間              0 0 小時 1 14

跟蹤級別                  off

安全性                    ON: Local OS Authentication

SNMP                      OFF

監聽程式引數檔案          D:\app\Administrator\product\11.2.0\dbhome_1\network\a

dmin\listener.ora

監聽程式日誌檔案          d:\app\administrator\product\11.2.0\dbhome_1\log\diag\

tnslsnr\WIN-IG2BA7UPCMC\listener\alert\log.xml

監聽端點概要...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.6.30)(PORT=1521)))

服務摘要..

服務 "cmedg1" 包含 1 個例項。

  例項 "cmedg1", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...

命令執行成功

 

2.5.3 primary端進行測試

C:\Users\Administrator>tnsping dg30

 

TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 27-2 -2015 16:09:07

 

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

 

已使用的引數檔案:

D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\sqlnet.ora

 

 

已使用 TNSNAMES 介面卡來解析別名

嘗試連線 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.6.30)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = cmedg1)))

OK (20 毫秒)

 

2.5.4 standby端進行測試

C:\Users\Administrator>tnsping dg18

 

TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 27-2 -

2015 16:13:58

 

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

 

已使用的引數檔案:

D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\sqlnet.ora

 

 

已使用 TNSNAMES 介面卡來解析別名

嘗試連線 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.

5.18)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = cme)))

OK (0 毫秒)

 

3、引數配置

3.1 primary引數配置

修改相關引數:

SQL> alter system set log_archive_config='dg_config=(cme,cmedg1)';

 

系統已更改。

 

SQL> alter system set log_archive_dest_2='service=dg30 lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=cmedg1';

 

系統已更改。

 

SQL> alter system set log_archive_dest_state_2='ENABLE';

 

系統已更改。

 

根據spfile.ora生成pfile.ora

SQL> create pfile='D:\app\Administrator\product\11.2.0\dbhome_1\database\pfile.ora' from spfile;

 

檔案已建立。

 

pfile.ora具體內容如下:

cme.__db_cache_size=251658240

cme.__java_pool_size=16777216

cme.__large_pool_size=16777216

cme.__oracle_base='D:\app\Administrator'#ORACLE_BASE set from environment

cme.__pga_aggregate_target=369098752

cme.__sga_target=721420288

cme.__shared_io_pool_size=0

cme.__shared_pool_size=419430400

cme.__streams_pool_size=0

*.audit_file_dest='D:\app\administrator\admin\cme\adump'

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='E:\NSTC\ORADATA\CME\CME\CONTROL01.CTL','E:\N6HUIFU\CME\CONTROL02.CTL'#Restore Controlfile

*.db_block_size=8192

*.db_domain=''

*.db_flashback_retention_target=14400

*.db_name='cme'

*.db_recovery_file_dest='E:\N6HUIFU'

*.db_recovery_file_dest_size=4102029312

*.deferred_segment_creation=FALSE

*.diagnostic_dest='D:\app\administrator'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=cmeXDB)'

*.log_archive_config='dg_config=(cme,cmedg1)'

*.log_archive_dest_1='location=E:\arch'

*.log_archive_dest=''

*.log_archive_dest_2='service=dg30 lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=cmedg1'

*.log_archive_dest_state_2='ENABLE'

*.memory_target=1078984704

*.nls_language='SIMPLIFIED CHINESE'

*.nls_territory='CHINA'

*.open_cursors=300

*.processes=500

*.remote_login_passwordfile='EXCLUSIVE'

*.resource_limit=TRUE

*.sessions=555

*.undo_tablespace='UNDOTBS1'

 

3.2 standby引數配置

primarypfile.ora複製到standby,修改後內容如下:(此處注意:如果主庫是使用OMF管理檔案,則standby端的目錄路徑可以不必和primary端一致,也無需設定DB_FILE_NAME_CONVERT,系統會自動進行轉換;如果不是使用OMF管理檔案,則standby端的目錄路徑需要和primary端保持一致,否則就需要使用DB_FILE_NAME_CONVERT進行轉換。)

cme.__db_cache_size=251658240

cme.__java_pool_size=16777216

cme.__large_pool_size=16777216

cme.__oracle_base='D:\app\Administrator'#ORACLE_BASE set from environment

cme.__pga_aggregate_target=369098752

cme.__sga_target=721420288

cme.__shared_io_pool_size=0

cme.__shared_pool_size=419430400

cme.__streams_pool_size=0

*.audit_file_dest='D:\app\administrator\admin\cme\adump'

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='E:\NSTC\ORADATA\CME\CME\CONTROL01.CTL','E:\N6HUIFU\CME\CONTROL02.CTL'#Restore Controlfile

*.db_block_size=8192

*.db_domain=''

*.db_flashback_retention_target=14400

*.db_name='cme'

*.db_unique_name='cmedg1'

*.db_recovery_file_dest='E:\N6HUIFU'

*.db_recovery_file_dest_size=4102029312

*.deferred_segment_creation=FALSE

*.diagnostic_dest='D:\app\administrator'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=cmeXDB)'

*.log_archive_config='dg_config=(cme,cmedg1)'

*.log_archive_dest_1='location=E:\arch valid_for=(all_logfiles,all_roles) db_unique_name=cmedg1'

*.standby_file_management='auto'

*.log_archive_dest=''

*.memory_target=1078984704

*.nls_language='SIMPLIFIED CHINESE'

*.nls_territory='CHINA'

*.open_cursors=300

*.processes=500

*.remote_login_passwordfile='EXCLUSIVE'

*.resource_limit=TRUE

*.sessions=555

*.undo_tablespace='UNDOTBS1'

 

根據修改後的pfile.ora生成spfilecmedg1.ora

C:\Users\Administrator>set oracle_sid=cmedg1

建議在Windows環境變數中新增oracle_sid的值,不然每次開啟cmd都需要設定oracle_sid

C:\Users\Administrator>oradim -new -sid cmedg1

例項已建立。

 

C:\Users\Administrator>sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 2 11 16:16:36 2015

 

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

 

已連線到空閒例程。

 

SQL> create spfile from pfile='D:\app\Administrator\product\11.2.0\dbhome_1\database\pfile.ora';

 

檔案已建立。

 

4、系統設定

4.1 standby目錄建立

    根據引數檔案建立相關目錄。(建議寫成指令碼執行)

md D:\app\administrator\admin\cme\adump

md E:\NSTC\ORADATA\CME\cme\

md E:\N6HUIFU\cme\

md E:\arch

 

4.2 standby密碼檔案

primary端的密碼檔案複製到standby並重新命名為PWDcmedg1.ora。如果忘記的sys的密碼,可以現在primary端進行修改後再複製。

SQL> alter user sys identified by 123456;

 

使用者已更改。

 

如果沒有密碼檔案,使用如下命令進行建立。

C:\Users\Administrator>orapwd file=D:\app\Administrator\product\11.2.0\dbhome_1\database\PWDcme.ora password=123456 entries=30

 

5、建立standby資料庫

standby資料庫啟動到nomount狀態。

SQL> startup nomount

ORACLE 例程已經啟動。

 

Total System Global Area 1085640704 bytes

Fixed Size                  2174928 bytes

Variable Size             654311472 bytes

Database Buffers          419430400 bytes

Redo Buffers                9723904 bytes

 

primary端執行如下命令:

C:\Users\Administrator>rman target / auxiliary sys/123456@dg30

 

恢復管理器: Release 11.2.0.1.0 - Production on 星期五 2 27 16:51:50 2015

 

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

 

連線到目標資料庫: CME (DBID=4032130741)

已連線到輔助資料庫: CME (未裝載)

 

RMAN> duplicate target database for standby nofilenamecheck from active database;

 

啟動 Duplicate Db 27-2 -15

使用目標資料庫控制檔案替代恢復目錄

分配的通道: ORA_AUX_DISK_1

通道 ORA_AUX_DISK_1: SID=20 裝置型別=DISK

 

記憶體指令碼的內容:

{

   backup as copy reuse

   targetfile  'D:\app\Administrator\product\11.2.0\dbhome_1\DATABASE\PWDcme.ORA' auxiliary format

 'D:\app\Administrator\product\11.2.0\dbhome_1\DATABASE\PWDcmedg1.ORA'   ;

}

正在執行記憶體指令碼

 

啟動 backup 27-2 -15

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=40 裝置型別=DISK

完成 backup 27-2 -15

 

記憶體指令碼的內容:

{

   backup as copy current controlfile for standby auxiliary format  'E:\NSTC\ORA

DATA\CME\CME\CONTROL01.CTL';

   restore clone controlfile to  'E:\N6HUIFU\CME\CONTROL02.CTL' from

 'E:\NSTC\ORADATA\CME\CME\CONTROL01.CTL';

}

正在執行記憶體指令碼

 

啟動 backup 27-2 -15

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 啟動資料檔案副本

複製備用控制檔案

輸出檔名=D:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\SNCFCME.ORA

=TAG20150227T173252 RECID=6 STAMP=872789574

通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:07

完成 backup 27-2 -15

 

啟動 restore 27-2 -15

使用通道 ORA_AUX_DISK_1

 

通道 ORA_AUX_DISK_1: 已複製控制檔案副本

完成 restore 27-2 -15

 

記憶體指令碼的內容:

{

   sql clone 'alter database mount standby database';

}

正在執行記憶體指令碼

 

sql 語句: alter database mount standby database

 

記憶體指令碼的內容:

{

   set newname for tempfile  1 to

 "E:\NSTC\ORADATA\CME\CME\TEMP01.DBF";

   set newname for tempfile  2 to

 "E:\NSTC\ORADATA\CME\N6_TEMP01.DBF";

   switch clone tempfile all;

   set newname for datafile  1 to

 "E:\NSTC\ORADATA\CME\CME\SYSTEM01.DBF";

   set newname for datafile  2 to

 "E:\NSTC\ORADATA\CME\CME\SYSAUX01.DBF";

   set newname for datafile  3 to

 "E:\NSTC\ORADATA\CME\CME\UNDOTBS01.DBF";

   set newname for datafile  4 to

 "E:\NSTC\ORADATA\CME\CME\USERS01.DBF";

   set newname for datafile  5 to

 "E:\NSTC\ORADATA\CME\N6_DATA01.DBF";

   set newname for datafile  6 to

 "E:\NSTC\ORADATA\CME\N6_DATA02.DBF";

   set newname for datafile  7 to

 "E:\NSTC\ORADATA\CME\N6_DATA03.DBF";

   set newname for datafile  8 to

 "E:\NSTC\ORADATA\CME\CME\NW01.DBF";

   backup as copy reuse

   datafile  1 auxiliary format

 "E:\NSTC\ORADATA\CME\CME\SYSTEM01.DBF"   datafile

 2 auxiliary format

 "E:\NSTC\ORADATA\CME\CME\SYSAUX01.DBF"   datafile

 3 auxiliary format

 "E:\NSTC\ORADATA\CME\CME\UNDOTBS01.DBF"   datafile

 4 auxiliary format

 "E:\NSTC\ORADATA\CME\CME\USERS01.DBF"   datafile

 5 auxiliary format

 "E:\NSTC\ORADATA\CME\N6_DATA01.DBF"   datafile

 6 auxiliary format

 "E:\NSTC\ORADATA\CME\N6_DATA02.DBF"   datafile

 7 auxiliary format

 "E:\NSTC\ORADATA\CME\N6_DATA03.DBF"   datafile

 8 auxiliary format

 "E:\NSTC\ORADATA\CME\CME\NW01.DBF"   ;

   sql 'alter system archive log current';

}

正在執行記憶體指令碼

 

正在執行命令: SET NEWNAME

 

正在執行命令: SET NEWNAME

 

臨時檔案 1 在控制檔案中已重新命名為 E:\NSTC\ORADATA\CME\CME\TEMP01.DBF

臨時檔案 2 在控制檔案中已重新命名為 E:\NSTC\ORADATA\CME\N6_TEMP01.DBF

 

正在執行命令: SET NEWNAME

 

正在執行命令: SET NEWNAME

 

正在執行命令: SET NEWNAME

 

正在執行命令: SET NEWNAME

 

正在執行命令: SET NEWNAME

 

正在執行命令: SET NEWNAME

 

正在執行命令: SET NEWNAME

 

正在執行命令: SET NEWNAME

 

啟動 backup 27-2 -15

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 啟動資料檔案副本

輸入資料檔案: 檔案號=00005 名稱=E:\NSTC\ORADATA\CME\N6_DATA01.DBF

輸出檔名=E:\NSTC\ORADATA\CME\N6_DATA01.DBF 標記=TAG20150227T173308

通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 01:30:24

通道 ORA_DISK_1: 啟動資料檔案副本

輸入資料檔案: 檔案號=00006 名稱=E:\NSTC\ORADATA\CME\N6_DATA02.DBF

輸出檔名=E:\NSTC\ORADATA\CME\N6_DATA02.DBF 標記=TAG20150227T173308

通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 01:19:54

通道 ORA_DISK_1: 啟動資料檔案副本

輸入資料檔案: 檔案號=00001 名稱=E:\NSTC\ORADATA\CME\CME\SYSTEM01.DBF

輸出檔名=E:\NSTC\ORADATA\CME\CME\SYSTEM01.DBF 標記=TAG20150227T173308

通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 01:02:22

通道 ORA_DISK_1: 啟動資料檔案副本

輸入資料檔案: 檔案號=00007 名稱=E:\NSTC\ORADATA\CME\N6_DATA03.DBF

輸出檔名=E:\NSTC\ORADATA\CME\N6_DATA03.DBF 標記=TAG20150227T173308

通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:05:36

通道 ORA_DISK_1: 啟動資料檔案副本

輸入資料檔案: 檔案號=00002 名稱=E:\NSTC\ORADATA\CME\CME\SYSAUX01.DBF

輸出檔名=E:\NSTC\ORADATA\CME\CME\SYSAUX01.DBF 標記=TAG20150227T173308

通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:02:05

通道 ORA_DISK_1: 啟動資料檔案副本

輸入資料檔案: 檔案號=00003 名稱=E:\NSTC\ORADATA\CME\CME\UNDOTBS01.DBF

輸出檔名=E:\NSTC\ORADATA\CME\CME\UNDOTBS01.DBF 標記=TAG20150227T173308

通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:35

通道 ORA_DISK_1: 啟動資料檔案副本

輸入資料檔案: 檔案號=00008 名稱=E:\NSTC\ORADATA\CME\CME\NW01.DBF

輸出檔名=E:\NSTC\ORADATA\CME\CME\NW01.DBF 標記=TAG20150227T173308

通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:02

通道 ORA_DISK_1: 啟動資料檔案副本

輸入資料檔案: 檔案號=00004 名稱=E:\NSTC\ORADATA\CME\CME\USERS01.DBF

輸出檔名=E:\NSTC\ORADATA\CME\CME\USERS01.DBF 標記=TAG20150227T173308

通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:01

完成 backup 27-2 -15

 

sql 語句: alter system archive log current

 

記憶體指令碼的內容:

{

   switch clone datafile all;

}

正在執行記憶體指令碼

 

資料檔案 1 已轉換成資料檔案副本

輸入資料檔案副本 RECID=6 STAMP=872804110 檔名=E:\NSTC\ORADATA\CME\CME\SYSTEM01

.DBF

資料檔案 2 已轉換成資料檔案副本

輸入資料檔案副本 RECID=7 STAMP=872804110 檔名=E:\NSTC\ORADATA\CME\CME\SYSAUX01

.DBF

資料檔案 3 已轉換成資料檔案副本

輸入資料檔案副本 RECID=8 STAMP=872804111 檔名=E:\NSTC\ORADATA\CME\CME\UNDOTBS0

1.DBF

資料檔案 4 已轉換成資料檔案副本

輸入資料檔案副本 RECID=9 STAMP=872804111 檔名=E:\NSTC\ORADATA\CME\CME\USERS01.

DBF

資料檔案 5 已轉換成資料檔案副本

輸入資料檔案副本 RECID=10 STAMP=872804111 檔名=E:\NSTC\ORADATA\CME\N6_DATA01.D

BF

資料檔案 6 已轉換成資料檔案副本

輸入資料檔案副本 RECID=11 STAMP=872804111 檔名=E:\NSTC\ORADATA\CME\N6_DATA02.D

BF

資料檔案 7 已轉換成資料檔案副本

輸入資料檔案副本 RECID=12 STAMP=872804111 檔名=E:\NSTC\ORADATA\CME\N6_DATA03.D

BF

資料檔案 8 已轉換成資料檔案副本

輸入資料檔案副本 RECID=13 STAMP=872804111 檔名=E:\NSTC\ORADATA\CME\CME\NW01.DB

F

完成 Duplicate Db 27-2 -15

 

6standby端啟動redo實時應用

雖然啟用了實時應用(LGWR ASYNC),但還是必須切換了日誌後,才進行日誌傳送和應用,原因是由於primary資料庫沒有使用OMF建立資料庫,故雖然使用DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK FROM ACTIVE DATABASE建立standby資料庫,但不會建立相應的standby Redologs,需要手動建立,再重啟REDO應用後,即可啟用實時應用了。具體步驟如下:

6.1 檢視standby端恢復模式

SQL> select recovery_mode from v$archive_dest_status where dest_id=1;

 

RECOVERY_MODE

-----------------------

IDLE

 

Standby端沒有啟動redo應用前,恢復模式為IDLE

 

6.2 standby端啟動redo應用

SQL> alter database recover managed standby database disconnect from session;

 

資料庫已更改。

 

SQL> select recovery_mode from v$archive_dest_status where dest_id=1;

 

RECOVERY_MODE

-----------------------

MANAGED

Standby端啟動redo應用後,恢復模式為MANAGED

SQL> alter database recover managed standby database cancel;

 

資料庫已更改。

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

alter database recover managed standby database using current logfile disconnect

 from session

*

1 行出現錯誤:

ORA-38500: USING CURRENT LOGFILE option not available without standby redo logs

    由於沒有standby redologs,故使用standby redologs日誌啟動redo實時應用失敗。

 

6.3 standby端建立standby redologs

    日誌組數量四組,比online redologs多一組。

SQL> alter database add standby logfile group 4 'E:\NSTC\ORADATA\CME\cme\standby_redo04.log' size 50m;

 

資料庫已更改。

 

SQL> alter database add standby logfile group 5 'E:\NSTC\ORADATA\CME\cme\standby_redo05.log' size 50m;

 

資料庫已更改。

 

SQL> alter database add standby logfile group 6 'E:\NSTC\ORADATA\CME\cme\standby_redo06.log' size 50m;

 

資料庫已更改。

 

SQL> alter database add standby logfile group 7 'E:\NSTC\ORADATA\CME\cme\standby_redo07.log' size 50m;

 

資料庫已更改。

 

6.4 standby端啟動redo實時應用

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

 

資料庫已更改。

 

SQL> select recovery_mode from v$archive_dest_status where dest_id=1;

 

RECOVERY_MODE

-----------------------

MANAGED REAL TIME APPLY

 

6.5啟用standby redolog

standby端查詢standby redologs狀態顯示未使用。

SQL> select group#, sequence#, dbid,status from v$standby_log;

 

    GROUP#  SEQUENCE# DBID                                     STATUS

---------- ---------- ---------------------------------------- ----------

         4          0 UNASSIGNED                               UNASSIGNED

         5          0 UNASSIGNED                               UNASSIGNED

         6          0 UNASSIGNED                               UNASSIGNED

         7          0 UNASSIGNED                               UNASSIGNED

 

  primary端切換日誌將standby redologs啟用。

SQL> alter system switch logfile;

 

系統已更改。

 

再次在standby端查詢standby redologs狀態顯示啟用。

SQL> select group#, sequence#, dbid,status from v$standby_log;

 

    GROUP#  SEQUENCE# DBID                                     STATUS

---------- ---------- ---------------------------------------- ----------

         4        175 4032130741                               ACTIVE

         5          0 UNASSIGNED                               UNASSIGNED

         6          0 UNASSIGNED                               UNASSIGNED

         7          0 UNASSIGNED                               UNASSIGNED

 

7standby端啟動實時查詢

    檢視當前資料庫開啟模式。

SQL> select open_mode from v$database;

 

OPEN_MODE

--------------------

MOUNTED

 

    直接開啟資料庫將報錯。

SQL> alter database open;

alter database open

*

1 行出現錯誤:

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

 

    先暫停redo應用,然後開啟資料庫,再重啟redo應用。

SQL> alter database recover managed standby database cancel;

 

資料庫已更改。

 

SQL> alter database open;

 

資料庫已更改。

 

SQL> select open_mode from v$database;

 

OPEN_MODE

--------------------

READ ONLY

 

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

 

資料庫已更改。

 

SQL> select open_mode from v$database;

 

OPEN_MODE

--------------------

READ ONLY WITH APPLY

 

SQL> select recovery_mode from v$archive_dest_status where dest_id=1;

 

RECOVERY_MODE

-----------------------

MANAGED REAL TIME APPLY

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28536251/viewspace-1443923/,如需轉載,請註明出處,否則將追究法律責任。

相關文章