| 導購 | 订阅 | 在线投稿
分享
 
 
 

Oracle 10g使用RMAN創建physical standby

2008-08-07 07:35:04  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
  1.試驗環境

  SQL> select * from v$version;

  BANNER

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

  Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

  PL/SQL Release 10.2.0.1.0 - Production

  CORE 10.2.0.1.0 Production

  TNS for Linux: Version 10.2.0.1.0 - Production

  NLSRTL Version 10.2.0.1.0 - Production

  2.確認主庫處于歸檔模式

  SQL> archive log list;

  Database log mode Archive Mode

  Automatic archival Enabled

  Archive destination /u02/arch

  Oldest online log sequence 154

  Next log sequence to archive 156

  Current log sequence 156

  3.創建備庫instance

  windows平台利用oradim工具創建一個新的instance,

  unix/linux平台設置新的ORACLE_SID即可

  4.准備好主備庫的參數文件

  主庫:

  orcl.__db_cache_size=184549376

  orcl.__java_pool_size=4194304

  orcl.__large_pool_size=4194304

  orcl.__shared_pool_size=88080384

  orcl.__streams_pool_size=0

  *.audit_file_dest='/u01/oracle/admin/orcl/adump'

  *.background_dump_dest='/u01/oracle/admin/orcl/bdump'

  *.compatible='10.2.0.1.0'

  *.control_files='/u01/oracle/oradata/orcl/control01.ctl','

  /u01/oracle/oradata/orcl/control02.ctl','

  /u01/oracle/oradata/orcl/control03.ctl'

  *.core_dump_dest='/u01/oracle/admin/orcl/cdump'

  *.db_block_size=8192

  *.db_domain=''

  *.db_file_multiblock_read_count=16

  *.db_name='orcl'

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

  *.job_queue_processes=10

  *.log_archive_dest_1='LOCATION=/u02/arch'

  *.log_archive_format='%t_%s_%r.dbf'

  *.nls_language='SIMPLIFIED CHINESE'

  *.nls_territory='CHINA'

  *.open_cursors=300

  *.pga_aggregate_target=94371840

  *.processes=150

  *.remote_login_passwordfile='EXCLUSIVE'

  *.sga_target=285212672

  *.undo_management='AUTO'

  *.undo_tablespace='UNDOTBS1'

  *.user_dump_dest='/u01/oracle/admin/orcl/udump'

  #################################

  db_unique_name=node1

  service_names=orcl

  log_archive_config='dg_config=(node1,node2)'

  log_archive_dest_2='service=dbstandby

  valid_for=(online_logfiles,primary_role) db_unique_name=node2'

  log_archive_dest_state_1=enable

  log_archive_dest_state_2=enable

  fal_server=dbstandby

  standby_file_management=AUTO

  備庫:

  orcl.__db_cache_size=184549376

  orcl.__java_pool_size=4194304

  orcl.__large_pool_size=4194304

  orcl.__shared_pool_size=88080384

  orcl.__streams_pool_size=0

  *.audit_file_dest='/u01/oracle/admin/orcl/adump'

  *.background_dump_dest='/u01/oracle/admin/orcl/bdump'

  *.compatible='10.2.0.1.0'

  *.control_files='/u01/oracle/oradata/orcl/control01.ctl','

  /u01/oracle/oradata/orcl/control02.ctl','

  /u01/oracle/oradata/orcl/control03.ctl'

  *.core_dump_dest='/u01/oracle/admin/orcl/cdump'

  *.db_block_size=8192

  *.db_domain=''

  *.db_file_multiblock_read_count=16

  *.db_name='orcl'

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

  *.job_queue_processes=10

  *.log_archive_dest_1='LOCATION=/u02/arch'

  *.log_archive_format='%t_%s_%r.dbf'

  *.nls_language='SIMPLIFIED CHINESE'

  *.nls_territory='CHINA'

  *.open_cursors=300

  *.pga_aggregate_target=94371840

  *.processes=150

  *.remote_login_passwordfile='EXCLUSIVE'

  *.sga_target=285212672

  *.undo_management='AUTO'

  *.undo_tablespace='UNDOTBS1'

  *.user_dump_dest='/u01/oracle/admin/orcl/udump'

  #################################

  db_unique_name=node2

  service_names=orcl

  log_archive_config='dg_config=(node1,node2)'

  log_archive_dest_2='service=dbprimary

  valid_for=(online_logfiles,primary_role) db_unique_name=node1'

  log_archive_dest_state_1=enable

  log_archive_dest_state_2=enable

  fal_server=dbprimary

  fal_client=dbstandby

  standby_file_management=AUTO

  5.生成password file

  c:/>orapwd file=d:/oracle/ora92/DATABASE/PWDtest.ORA password=pass

  或者直接將主庫上的密碼文件copy一份到備庫上

  6.配置網絡

  配置主備庫的listener.ora,tnsnames.ora。修改完listener.ora後需要重啓監聽器。

  主庫:

  listener.ora

  SID_LIST_LISTENER =

  (SID_LIST =

  (SID_DESC =

  (SID_NAME = PLSExtProc)

  (ORACLE_HOME = /u01/oracle/product/10.2.0)

  (PROGRAM = extproc)

  )

  )

  LISTENER =

  (DESCRIPTION_LIST =

  (DESCRIPTION =

  (ADDRESS = (PROTOCOL = TCP)(HOST = s1.gti.com)(PORT = 1521))

  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

  )

  )

  tnsnames.ora

  dbprimary =

  (DESCRIPTION =

  (ADDRESS_LIST =

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

  )

  (CONNECT_DATA =

  (SERVICE_NAME = orcl)

  )

  )

  dbstandby =

  (DESCRIPTION =

  (ADDRESS_LIST =

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

  )

  (CONNECT_DATA =

  (SERVICE_NAME = orcl)

  )

  )

  備庫:

  listener.ora

  SID_LIST_LISTENER =

  (SID_LIST =

  (SID_DESC =

  (SID_NAME = orcl)

  (ORACLE_HOME = /u01/oracle/product/10.2.0)

  )

  )

  LISTENER =

  (DESCRIPTION_LIST =

  (DESCRIPTION =

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

  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

  )

  )

  tnsnames.ora

  dbprimary =

  (DESCRIPTION =

  (ADDRESS_LIST =

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

  )

  (CONNECT_DATA =

  (SERVICE_NAME = orcl)

  )

  )

  dbstandby =

  (DESCRIPTION =

  (ADDRESS_LIST =

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

  )

  (CONNECT_DATA =

  (SERVICE_NAME = orcl)

  )

  )

  7.使用rman備份主庫

  [oracle@s1 ~]$ rman target /

  Recovery Manager: Release 10.2.0.1.0 - Production on Thu May 29 19:52:37 2008

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

  connected to target database: ORCL (DBID=1171867028)

  RMAN> backup full format='/u02/db_%U'

  database include current controlfile for standby;

  ...................

  8.歸檔主庫當前日志

  SQL> alter system archive log current;

  System altered.

  9.啓動備庫到nomount

  sqlplus "/ as sysdba"

  Connected to an idle instance.

  SQL> startup nomount

  Total System Global Area 285212672 bytes

  Fixed Size 1218992 bytes

  Variable Size 96470608 bytes

  Database Buffers 184549376 bytes

  Redo Buffers 2973696 bytes

  10.利用rman恢複備庫

  [oracle@s1 ~]$ rman target /

  Recovery Manager: Release 10.2.0.1.0 - Production on Thu May 29 19:53:21 2008

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

  connected to target database: ORCL (DBID=1171867028)

  RMAN> connect auxiliary sys/a@dbstandby

  connected to auxiliary database: ORCL (DBID=1171867028, not mount)

  RMAN> duplicate target database for standby nofilenamecheck;

  .............................

  如果第8步沒有歸檔當前日志,duplicate時可能出現錯誤:

  RMAN-05507: standby controlfile checkpoint (710256) is more recent than duplicat

  ion point in time (709530)

  至此,備庫創建成功。

  11.將備庫置于自動恢複狀態

  SQL> conn / as sysdba

  Connected.

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

  Media recovery complete.

  12.switchover

  物理STANDBY的SWITCHOVER切換會把當前的一個物理STANDBY切換爲PRIMARY數據庫,而PRIMARY數據庫且變成物理STNADBY數據庫。

  一般SWITCHOVER切換都是計劃中的切換,特點是在切換後,不會丟失任何的數據,而且這個過程是可逆的,整個DATA GUARD環境不會被破壞,原來DATA GUARD環境中的所有物理和邏輯STANDBY都可以繼續工作。

  在進行DATA GUARD的物理STANDBY切換前需要注意:

  確認主庫和從庫間網絡連接通暢;

  確認沒有活動的會話連接在數據庫中;

  PRIMARY數據庫處于打開的狀態,STANDBY數據庫處于MOUNT狀態;

  確保STANDBY數據庫處于ARCHIVELOG模式;

  如果設置了REDO應用的延遲,那麽將這個設置去掉;

  確保配置了主庫和從庫的初始化參數,使得切換完成後,DATA GUARD機制可以順利的運行。

  主庫:

  [oracle@s1 ~]$ sqlplus "/ as sysdba"

  SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 29 19:55:02 2008

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

  Connected to:

  Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

  With the Partitioning, OLAP and Data Mining options

  SQL> alter database commit to switchover to physical standby;

  Database altered.

  SQL> shutdown immediate;

  ORA-01507: database not mounted

  ORACLE instance shut down.

  SQL> startup nomount

  ORACLE instance started.

  Total System Global Area 285212672 bytes

  Fixed Size 1218992 bytes

  Variable Size 96470608 bytes

  Database Buffers 184549376 bytes

  Redo Buffers 2973696 bytes

  SQL> alter database mount standby database;

  Database altered.

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

  Database altered.

  備庫:

  SQL> alter database commit to switchover to primary;

  Database altered.

  SQL> shutdown immediate;

  ORA-01109: database not open

  Database dismounted.

  ORACLE instance shut down.

  SQL> startup

  ORACLE instance started.

  Total System Global Area 285212672 bytes

  Fixed Size 1218992 bytes

  Variable Size 96470608 bytes

  Database Buffers 184549376 bytes

  Redo Buffers 2973696 bytes

  Database mounted.

  Database opened.

  SQL>

  至此完成自由切換。
 
