Windows下ORACLE 11G DATA GUARD搭建(用於實時備份)

stonebox1122發表於2015-02-16

1、環境

 

System

Version

IP

Oracle

Version

DB_NAME

DB_UNIQUE_NAME

Primary

W2k8 64

192.168.230.129

11.2.0.1.0

cme

cme

Standby

W2k8 64

192.168.230.131

11.2.0.1.0

cme

cmedg1

Primary端資料庫處於open狀態、歸檔狀態及強制歸檔狀態,透過DBCA建立,已經有密碼檔案;standby端僅安裝資料庫軟體,沒有建立資料庫。

 

2、網路配置

2.1 primary監聽配置

# listener.ora Network Configuration File: C:\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 = C:\app\Administrator\product\11.2.0\dbhome_1)

      (SID_NAME = cme)

    )

  )

 

LISTENER =

  (DESCRIPTION =

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

  )

 

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

 

2.2 standby監聽配置

# listener.ora Network Configuration File: C:\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)

      (SID_NAME = cmedg1)

    )

  )

 

LISTENER =

  (DESCRIPTION =

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

  )

 

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

 

2.3 primary網路服務名配置

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

# Generated by Oracle configuration tools.

 

DG131 =

  (DESCRIPTION =

    (ADDRESS_LIST =

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

    )

    (CONNECT_DATA =

      (SERVICE_NAME = cmedg1)

    )

  )

 

DG129 =

  (DESCRIPTION =

    (ADDRESS_LIST =

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

    )

    (CONNECT_DATA =

      (SERVICE_NAME = cme)

    )

  )

 

2.4 standby網路服務名配置

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

# Generated by Oracle configuration tools.

 

DG131 =

  (DESCRIPTION =

    (ADDRESS_LIST =

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

    )

    (CONNECT_DATA =

      (SERVICE_NAME = cmedg1)

    )

  )

 

DG129 =

  (DESCRIPTION =

    (ADDRESS_LIST =

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

    )

    (CONNECT_DATA =

      (SERVICE_NAME = cme)

    )

  )

 

2.5 啟動監聽並進行測試

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

C:\Users\Administrator>tnsping dg131

 

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

2015 11:33:29

 

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

 

已使用的引數檔案:

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

 

 

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

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

68.230.131)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = cmedg1)))

OK (0 毫秒)

 

C:\Users\Administrator>tnsping dg129

 

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

2015 11:33:37

 

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

 

已使用的引數檔案:

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

 

 

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

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

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

OK (20 毫秒)

 

3、引數配置

3.1 primary引數配置

    修改相關引數,根據spfile.ora生成pfile.ora,具體內容如下:

cme.__db_cache_size=209715200

cme.__java_pool_size=4194304

cme.__large_pool_size=4194304

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

cme.__pga_aggregate_target=297795584

cme.__sga_target=562036736

cme.__shared_io_pool_size=0

cme.__shared_pool_size=331350016

cme.__streams_pool_size=4194304

*.audit_file_dest='C:\app\Administrator\admin\cme\adump'

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='C:\APP\ADMINISTRATOR\ORADATA\CME\CONTROLFILE\O1_MF_BF8RJ635_.CTL','C:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\CME\CONTROLFILE\O1_MF_BF8RJ69J_.CTL'

*.db_block_size=8192

*.db_create_file_dest='C:\app\Administrator\oradata'

*.db_domain=''

*.db_name='cme'

*.db_recovery_file_dest='C:\app\Administrator\flash_recovery_area'

*.db_recovery_file_dest_size=4102029312

*.diagnostic_dest='C:\app\Administrator'

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

*.log_archive_format='ARC%S_%R.%T'

*.memory_target=857735168

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.undo_tablespace='UNDOTBS1'

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

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

*.log_archive_dest_state_2='ENABLE'

 

 

3.2 standby引數配置

primarypfile.ora複製到standby,修改後生成spfilecmedg1.ora

C:\Users\Administrator>set oracle_sid=cmedg1

 

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

例項已建立。

 

C:\Users\Administrator>sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.1.0 Production on 星期二 2 10 15:14:56 2015

 

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

 

已連線到空閒例程。

 

SQL> create spfile from pfile='C:\app\Administrator\product\11.2.0\dbhome_1\data

