环境:
PRimary 数据库:sun01
Standby 数据库:sun02
Oracle_Sid:bnet
1. 拷贝$ORACLE_BASE 到新机器上
2. 让Primary数据库处于归档模式,对Primary数据库做一个Rman热备份
startup mount
alter database archivelog;
archive log list;
rman target sys/oracle
backup database format "/....";
3.创建Data Guard数据库控制文件
alter database create standby controlfile as '/....ctl';
4.设置监听
Primary:
bnetguard =
( (DESCRipTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = sun02)(PORT = 1522))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bnet)
)
)
Standby:
listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = sun01)(PORT = 1522))
)
)
)
tnsname.ora
bnet =
( (DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = sun02)(PORT = 1522))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bnet)
)
)
5. 设置主机参数
alter database force logging;
主库强制归档
主机参数:
fal_client=bnetguard
fal_server=bnet
standby_file_management=auto
remote_login_passWordfile=exclusive
备机参数:
db_file_name_convert
log_file_name_convert
standby_file_management='AUTO'
standby_archive_dest=/export/home/oracle/oradata/bnet/arch
6.创建standby 数据库
orapwd
sqlplus "sys/oracle as sysdba"
startup nomount pfile='''
alter database mount standby database;
exit
rman target sys/oracle nocatalog
restore database
7.设置自动归档
alter system set log_archive_dest_2='server=bnetguard reopen=200'
8.启动Data Guard自动恢复状态
sqlplus "sys/oracle as sysdba"< recover managed standby database; exit EOF 9.测试 alter system archive log current; 二、维护: 使Standby 数据库处与 read-only状态 reover cancel/recover managed standby database cancel; 取消恢复模式 alter database open read only; 启动数据库到只读状态 recover standby database; 使数据库切换到恢复模式 recover managed standby database time out 15; 如果超过15分钟没有传日志 Restarting dead background process QMN0 "Restarting dead background process QMN" message can continually appear in the alert log during startup in RAC environment. Workaround: Set aq_tm_processes=0 in the init.ora. It can be set to desired value through "alter system set aq_tm_processes=n" once the database is open completely. alter database activate standby database;
新闻热点
疑难解答