在进行按本文档的操作之前,我们默认主 数据库已经处于归档运行模式;大致流程是先配置主库的参数及做rman备份,然后在备库上装oracle软件、配置监听,不需要dbca创建数据库;然后修改备库的参数文件及进行rman恢复,之后进行测试。
环境说明:
primary: CentOS6.3 64位 192.168.100.117,db_name:ahqy,db_unique_name: ahqy
standby: CentOS6.3 64位 192.168.100.118,db_name:ahqy,db_unique_name: standby
oracle版本: 11.2.0.1 64位企业版
一、primary服务器配置
1:主库上开启Forced Logging
?
alter database force logging;
2:在备库上创建密码文件,这里直接从主库复制到备库
?
?
scp /home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/orapwahqy 192.168.100.118:/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/orapwahqy
3:主库上配置Standby Redo Log
?
?
select member from v$logfile; du -h /home/oracle/oradata/ahqy/redo01.log sqlplus / as sysdba mkdir standby alter database add standby logfile group 4 '/home/oracle/oradata/ahqy/standby/standby04.log' size 200M; alter database add standby logfile group 5 '/home/oracle/oradata/ahqy/standby/standby05.log' size 200M; alter database add standby logfile group 6 '/home/oracle/oradata/ahqy/standby/standby06.log' size 200M;
4.修改主库的初始化参数
?
?
alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(ahqy,standby)'; alter system set log_archive_dest_1='LOCATION=/home/oracle/arch valid_for=(all_logfiles,all_roles) db_unique_name=ahqy' scope=spfile; alter system set log_archive_dest_2='service=standby lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=standby' scope=spfile; alter system set log_archive_dest_state_1=enable; alter system set log_archive_dest_state_2=enable; alter system set log_archive_format='%t_%s_%r.arc' scope=spfile; show parameter remote_login; alter system set log_archive_max_processes=30; alter system set fal_server=standby; alter system set fal_client=ahqy; alter system set standby_file_management=auto; shutdown immediate; startup;
5:配置主库的tnsnames.ora文件,备库需要同样的操作
?
?
cat /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin//tnsnames.ora # tnsnames.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools. LISTENER_AHQY = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.117)(PORT = 1521)) AHQY = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.117)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ahqy) ) ) STANDBY = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.118)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = standby) ) )
6:在主库上准备备库需要的pfile和数据库备份文件,控制文件等
?
?
mkdir -p /home/oracle/backup/ create pfile='/home/oracle/backup/initahqy.ora' from spfile; rman target / backup tag 'dg_20141226' format '/home/oracle/backup/dg_%U' incremental level 0 database plus archivelog; backup format '/home/oracle/backup/controlfile_%U' current controlfile for standby;
二、standby服务器配置
1:设置oracle_sid,配置tnsnames.ora
?
?
echo $ORACLE_SID scp /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora oracle@192.168.100.118:/home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
2:在备库上复制主库备份出来