base\pfile.ora';

 

檔案已建立。

 

    修改後的pfile.ora內容如下:

cme.__db_cache_size=209715200

cme.__java_pool_size=4194304

cme.__large_pool_size=4194304

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

cme.__pga_aggregate_target=297795584

cme.__sga_target=562036736

cme.__shared_io_pool_size=0

cme.__shared_pool_size=331350016

cme.__streams_pool_size=4194304

*.audit_file_dest='C:\app\Administrator\admin\cmedg1\adump'

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='C:\APP\ADMINISTRATOR\ORADATA\CMEDG1\CONTROLFILE\O1_MF_BF8RJ635_.CTL','C:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\CMEDG1\CONTROLFILE\O1_MF_BF8RJ69J_.CTL'

*.db_block_size=8192

*.db_create_file_dest='C:\app\Administrator\oradata'

*.db_domain=''

*.db_name='cme'

*.db_unique_name='cmedg1'

*.db_recovery_file_dest='C:\app\Administrator\flash_recovery_area'

*.db_recovery_file_dest_size=4102029312

*.diagnostic_dest='C:\app\Administrator'

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

*.log_archive_format='ARC%S_%R.%T'

*.memory_target=857735168

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.undo_tablespace='UNDOTBS1'

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

*.log_archive_dest_1='location=C:\app\Administrator\oradata\cmedg1\archivelog valid_for=(all_logfiles,all_roles) db_unique_name=cmedg1'

*.standby_file_management='auto'

 

4、系統設定

4.1 standby目錄建立

    根據引數檔案建立相關目錄。

mkdir C:\app\Administrator\admin\cmedg1\adump

mkdir C:\app\Administrator\admin\cmedg1\bdump

mkdir C:\app\Administrator\admin\cmedg1\cdump

mkdir C:\app\Administrator\admin\cmedg1\pfile

mkdir C:\app\Administrator\admin\cmedg1\udump

mkdir C:\app\Administrator\oradata\cmedg1\controlfile

mkdir C:\app\Administrator\oradata\cmedg1\datafile

mkdir C:\app\Administrator\oradata\cmedg1\onlinelog

mkdir C:\app\Administrator\oradata\cmedg1\archivelog

mkdir C:\app\Administrator\flash_recovery_area

 

4.2 standby密碼檔案

    primary端的密碼檔案複製到standby並重新命名為PWDcmedg1.ora

 

5、建立standby資料庫

    standby資料庫啟動到nomount狀態,在primary端執行如下命令:

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

 

恢復管理器: Release 11.2.0.1.0 - Production on 星期二 2 10 17:43:35 2015

 

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

 

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

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

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

 

RMAN> duplicate target database for standby nofilenamecheck from active database

;

 

啟動 Duplicate Db 10-2 -15

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

分配的通道: ORA_AUX_DISK_1

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

 

記憶體指令碼的內容:

{

   backup as copy reuse

   targetfile  'C:\app\Administrator\product\11.2.0\dbhome_1\DATABASE\PWDcme.ORA

' auxiliary format

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

}

正在執行記憶體指令碼

 

啟動 backup 10-2 -15

分配的通道: ORA_DISK_1

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

完成 backup 10-2 -15

 

記憶體指令碼的內容:

{

   sql clone "alter system set  control_files =

  ''C:\APP\ADMINISTRATOR\ORADATA\CMEDG1\CONTROLFILE\O1_MF_BF8RJ635_.CTL'', ''C:\

APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\CMEDG1\CONTROLFILE\O1_MF_BF8RJ69J_.CTL'' c

omment=

 ''Set by RMAN'' scope=spfile";

   backup as copy current controlfile for standby auxiliary format  'C:\APP\ADMI

NISTRATOR\ORADATA\CMEDG1\CONTROLFILE\O1_MF_BF8RJ635_.CTL';

   restore clone controlfile to  'C:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\CMEDG

1\CONTROLFILE\O1_MF_BF8RJ69J_.CTL' from

 'C:\APP\ADMINISTRATOR\ORADATA\CMEDG1\CONTROLFILE\O1_MF_BF8RJ635_.CTL';

   sql clone "alter system set  control_files =

  ''C:\APP\ADMINISTRATOR\ORADATA\CMEDG1\CONTROLFILE\O1_MF_BF8RJ635_.CTL'', ''C:\

APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\CMEDG1\CONTROLFILE\O1_MF_BF8RJ69J_.CTL'' c

omment=

 ''Set by RMAN'' scope=spfile";

   shutdown clone immediate;

   startup clone nomount;

}

