物理,搭建高性能的data guard
主库和备库都配置tnsnames.ora
因为主库和备库的库名.实例名字都一样,故需要设置
首先在主库中配置tnsnames.ora
SDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.123)(PORT = 1521)))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = sdb) ---> 配置备份库的服务 --->因为实例和库名都一样 故这里取个唯一的名字--->但该名字需要在备
)) 份库的initREPOD.ora定义 db_unique_name='sdb'
pdb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.110)(PORT = 1522))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdb))) ----> 在主数据库的initREPOD.ora需要定义pdb
一.主库上 db_unique_name='pdb'
a.alter database archivelog;
b.select forcing_log from v$database;--->必须开启 forcing_log
c.alter database force logging;
vim /all/oracle/product/10g/dbs/initREPOD.ora
***********************************************************
compatible=10.2.0.4.0 在基本的initREPOD.ora上增加这些行
log_archive_config='dg_config=(pdb,sdb)'
db_unique_name='pdb' **
fal_server=sdb **
fal_client=pdb **
log_archive_dest_1='location=/all/oracle/archive/arch_REPOD'
log_archive_dest_2='service=sdb lgwr sync affirm valid_for=(online_logfiles,primary_role) db_unique_name=sdb'
log_archive_dest_state_1=enable
log_archive_dest_state_2=enable
standby_file_management=auto
***********************************************************
compatible=10.2.0.4.0 在基本的initREPOD.ora上增加这些行
log_archive_config='dg_config=(pdb,sdb)'
db_unique_name='pdb' **
fal_server=sdb **
fal_client=pdb **
log_archive_dest_1='location=/all/oracle/archive/arch_REPOD'
log_archive_dest_2='service=sdb lgwr sync affirm valid_for=(online_logfiles,primary_role) db_unique_name=sdb'
log_archive_dest_state_1=enable
log_archive_dest_state_2=enable
standby_file_management=auto
******--->当主库和备库存储数据的路径不一样的时候需要在各自的initREPOD.ora上增加以下两行 ---都是先写远程存放的路径,再是本地的路径
db_file_name_convert='/opt/oracle/oradata/REPOD','/all/oracle/oradata/REPOD'
log_file_name_convert='/opt/oracle/oradata/REPOD','/all/oracle/oradata/REPOD'
***************************************************************
startup nomount pfile='/all/oracle/product/10g/dbs/initREPOD.ora'
create spfile from pfile;
alter database mount;
alter database open;
db_file_name_convert='/opt/oracle/oradata/REPOD','/all/oracle/oradata/REPOD'
log_file_name_convert='/opt/oracle/oradata/REPOD','/all/oracle/oradata/REPOD'
***************************************************************
startup nomount pfile='/all/oracle/product/10g/dbs/initREPOD.ora'
create spfile from pfile;
alter database mount;
alter database open;
****-->主和备都建立一个文件夹 用于刚开始克隆的时候 /oracle/dg_backup
rman target /
backup format '/oracle/dg_backup/con_%U' current controlfile for standby;
backup format '/oracle/dg_backup/%d_%U' database plus archivelog;
rman target /
backup format '/oracle/dg_backup/con_%U' current controlfile for standby;
backup format '/oracle/dg_backup/%d_%U' database plus archivelog;
=+===============
scp initREPOD.ora,wapwREPOD,/oracle/dg_backup--->备库
==================
scp initREPOD.ora,wapwREPOD,/oracle/dg_backup--->备库
==================
备份库
vim initREPOD.ora
db_unique_name=sdb
db_file_name_convert=....先远程后本地
log_archive_dest_1='location=...'
log_archive_dest_2='service=pdb lgwr sync ..
...
****************
rman target sys/angel@pdb auxiliary /
duplicate target database for standby ((nofilenamecheck)); 该参数是当主库和备库的路径一致的时候,需要,不是一致的时候不需要
配置监听和 tnsnames.ora对方的和自己的都要配置(为了切换库)
sqlplus / as sysdba
alter database recover managed standby database disconnect from session;
---启动mrp进程
vim initREPOD.ora
db_unique_name=sdb
db_file_name_convert=....先远程后本地
log_archive_dest_1='location=...'
log_archive_dest_2='service=pdb lgwr sync ..
...
****************
rman target sys/angel@pdb auxiliary /
duplicate target database for standby ((nofilenamecheck)); 该参数是当主库和备库的路径一致的时候,需要,不是一致的时候不需要
配置监听和 tnsnames.ora对方的和自己的都要配置(为了切换库)
sqlplus / as sysdba
alter database recover managed standby database disconnect from session;
---启动mrp进程
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25072296/viewspace-695708/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25072296/viewspace-695708/