Oracle 10g使用RMAN創建physical standby

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>

至此完成自由切換。

· 湖北宜昌三峽壩區水面驚現神秘動物

近日,湖北宜昌,一段視頻在當地熱傳:有網友在三峽壩區拍到神秘動物,體型碩大數米長...

· 什麽是語段?語段的類型以及和句群、段落的區別與聯系是什麽?

句群是最高級的語言單位。 段落(自然段)是章法單位...

· 十八部好看的賭石類小說

以下是十八部(排名不分先後)好看的賭石類小說的簡介,喜歡的朋友可以去搜索書名閱讀...

 
詳細講解Oracle數據庫10g RMAN的備份過程
1.首先查看一下Oracle的數據文件 SQL> select name from v$datafile; NAME ------------------------------------- /dev/rora_system /dev/rora_undo1 /dev/rora_sysaux /dev/rora_users /dev/rora_example 2.建立...查看完整版>>詳細講解Oracle數據庫10g RMAN的備份過程
 
Oracle 10g RMAN的備份測試
情況一,數據庫崩潰,只剩下磁帶上的通過rman 的全備份,有controlfile和spfile都在rman備份中。通過重新安裝一個同名的SID之後再進行恢複。注重事項:1 rman的保存格式前後要一樣.2 archive 的格式也要和原來一樣。...查看完整版>>Oracle 10g RMAN的備份測試
 
Oracle 10g 新特性之 RMAN 的功能更強大
  大多數人都認同 RMAN 是用于 Oracle 數據庫備份的實際工具。但是與它們所具有的強大功能相比,RMAN 的早期版本並未提供人們所期待的一些功能。就像許多 DBA 一樣,假如它沒有包含我認爲必須具有的功能,我將會異...查看完整版>>Oracle 10g 新特性之 RMAN 的功能更強大
 
Oracle 10g RMAN的備份測試
情況一,數據庫崩潰,只剩下磁帶上的通過rman 的全備份,有controlfile和spfile都在rman備份中。通過重新安裝一個同名的SID之後再進行恢複。注重事項:1 rman的保存格式前後要一樣.2 archive 的格式也要和原來一樣。...查看完整版>>Oracle 10g RMAN的備份測試
 
如何使用Oracle 10gR2‘s RMAN進行加密備份
由于最近發生很多偷盜備份資料的事件,這使得越來越多的人更加關注保護數據備份的重要性了。從銀行、經濟行業、零售商店甚至是IRS中偷出載有數百萬用戶資料的導出數據磁盤,它所造成的損失是無法猜測的(資料來源:數...查看完整版>>如何使用Oracle 10gR2‘s RMAN進行加密備份