正在執行記憶體指令碼

 

sql 語句: alter system set  control_files =   ''C:\APP\ADMINISTRATOR\ORADATA\CME

DG1\CONTROLFILE\O1_MF_BF8RJ635_.CTL'', ''C:\APP\ADMINISTRATOR\FLASH_RECOVERY_ARE

A\CMEDG1\CONTROLFILE\O1_MF_BF8RJ69J_.CTL'' comment= ''Set by RMAN'' scope=spfile

 

 

啟動 backup 10-2 -15

使用通道 ORA_DISK_1

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

複製備用控制檔案

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

=TAG20150210T174551 RECID=1 STAMP=871321552

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

完成 backup 10-2 -15

 

啟動 restore 10-2 -15

使用通道 ORA_AUX_DISK_1

 

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

完成 restore 10-2 -15

 

sql 語句: alter system set  control_files =   ''C:\APP\ADMINISTRATOR\ORADATA\CME

DG1\CONTROLFILE\O1_MF_BF8RJ635_.CTL'', ''C:\APP\ADMINISTRATOR\FLASH_RECOVERY_ARE

A\CMEDG1\CONTROLFILE\O1_MF_BF8RJ69J_.CTL'' comment= ''Set by RMAN'' scope=spfile

 

 

Oracle 例項已關閉

 

已連線到輔助資料庫 (未啟動)

Oracle 例項已啟動

 

系統全域性區域總計     855982080 位元組

 

Fixed Size                     2180544 位元組

Variable Size                503319104 位元組

Database Buffers             348127232 位元組

Redo Buffers                   2355200 位元組

 

記憶體指令碼的內容:

{

   sql clone 'alter database mount standby database';

}

正在執行記憶體指令碼

 

sql 語句: alter database mount standby database

 

記憶體指令碼的內容:

{

   set newname for clone tempfile  1 to new;

   set newname for clone tempfile  2 to new;

   switch clone tempfile all;

   set newname for clone datafile  1 to new;

   set newname for clone datafile  2 to new;

   set newname for clone datafile  3 to new;

   set newname for clone datafile  4 to new;

   set newname for clone datafile  5 to new;

   backup as copy reuse

   datafile  1 auxiliary format new

   datafile  2 auxiliary format new

   datafile  3 auxiliary format new

   datafile  4 auxiliary format new

   datafile  5 auxiliary format new

   ;

   sql 'alter system archive log current';

}

正在執行記憶體指令碼

 

正在執行命令: SET NEWNAME

 

正在執行命令: SET NEWNAME

 

臨時檔案 1 在控制檔案中已重新命名為 C:\APP\ADMINISTRATOR\ORADATA\CMEDG1\DATAFILE\O

1_MF_TEMP_%U_.TMP

臨時檔案 2 在控制檔案中已重新命名為 C:\APP\ADMINISTRATOR\ORADATA\CMEDG1\DATAFILE\O

1_MF_N6DATASP_%U_.TMP

 

正在執行命令: SET NEWNAME

 

正在執行命令: SET NEWNAME

 

正在執行命令: SET NEWNAME

 

正在執行命令: SET NEWNAME

 

正在執行命令: SET NEWNAME

 

啟動 backup 10-2 -15

使用通道 ORA_DISK_1

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

輸入資料檔案: 檔案號=00005 名稱=C:\APP\ADMINISTRATOR\ORADATA\CME\DATAFILE\N6_DAT

A01.DBF

輸出檔名=C:\APP\ADMINISTRATOR\ORADATA\CMEDG1\DATAFILE\O1_MF_N6DATASP_DATA_D-CM

E_I-4087846086_TS-N6DATASPACE_FNO-5_02PUUJVC_.DBF 標記=TAG20150210T174619

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

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

輸入資料檔案: 檔案號=00001 名稱=C:\APP\ADMINISTRATOR\ORADATA\CME\DATAFILE\O1_MF_

SYSTEM_BF8RDDTT_.DBF

