利用rman创建standby(一)(转 http://ningoo.itpub.net/post/2149/230943)
1.試驗環(huán)境
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
PL/SQL Release 9.2.0.1.0 - Production
CORE 9.2.0.1.0 Production
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
NLSRTL Version 9.2.0.1.0 - Production
2.確認主庫處于歸檔模式
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination d:/oracle/ora92/RDBMS
Oldest online log sequence 79
Next log sequence to archive 81
Current log sequence 81
3.創(chuàng)建備庫instance
windows平臺利用oradim工具創(chuàng)建一個新的instance,unix/linux平臺設置新的ORACLE_SID即可
4.準備好備庫的參數(shù)文件
本次試驗在同一個系統(tǒng)上建備庫,要注意設置好DB_FILE_NAME_CONVERT和LOG_FILE_NAME_CONVERT參數(shù)。另外
db_name設置為主庫名,lock_name_space設置為備庫名。主要的幾個參數(shù)如下:
*.compatible='9.2.0.0.0'
*.control_files='d:/oracle/oradata/test/controlstandby.ctl'
*.background_dump_dest='d:/oracle/admin/test/bdump'
*.core_dump_dest='d:/oracle/admin/test/cdump'
*.user_dump_dest='d:/oracle/admin/test/udump'
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'
*.db_name='ning'
*.lock_name_space='test'
*.db_file_name_convert='d:/oracle/oradata/ning','d:/oracle/oradata/test'
*.log_file_name_convert='d:/oracle/oradata/ning','d:/oracle/oradata/test'
*.fal_server=ning
*.fal_client=test
*.standby_archive_dest='location=d:/oracle/arch/test'
*.standby_file_management=auto
5.生成password file
c:/>orapwd file=d:/oracle/ora92/DATABASE/PWDtest.ORA password=pass
6.配置網(wǎng)絡
配置主備庫的listener.ora,tnsnames.ora。修改完lisner.ora后注意重啟監(jiān)聽。
Listener.ora
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myhost)(PORT = 1521))
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = d:oracleora92)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ning)
(ORACLE_HOME = d:oracleora92)
(SID_NAME = ning)
)
(SID_DESC =
(GLOBAL_DBNAME = test)
(ORACLE_HOME = d:oracleora92)
(SID_NAME = test)
)
)
tnsnames.ora
ning =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = myhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ning)
)
)
test =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = myhost)(PORT = 1521))
)
(CONNECT_DATA =
(SID = test)
)
)
7.使用rman備份主庫
c:/>rman target /
Recovery Manager: Release 9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
connected to target database: NING (DBID=1192138470)
RMAN> backup full format 'd:/backup.ora' database;
Starting backup at 21-NOV-06
using target database controlfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=15 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current SPFILE in backupset
including current controlfile in backupset
input datafile fno=00001 name=D:/ORACLE/ORADATA/NING/SYSTEM01.DBF
input datafile fno=00002 name=D:/ORACLE/ORADATA/NING/UNDOTBS01.DBF
input datafile fno=00004 name=D:/ORACLE/ORADATA/NING/EXAMPLE01.DBF
input datafile fno=00005 name=D:/ORACLE/ORADATA/NING/INDX01.DBF
input datafile fno=00007 name=D:/ORACLE/ORADATA/NING/USERS01.DBF
input datafile fno=00003 name=D:/ORACLE/ORADATA/NING/CWMLITE01.DBF
input datafile fno=00006 name=D:/ORACLE/ORADATA/NING/TOOLS01.DBF
input datafile fno=00008 name=D:/ORACLE/ORADATA/NING/TEST01.DBF
channel ORA_DISK_1: starting piece 1 at 21-NOV-06
channel ORA_DISK_1: finished piece 1 at 21-NOV-06
piece handle=D:/BACKUP.ORA comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:02:26
Finished backup at 21-NOV-06
8.生成備庫控制文件
SQL> alter database create standby controlfile as 'd:/oracle/oradata/test/controlstandby.ctl';
9.啟動備庫到nomount狀態(tài)
SQL> conn /@test as sysdba
Connected to an idle instance.
SQL> startup nomount pfile='d:/oracle/ora92/database/inittest.ora'
ORACLE instance started.
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
10.將備庫至于mount狀態(tài)
SQL> alter database mount standby database;
Database altered.
如果參數(shù)文件的db_name和lock_name_space設置不正確,可能報以下錯誤:
ORA-01103: database name 'NING' in controlfile is not 'TEST'
如果沒有password file,則報錯:
ORA-01990: error opening password file 'd:/oracle/ora92/DATABASE/PWDtest.ORA'
11.利用rman恢復出備庫
D:/Documents and Settings/haiyuan.ning>rman target /@test
Recovery Manager: Release 9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
connected to target database: NING (DBID=1192138470)
RMAN> restore database;
Starting restore at 21-NOV-06
using target database controlfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=14 devtype=DISK
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to D:/ORACLE/ORADATA/TEST/SYSTEM01.DBF
restoring datafile 00002 to D:/ORACLE/ORADATA/TEST/UNDOTBS01.DBF
restoring datafile 00003 to D:/ORACLE/ORADATA/TEST/CWMLITE01.DBF
restoring datafile 00004 to D:/ORACLE/ORADATA/TEST/EXAMPLE01.DBF
restoring datafile 00005 to D:/ORACLE/ORADATA/TEST/INDX01.DBF
restoring datafile 00006 to D:/ORACLE/ORADATA/TEST/TOOLS01.DBF
restoring datafile 00007 to D:/ORACLE/ORADATA/TEST/USERS01.DBF
restoring datafile 00008 to D:/ORACLE/ORADATA/TEST/TEST01.DBF
channel ORA_DISK_1: restored backup piece 1
piece handle=D:/BACKUP.ORA tag=TAG20061121T134050 params=NULL
channel ORA_DISK_1: restore complete
Finished restore at 21-NOV-06
12.修改主庫的歸檔參數(shù)
SQL> alter system set log_archive_dest_1='location=d:/oracle/arch/ning';
System altered.
SQL> alter system set log_archive_dest_2='service=test';
System altered.
13.將備庫置于自動恢復狀態(tài)
SQL> conn /@test as sysdba
Connected.
SQL> recover managed standby database disconnect from session;
Media recovery complete.
SQL> alter database recover managed standby database disconnect from session;
alter database recover managed standby database disconnect from session
*
ERROR at line 1:
ORA-01153: an incompatible media recovery is active
SQL> alter database recover managed standby database finish;
Database altered.
SQL> alter database recover managed standby database disconnect from session;
Database altered.
14.在主庫上執(zhí)行檢查
SQL> conn /@ning as sysdba
Connected.
SQL> select dest_name,status,error from v$archive_dest;
DEST_NAME STATUS ERROR
-------------------- -------- ------------------------------
LOG_ARCHIVE_DEST_1 VALID
LOG_ARCHIVE_DEST_2 VALID
LOG_ARCHIVE_DEST_3 INACTIVE
LOG_ARCHIVE_DEST_4 INACTIVE
LOG_ARCHIVE_DEST_5 INACTIVE
LOG_ARCHIVE_DEST_6 INACTIVE
LOG_ARCHIVE_DEST_7 INACTIVE
LOG_ARCHIVE_DEST_8 INACTIVE
LOG_ARCHIVE_DEST_9 INACTIVE
LOG_ARCHIVE_DEST_10 INACTIVE
SQL> select * from v$archive_gap;
no rows selected
SQL> select sequence# from v$log_history;
SEQUENCE#
----------
1
2
...
79
80
15.在備庫上執(zhí)行檢查
SQL> conn /@test as sysdba
Connected.
SQL> select * from v$archive_gap;
no rows selected
SQL> select sequence# from v$log_history;
SEQUENCE#
----------
1
2
...
79
80
SQL> select sequence#,applied from v$archived_log;
SEQUENCE# APP
---------- ---
79 YES
80 YES
SQL> select process,status from v$managed_standby;
PROCESS STATUS
------- ------------
ARCH CONNECTED
ARCH CONNECTED
MRP0 WAIT_FOR_LOG
RFS RECEIVING
轉載于:https://www.cnblogs.com/Kevin_z/archive/2010/06/22/1762677.html
總結
以上是生活随笔為你收集整理的利用rman创建standby(一)(转 http://ningoo.itpub.net/post/2149/230943)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS2005 VSTO 项目创建
- 下一篇: Linux下GCC的安装,GCC链接外部