使用duplicate搭建备库或者级联备库:
主库或者源端:
1. 创建pfile,更改&添加部分参数、传输到备库;
2. 主库(或者源端)的tnsnames.ora文件添加 备库的连接信息
备库:
1. 备库添加静态监听
2. 添加主备库信息到TNSNAMES.ORA文件中(可选)
3. 将主库的orapw$SID 文件拷贝到备库,可使用sqlplus sys/password@primary as sysdba 验证密码正确与否
4. 备库 创建initstb.ora 里面的目录,并使用此pfile启动到Nomount状态
主库或者源端:
以上都做完,在主库或者源端做rman连接,使用duplicate进行复制了
以上是主备库需要做的事情汇总,
以下是使用duplicate复制的具体步骤
主库或者源端:
创建pfile,更改&添加部分参数、传输到备库这里我没有使用主库,而是主库的ADG备库作为源端:
1. sqlplus / as sysdba登录ADG备库
create pfile='/home/oracle/initstb.ora' from spfile;
去/home/oracle找到initstb.ora文件,替换里面所有的hgxx为 hgxxdg5 ,可添加如下参数,scp传输到备库
*.db_file_name_convert='hgxxdg1','hgxxdg5','/u01/app/oracle/oradata/HGXXDG1/datafile','/u01/app/oracle/oradata/HGXXDG5/datafile'
*.log_file_name_convert='hgxxdg1','hgxxdg5'
*.standby_file_management='auto'
*.db_create_file_dest='/u01/app/oracle/oradata'
*.log_archive_config='dg_config=(hgxx,hgxxdg5)'
log_archive_dest_1='LOCATION=/u01/app/oracle/oradata/HDCC/archivelog
2. 主库tnsnames.ora 添加备库信息
cat $ORACLE_HOME/network/admin/tnsnames.ora
hgxxdg5 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = hgxxdg5 )
)
)
备库:
1. 备库添加静态监听
cat $ORACLE_HOME/network/admin/listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = hgxx)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = hgxxdg5)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
2. 添加主备库信息到TNSNAMES.ORA文件中(可选)
cat $ORACLE_HOME/network/admin/tnsnames.ora
hgxx =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = hgxx)
)
)
hgxxdg5 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521))
(CONNECT_DATA =