(1) 建立存放备用数据库相关的OS 目录
(2) 建立例程服务
(3) 配置监听程序和网络服务名
(4) 准备主数据库参数文件
(5) 准备备用数据库参数文件
(6) 复制相关文件到备用主机
(7) 启用备用数据库
复制数据库所在的主机操作:
C:\>mkdir d:\standby2
C:\>mkdir d:\standby2\adump
C:\>mkdir d:\standby2\bdump
C:\>mkdir d:\standby2\cdump
C:\>mkdir d:\standby2\udump
C:\>mkdir d:\standby2\archive
C:\>oradim -new -sid standby2 -syspwd orcl
实例已创建。
修改 listener.ora :
(SID_DESC =
(GLOBAL_DBNAME = standby2)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = standby2)
)
修改 tnsnames.ora :
STANDBY2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = testpc)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = standby2)
)
)
主数据库所在的主机操作:
修改 tnsnames.ora :
STANDBY2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = testpc)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = standby2)
)
)
SQL> conn sys/orcl@demo as sysdba
已连接。
SQL> create pfile from spfile;
文件已创建。
修改主数据库的参数文件:
*.db_unique_name='demo'
*.fal_client='demo'
*.fal_server='standby1,standby2'
*.log_archive_dest_4='service=standby2 valid_for=(online_logfiles,primary_role) db_unique_name=standby2'
*.log_archive_config='dg_config=(demo,standby1,standby2)'
*.standby_file_management='auto'
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> create spfile from pfile;
文件已创建。
SQL> create pfile='%oracle_home%\database\initstandby2.ora' from spfile;
文件已创建。
修改复制数据库的参数文件:
audit_file_dest='D:\standby2\adump'
control_files='d:\standby2\control01.ctl'
background_dump_dest='D:\standby2\bdump'
core_dump_dest='D:\standby2\cdump'
db_unique_name='standby2'
user_dump_dest='D:\standby2\udump'
fal_client='standby2'
fal_server='demo'
log_archive_config='dg_config=(demo,standby1,standby2)'
log_archive_dest_1='location=d:\standby2\archive valid_for=(all_logfiles,all_roles) db_unique_name=standby2'
log_archive_dest_3='service=demo valid_for=(online_logfiles,primary_role) db_unique_name=demo'
standby_file_management='auto'
server_names=standby2
instance_name=standby2
db_file_name_convert='d:\demo','d:\standby2'
log_file_name_convert='d:\demo','d:\standby2','c:\demo','d:\standby2'
standby_archive_dest='d:\standby2\archive'
SQL> create spfile='%oracle_home%\database\spfilestandby2.ora'
2 from pfile='%oracle_home%\database\initstandby2.ora';
文件已创建。
SQL> alter database begin backup;
数据库已更改。
SQL> host copy D:\DEMO\SYSTEM01.DBF d:\backup
已复制 1 个文件。
SQL> host copy D:\DEMO\UNDOTBS01.DBF d:\backup
已复制 1 个文件。
SQL> host copy D:\DEMO\SYSAUX01.DBF d:\backup
已复制 1 个文件。
SQL> host copy D:\DEMO\USERS01.DBF d:\backup
已复制 1 个文件。
SQL> alter database end backup;
数据库已更改。
SQL> alter database create standby controlfile as 'd:\backup\control01.ctl';
数据库已更改。
SQL> host copy d:\backup\*.* \\testpc\standby2
d:\backup\CONTROL01.CTL
d:\backup\SYSAUX01.DBF
d:\backup\SYSTEM01.DBF
d:\backup\UNDOTBS01.DBF
d:\backup\USERS01.DBF
已复制 5 个文件。
SQL> host copy %oracle_home%\database\spfilestandby2.ora \\testpc\oracle_home\da
tabase\*.*
已复制 1 个文件。
SQL> alter system switch logfile;
系统已更改。
SQL> exit
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开
C:\>sqlplus sys/orcl@standby2 as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 2月 16 16:47:05 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 603979776 bytes
Fixed Size 1250380 bytes
Variable Size 163580852 bytes
Database Buffers 432013312 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
SQL> select name from v$archived_log;
NAME
--------------------------------------------------------------------------------
D:\STANDBY2\ARCHIVE\ARC00093_0674493001.001
D:\STANDBY2\ARCHIVE\ARC00094_0674493001.001
D:\STANDBY2\ARCHIVE\ARC00095_0674493001.001
D:\STANDBY2\ARCHIVE\ARC00096_0674493001.001
D:\STANDBY2\ARCHIVE\ARC00097_0674493001.001
D:\STANDBY2\ARCHIVE\ARC00098_0674493001.001
D:\STANDBY2\ARCHIVE\ARC00099_0674493001.001
D:\STANDBY2\ARCHIVE\ARC00100_0674493001.001
已选择8行。
SQL> recover standby database until cancel
ORA-00279: 更改 1844242 (在 02/16/2009 16:29:36 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\STANDBY2\ARCHIVE\ARC00100_0674493001.001
ORA-00280: 更改 1844242 (用于线程 1) 在序列 #100 中
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00279: 更改 1844848 (在 02/16/2009 16:45:19 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\STANDBY2\ARCHIVE\ARC00101_0674493001.001
ORA-00280: 更改 1844848 (用于线程 1) 在序列 #101 中
ORA-00278: 此恢复不再需要日志文件 'D:\STANDBY2\ARCHIVE\ARC00100_0674493001.001'
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
介质恢复已取消。
SQL> alter database open;
数据库已更改。
SQL> select name from v$tempfile;
NAME
--------------------------------------------------------------------------------
D:\STANDBY2\TEMP01.DBF