1.試驗環境 SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod PL/SQL Release 10.2.0.1.0 - Production CORE 10.2.0.1.0 Production TNS for Linux: Version 10.2.0.1.0 - Production NLSRTL Version 10.2.0.1.0 - Production 2.確認主庫處于歸檔模式 SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /u02/arch Oldest online log sequence 154 Next log sequence to archive 156 Current log sequence 156 3.創建備庫instance windows平台利用oradim工具創建一個新的instance, unix/linux平台設置新的ORACLE_SID即可 4.准備好主備庫的參數文件 主庫: orcl.__db_cache_size=184549376 orcl.__java_pool_size=4194304 orcl.__large_pool_size=4194304 orcl.__shared_pool_size=88080384 orcl.__streams_pool_size=0 *.audit_file_dest='/u01/oracle/admin/orcl/adump' *.background_dump_dest='/u01/oracle/admin/orcl/bdump' *.compatible='10.2.0.1.0' *.control_files='/u01/oracle/oradata/orcl/control01.ctl',' /u01/oracle/oradata/orcl/control02.ctl',' /u01/oracle/oradata/orcl/control03.ctl' *.core_dump_dest='/u01/oracle/admin/orcl/cdump' *.db_block_size=8192 *.db_domain='' *.db_file_multiblock_read_count=16 *.db_name='orcl' *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)' *.job_queue_processes=10 *.log_archive_dest_1='LOCATION=/u02/arch' *.log_archive_format='%t_%s_%r.dbf' *.nls_language='SIMPLIFIED CHINESE' *.nls_territory='CHINA' *.open_cursors=300 *.pga_aggregate_target=94371840 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.sga_target=285212672 *.undo_management='AUTO' *.undo_tablespace='UNDOTBS1' *.user_dump_dest='/u01/oracle/admin/orcl/udump' ################################# db_unique_name=node1 service_names=orcl log_archive_config='dg_config=(node1,node2)' log_archive_dest_2='service=dbstandby valid_for=(online_logfiles,primary_role) db_unique_name=node2' log_archive_dest_state_1=enable log_archive_dest_state_2=enable fal_server=dbstandby standby_file_management=AUTO 備庫: orcl.__db_cache_size=184549376 orcl.__java_pool_size=4194304 orcl.__large_pool_size=4194304 orcl.__shared_pool_size=88080384 orcl.__streams_pool_size=0 *.audit_file_dest='/u01/oracle/admin/orcl/adump' *.background_dump_dest='/u01/oracle/admin/orcl/bdump' *.compatible='10.2.0.1.0' *.control_files='/u01/oracle/oradata/orcl/control01.ctl',' /u01/oracle/oradata/orcl/control02.ctl',' /u01/oracle/oradata/orcl/control03.ctl' *.core_dump_dest='/u01/oracle/admin/orcl/cdump' *.db_block_size=8192 *.db_domain='' *.db_file_multiblock_read_count=16 *.db_name='orcl' *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)' *.job_queue_processes=10 *.log_archive_dest_1='LOCATION=/u02/arch' *.log_archive_format='%t_%s_%r.dbf' *.nls_language='SIMPLIFIED CHINESE' *.nls_territory='CHINA' *.open_cursors=300 *.pga_aggregate_target=94371840 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.sga_target=285212672 *.undo_management='AUTO' *.undo_tablespace='UNDOTBS1' *.user_dump_dest='/u01/oracle/admin/orcl/udump' ################################# db_unique_name=node2 service_names=orcl log_archive_config='dg_config=(node1,node2)' log_archive_dest_2='service=dbprimary valid_for=(online_logfiles,primary_role) db_unique_name=node1' log_archive_dest_state_1=enable log_archive_dest_state_2=enable fal_server=dbprimary fal_client=dbstandby standby_file_management=AUTO 5.生成password file c:/>orapwd file=d:/oracle/ora92/DATABASE/PWDtest.ORA password=pass 或者直接將主庫上的密碼文件copy一份到備庫上 6.配置網絡 配置主備庫的listener.ora,tnsnames.ora。修改完listener.ora後需要重啓監聽器。 主庫: listener.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /u01/oracle/product/10.2.0) (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = s1.gti.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) ) tnsnames.ora dbprimary = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.131)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) dbstandby = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.132)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) 備庫: listener.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = orcl) (ORACLE_HOME = /u01/oracle/product/10.2.0) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.132)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) ) tnsnames.ora dbprimary = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.131)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) dbstandby = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.132)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) 7.使用rman備份主庫 [oracle@s1 ~]$ rman target / Recovery Manager: Release 10.2.0.1.0 - Production on Thu May 29 19:52:37 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved. connected to target database: ORCL (DBID=1171867028) RMAN> backup full format='/u02/db_%U' database include current controlfile for standby; ................... 8.歸檔主庫當前日志 SQL> alter system archive log current; System altered. 9.啓動備庫到nomount sqlplus "/ as sysdba" Connected to an idle instance. SQL> startup nomount Total System Global Area 285212672 bytes Fixed Size 1218992 bytes Variable Size 96470608 bytes Database Buffers 184549376 bytes Redo Buffers 2973696 bytes 10.利用rman恢複備庫 [oracle@s1 ~]$ rman target / Recovery Manager: Release 10.2.0.1.0 - Production on Thu May 29 19:53:21 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved. connected to target database: ORCL (DBID=1171867028) RMAN> connect auxiliary [url=mailto:sys/a@dbstandby]sys/a@dbstandby[/url] connected to auxiliary database: ORCL (DBID=1171867028, not mount) RMAN> duplicate target database for standby nofilenamecheck; ............................. 如果第8步沒有歸檔當前日志,duplicate時可能出現錯誤: RMAN-05507: standby controlfile checkpoint (710256) is more recent than duplicat ion point in time (709530) 至此,備庫創建成功。 11.將備庫置于自動恢複狀態 SQL> conn / as sysdba Connected. SQL>alter database recover managed standby database disconnect from session; Media recovery complete. 12.switchover 物理STANDBY的SWITCHOVER切換會把當前的一個物理STANDBY切換爲PRIMARY數據庫,而PRIMARY數據庫且變成物理STNADBY數據庫。 一般SWITCHOVER切換都是計劃中的切換,特點是在切換後,不會丟失任何的數據,而且這個過程是可逆的,整個DATA GUARD環境不會被破壞,原來DATA GUARD環境中的所有物理和邏輯STANDBY都可以繼續工作。 在進行DATA GUARD的物理STANDBY切換前需要注意: 確認主庫和從庫間網絡連接通暢; 確認沒有活動的會話連接在數據庫中; PRIMARY數據庫處于打開的狀態,STANDBY數據庫處于MOUNT狀態; 確保STANDBY數據庫處于ARCHIVELOG模式; 如果設置了REDO應用的延遲,那麽將這個設置去掉; 確保配置了主庫和從庫的初始化參數,使得切換完成後,DATA GUARD機制可以順利的運行。 主庫: [oracle@s1 ~]$ sqlplus "/ as sysdba" SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 29 19:55:02 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options SQL> alter database commit to switchover to physical standby; Database altered. SQL> shutdown immediate; ORA-01507: database not mounted ORACLE instance shut down. SQL> startup nomount ORACLE instance started. Total System Global Area 285212672 bytes Fixed Size 1218992 bytes Variable Size 96470608 bytes Database Buffers 184549376 bytes Redo Buffers 2973696 bytes SQL> alter database mount standby database; Database altered. SQL> alter database recover managed standby database disconnect from session; Database altered. 備庫: SQL> alter database commit to switchover to primary; Database altered. SQL> shutdown immediate; ORA-01109: database not open Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 285212672 bytes Fixed Size 1218992 bytes Variable Size 96470608 bytes Database Buffers 184549376 bytes Redo Buffers 2973696 bytes Database mounted. Database opened. SQL> 至此完成自由切換。
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
  免責聲明:本文僅代表作者個人觀點,與王朝網絡無關。王朝網絡登載此文出於傳遞更多信息之目的,並不意味著贊同其觀點或證實其描述,其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,並請自行核實相關內容。
 
© 2005- 王朝網路 版權所有