使用netca配置tnsnames,文件内容如下:
[oracle@primary admin]$ more tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/n
etwork/admin/tnsnames.ora
# Generated by Oracle configuration tools.
TAR_ORACL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracl)
)
)
DUP_ORACL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.103)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oraclbak)
)
)
7.查看数据文件和日志文件的目录,在备库上我们需要创建oraclbak目录,如下的文件需要放在备库实例的oraclbak目录下.
SQL> select name from v$datafile;
NAME
--------------------------------------------------
/u01/app/oracle/oradata/oracl/system01.dbf
/u01/app/oracle/oradata/oracl/sysaux01.dbf
/u01/app/oracle/oradata/oracl/undotbs01.dbf
/u01/app/oracle/oradata/oracl/users01.dbf
/u01/app/oracle/oradata/oracl/hxl001.dbf
/u01/app/oracle/oradata/oracl/hxl002.dbf
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------
/u01/app/oracle/oradata/oracl/redo0301.log
/u01/app/oracle/oradata/oracl/redo0302.log
/u01/app/oracle/oradata/oracl/redo0201.log
/u01/app/oracle/oradata/oracl/redo0202.log
/u01/app/oracle/oradata/oracl/redo0101.log
/u01/app/oracle/oradata/oracl/redo0102.log
/u01/app/oracle/oradata/oracl/stdbyredo01.log
/u01/app/oracle/oradata/oracl/stdbyredo02.log
/u01/app/oracle/oradata/oracl/stdbyredo03.log
/u01/app/oracle/oradata/oracl/stdbyredo04.log
SQL>select name from v$controlfile;
NAME
---------------------------------------------
/u01/app/oracle/oradata/oracl/control01.ctl
/u01/app/oracle/oradata/oracl/control02.ctl
8.shutdown数据库
将数据文件,日志文件(online日志文件和standby日志文件),standby控制文件(/u01/export/home/oracle/standby.ctl),tnsnames文件,密码文件拷贝到备库的相应目录.
先将需要传输的文件放到指定位置
tar -cvf /u01/soft/oradata.tar ./oradata
cp orapworacl /u01/soft/
cp tnsnames.ora /u01/soft/
cp standby.ctl /u01/soft/
cp pfile.txt /u01/soft/
使用scp将如下文件传输到备库的指定目录
scp ./oradata.tar root@192.168.50.192:/u01/soft/
scp ./orapworacl root@192.168.50.192:/u01/soft/
scp ./tnsnames.ora root@192.168.50.192:/u01/soft/
scp ./standby.ctl root@192.168.50.192:/u01/soft/
scp ./pfile.txt root@192.168.50.192:/u01/soft/
这个时候可以先不启动数据库,等整个过程完成后再启动数据库.
--------------------------------------------备库上的操作--------------------------------------------------
1.创建备库实例对应的目录
mkdir -p /u01/app/oracle/oradata/oraclbak
2.将主库上传过来的相应文件存放到备库的相应目录,除了控制文件需要替换为standby控制文件外,其他的文件不需要做任何改动.这里需要将standby.ctl替换掉主库拷贝过来的control01.ctl,control02.ctl
[oracle@stdby oraclbak]$ cp standby.ctl control01.ctl
[oracle@stdby oraclbak]$ cp standby.ctl control02.ctl
3.配置监听和tnsnames(监听器需要重新配置,tnsnames可以使用从主库拷贝过来的)
使用netca配置监听和tnsnames,tnsnames的内容如下:
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/n
etwork/admin/tnsnames.ora
# Generated by Oracle configuration tools.
TAR_ORACL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracl)
)
)
DUP_ORACL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.103)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oraclbak)
)
)
4.启动备库的监听
[oracle@stdby