11GR2下创建dataguard(二)

2014-11-24 17:08:06 · 作者: · 浏览: 10
es文件

使用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