輸出檔名=C:\APP\ADMINISTRATOR\ORADATA\CMEDG1\DATAFILE\O1_MF_SYSTEM_DATA_D-CME_

I-4087846086_TS-SYSTEM_FNO-1_03PUUK80_.DBF 標記=TAG20150210T174619

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

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

輸入資料檔案: 檔案號=00002 名稱=C:\APP\ADMINISTRATOR\ORADATA\CME\DATAFILE\O1_MF_

SYSAUX_BF8RDDWR_.DBF

輸出檔名=C:\APP\ADMINISTRATOR\ORADATA\CMEDG1\DATAFILE\O1_MF_SYSAUX_DATA_D-CME_

I-4087846086_TS-SYSAUX_FNO-2_04PUUK9D_.DBF 標記=TAG20150210T174619

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

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

輸入資料檔案: 檔案號=00003 名稱=C:\APP\ADMINISTRATOR\ORADATA\CME\DATAFILE\O1_MF_

UNDOTBS1_BF8RDDY7_.DBF

輸出檔名=C:\APP\ADMINISTRATOR\ORADATA\CMEDG1\DATAFILE\O1_MF_UNDOTBS1_DATA_D-CM

E_I-4087846086_TS-UNDOTBS1_FNO-3_05PUUKAH_.DBF 標記=TAG20150210T174619

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

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

輸入資料檔案: 檔案號=00004 名稱=C:\APP\ADMINISTRATOR\ORADATA\CME\DATAFILE\O1_MF_

USERS_BF8RDF1X_.DBF

輸出檔名=C:\APP\ADMINISTRATOR\ORADATA\CMEDG1\DATAFILE\O1_MF_USERS_DATA_D-CME_I

-4087846086_TS-USERS_FNO-4_06PUUKB0_.DBF 標記=TAG20150210T174619

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

完成 backup 10-2 -15

 

sql 語句: alter system archive log current

 

記憶體指令碼的內容:

{

   switch clone datafile all;

}

正在執行記憶體指令碼

 

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

輸入資料檔案副本 RECID=1 STAMP=871321955 檔名=C:\APP\ADMINISTRATOR\ORADATA\CME

DG1\DATAFILE\O1_MF_SYSTEM_DATA_D-CME_I-4087846086_TS-SYSTEM_FNO-1_03PUUK80_.DBF

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

輸入資料檔案副本 RECID=2 STAMP=871321955 檔名=C:\APP\ADMINISTRATOR\ORADATA\CME

DG1\DATAFILE\O1_MF_SYSAUX_DATA_D-CME_I-4087846086_TS-SYSAUX_FNO-2_04PUUK9D_.DBF

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

輸入資料檔案副本 RECID=3 STAMP=871321955 檔名=C:\APP\ADMINISTRATOR\ORADATA\CME

DG1\DATAFILE\O1_MF_UNDOTBS1_DATA_D-CME_I-4087846086_TS-UNDOTBS1_FNO-3_05PUUKAH_.

DBF

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

輸入資料檔案副本 RECID=4 STAMP=871321955 檔名=C:\APP\ADMINISTRATOR\ORADATA\CME

DG1\DATAFILE\O1_MF_USERS_DATA_D-CME_I-4087846086_TS-USERS_FNO-4_06PUUKB0_.DBF

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

輸入資料檔案副本 RECID=5 STAMP=871321955 檔名=C:\APP\ADMINISTRATOR\ORADATA\CME

DG1\DATAFILE\O1_MF_N6DATASP_DATA_D-CME_I-4087846086_TS-N6DATASPACE_FNO-5_02PUUJV

C_.DBF

完成 Duplicate Db 10-2 -15

 

6standby端啟動redo應用

C:\Users\Administrator>set oracle_sid=cmedg1

 

C:\Users\Administrator>sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.1.0 Production on 星期二 2 10 17:56:22 2015

 

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

 

 

連線到:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

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

 

資料庫已更改。

 

7、驗證

7.1 primary端切換日誌

 

SQL> alter system switch logfile;

 

系統已更改。

 

SQL> select max(sequence#) from v$archived_log;

 

MAX(SEQUENCE#)

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

            74

 

7.2 standby端檢視日誌

SQL> select max(sequence#) from v$archived_log;

 

MAX(SEQUENCE#)

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

            74

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

相關文章