只记录主要步骤,供大家参考:
RAC 搭建单节点 DG
1修改源数据库开启归档和force logging
alter system set shared_servers=0;
alter database force logging;
srvcel stop database -d YCR
srvctl start database -d YCR -o mount
alter database archive(两个节点均要执行)
srvctl stop database -d YCR
srvctl start database -d YCR
2在节点一执行全备
run {
allocate channel c1 type disk;
backup database format '/rman_backup/FULL_%U.bak';
backup archivelog all format '/rman_backup/ARC_%U.bak';
release channel c1;
}
backup device type disk format '/u01/rman_bk/standby_%U.ctl' current controlfile for standby;
3创建参数文件
create pfile ='/u01/rman_bk/initphydb.ora' from spfile;
4拷贝备份文件,参数文件,控制文件和密码文件到备库
5修改备库参数文件
RACDG.__db_cache_size=138412032
RACDG.__java_pool_size=4194304
RACDG.__large_pool_size=4194304
RACDG.__pga_aggregate_target=104857600
RACDG.__sga_target=318767104
RACDG.__shared_io_pool_size=0
RACDG.__shared_pool_size=163577856
RACDG.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/RACDB/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/RACDB/control01.ctl','/u01/app/oracle/oradata/RACDB/control02.ctl'
*.db_block_size=8192
*.db_create_file_dest='/u01/app/oracle/oradata/RACDB'
*.db_domain=''
*.db_name='RACDB'
*.db_recovery_file_dest='/u01/app/oracle/archive'
*.db_recovery_file_dest_size=4558159872
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=YCRDGXDB)'
*.open_cursors=300
*.pga_aggregate_target=104857600
*.processes=150
*.remote_login_passwordfile='exclusive'
*.sga_target=316669952
*.db_unique_name='RACDG'
*.fal_client='RACDG'
*.fal_server='RACDB_1','RACDB_2'
*.log_archive_config='dg_config=(RACDB,RACDG)'
*.log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST valid_for=(all_logfiles,all_roles) db_unique_name=RACDG'
*.log_archive_dest_2='service=RACDB_1 valid_for=(online_logfiles,primary_role) db_unique_name=RACDB'
*.log_archive_format='ARC_%t_%S_%r.arc'
*.db_file_name_convert='+DATA/racdb','/u01/app/oracle/oradata/RACDB'
*.log_file_name_convert='+DATA/racdb','/u01/app/oracle/oradata/RACDB'
*.standby_file_management='auto'
备库服务器创建目录
mkdir -p /u01/app/oracle/admin/YCR/adump
mkdir -p /u01/app/oracle/oradata/RACDB
mkdir -p /u01/app/oracle/archive
mkdir -p /u01/app/oracle/admin/RACDB/adump
备库配置静态监听
[oracle@racdg admin]$ more listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = racdg.example.com)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
SID_LIST_LISTENER=
(SID_LIST =
(SID_DESC =
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1/)
(SID_NAME =RACDG)
)
)
拷贝/rman_backup目录下的所有文件到racdg主机
rman target /
restore standby controlfile from '/rman_backup/standby_05rc8gmo_1_1.ctl';
alter database mount;
run {
allocate channel c4 type disk;
restore database ;
release channel c4;
}
查看文件:
select name from v$datafile
union
select name from v$controlfile
union
select member from v$logfile;
添加standbylogfile
alter database add standby logfile thread 1 group 5 size 50M ,group 6 size 50M ,group 7 size 50M ;
alter database add standby logfile thread 2 group 8 size 50M ,group 9 size 50M ,group 10 size 50M ;
在主库配置
alter system set log_archive_dest_2='service=RACDG lgwr sync valid_for=(online_logfiles,primary_role) db_unique_name=RACDG' sid='*';
alter system set log_archive_config='dg_config=(RACDB,RACDG)' sid='*';
查看接受日志情况:
select sequence#,name,applied from v$archived_log;
备库开始接受日志:
alter database recover managed standby database using current logfile disconnect from session;
持续接受日志:
alter database recover managed standby database cancel;
alter database recover managed standby database disconnect from session;
以只读方式打开测试同步效果:
alter database recover managed standby database cancel;
alter database open;
alter database recover managed standby database disconnect from session;
主库建表,备库测试通过。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29135257/viewspace-2122919/,如需转载,请注明出处,否则将追究法律责任。