欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

配置Oracle 11g的Dataguard测试,创建物理备库(Physical Standby Database)

程序员文章站 2022-06-14 16:31:25
...

主、备库均为Linux相同的系统版本,数据库版本均为Oracle11gR2主库:10.1.1.1 备库:10.2.2.21、确认主备数据库系统系统:[root@

主、备库均为Linux相同的系统版本,数据库版本均为Oracle11gR2
主库:10.1.1.1 备库:10.2.2.2
1、确认主备数据库系统
系统:
[root@LINUXIDC1 ~]# uname -a
Linux LINUXIDC1 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

备库:
[root@LINUXIDC2 ~]# uname -a
Linux LINUXIDC2 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

2、在主库设置:
SQL>ALTER DATABASE FORCE LOGGING;
查看下面参数:
如:SQL> show parameter LOG_ARCHIVE_DEST_1
主库
DB_NAME=bhoms
DB_UNIQUE_NAME=bhoms01 (如果是spfile文件,alter system set db_unique_name='bhoms01' scope=spfile; 统一修改参数后,可以重启数据库)
LOG_ARCHIVE_CONFIG='DG_CONFIG=(bhoms01,bhoms02)' (alter system set log_archive_config='dg_config=(bhoms01,bhoms02)';)
LOG_ARCHIVE_DEST_1='location=/u01/app/oracle/flash_recovery_area/BHOMS/archivelog valid_for=(all_logfiles,all_roles) db_unique_name=bhoms01'
(alter system set log_archive_dest_1='location=/u01/app/oracle/flash_recovery_area/BHOMS/archivelog valid_for=(all_logfiles,all_roles) db_unique_name=bhoms01';)
LOG_ARCHIVE_DEST_2='service=bhoms02 async valid_for=(online_logfiles,primary_role) db_unique_name=bhoms02'
(alter system set log_archive_dest_2='service=bhoms02 async valid_for=(online_logfiles,primary_role) db_unique_name=bhoms02';)
LOG_ARCHIVE_DEST_STATE_1=ENABLE (alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE;)
LOG_ARCHIVE_DEST_STATE_2=ENABLE (alter system set LOG_ARCHIVE_DEST_STATE_2=ENABLE;)
FAL_SERVER=bhoms02 (alter system set fal_server=bhoms02;)
FAL_CLIENT=bhoms01 (alter system set fal_client=bhoms01;)
DB_FILE_NAME_CONVERT='bhoms02','bhoms01' (alter system set DB_FILE_NAME_CONVERT='bhoms02','bhoms01' scope=spfile;)
LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/bhoms/','/u01/app/oracle/oradata/bhoms','/u01/app/oracle/flash_recovery_area/BHOMS02/onlinelog','/u01/app/oracle/flash_recovery_area/BHOMS01/onlinelog'
(alter system set log_file_name_convert='/u01/app/oracle/oradata/bhoms/','/u01/app/oracle/oradata/bhoms','/u01/app/oracle/flash_recovery_area/BHOMS02/onlinelog','/u01/app/oracle/flash_recovery_area/BHOMS01/onlinelog' scope=spfile;)
STANDBY_FILE_MANAGEMENT=AUTO (alter system set STANDBY_FILE_MANAGEMENT=AUTO;)

关闭数据库:
SQL> shutdown immediate;

启动:
SQL> startup

查看:
SQL> select * from v$dataguard_config;

DB_UNIQUE_NAME
------------------------------
bhoms01
bhoms02

3、在主库备份
[oraoms@LINUXIDC1 ~]$ rman target/
RMAN> backup database;

把备份的数据文件ftp上传到备库/home/oraoms/backup上
ftp 10.2.2.2
输入用户、密码
cd /home/oraoms/backup
bin
put 文件名
bye

在主库上创建备库的控制文件
SQL> alter database create standby controlfile as '/home/oraoms/bhoms02.ctl';

Database altered.
在主库上创建备份需要的pfile文件
SQL> create pfile='/home/oraoms/initbhoms.ora' from spfile;

File created.

把上面的控制文件、pfile文件、密码文件上传到备库
(密码文件位于:$ORACLE_HOME/dbs/orapwbhoms)

4、在备库上对文件授权
[oraoms@LINUXIDC2 backup]$ pwd
/home/oraoms/backup
[oraoms@LINUXIDC2 backup]$ chmod 777 *

5、假设备库上已经安装好数据库名为bhoms的数据库
关闭数据库,,备份数据文件到其他的目录
SQL>shutdown immediate

配置备库tnsnames.ora($ORACLE_HOME/network/admin/tnsnames.ora)
bhoms01 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bhoms01)
)
)

bhoms02 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.2.2.2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bhoms02)
)
)

测试:
[oraoms@LINUXIDC2 admin]$ tnsping bhoms01
[oraoms@LINUXIDC2 admin]$ tnsping bhoms02

同时配置主库的tnsnames.ora($ORACLE_HOME/network/admin/tnsnames.ora)
bhoms01 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bhoms01)
)
)

bhoms02 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.2.2.2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bhoms02)
)
)
测试:
[oraoms@LINUXIDC1 admin]$ tnsping bhoms01
[oraoms@LINUXIDC1 admin]$ tnsping bhoms02

配置Oracle 11g的Dataguard测试,创建物理备库(Physical Standby Database)