说明:
本文安装配置了Oracle 11g Dataguard 物理备库,并测试了11g Dataguard 物理备库新特性Active Data Guard, 是Oracle Database Enterprise Edition的一个功能,需要额外授权,本文只用于测试。
相关阅读:配置Oracle 11g的Dataguard测试,创建物理备库(Physical Standby Database)
有关DG的相关概念,可参考:Oracle Data Guard Concepts and Administration
有关配置DG的参数描述,可参考:
基于同一主机配置 Oracle 11g Data Guard
一、环境介绍
1. 主数据库环境
操作系统版本: OEL5.8 x64
数据库版本 : Oracle 11.2.0.3 x64
数据库sid名 : orcl
2. 备库环境
操作系统版本: OEL5.8 x64
数据库版本 : Oracle 11.2.0.3 x64 (只安装oracle数据库软件,no netca dbca)
数据库sid名 : orcl
3. DataGuard启动顺序
启动顺序:先启备库,后启主库
关闭顺序:先关主库,后关备库
二、主数据库配置
1. 配置hosts文件
# vi /etc/hosts
192.168.233.200 rman
192.168.233.150 slave
2. 修改配置lisener监听文件
$ cat /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.200)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = orcl)
)
)
3. 修改配置tnsname.ora文件
说明:ORCL是主库的服务名,DG是备库的服务名。
$ vi /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.200)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
DG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.150)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = abc)
)
)
4. 修改配置成规档模式
1)、检查数据库是否处于归档状态
SQL> archive log list;
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;
2)、将主库设置为 FORCE LOGGING 模式
SQL> alter database force logging;
SQL> select force_logging from v$database;
FORCE_LOG
———
YES
5. 修改参数文件
SQL>
alter system set db_unique_name='ORCL' scope=spfile;
alter system set log_archive_config='DG_CONFIG=(ORCL,DG)';
alter system set log_archive_dest_1='LOCATION=/u01/archivelog/ valid_for=(all_logfiles,all_roles)
db_unique_name=ORCL' scope=spfile;
alter system set log_archive_dest_2='SERVICE=DG lgwr async valid_for=(online_logfile,primary_role)
db_unique_name=DG';
alter system set fal_client='ORCL';
alter system set fal_server='DG';
alter system set standby_file_management=auto;
alter database add standby logfile group 4 '/u01/app/oracle/oradata/orcl/standby_redo04.log' size 50M; alter database add standby logfile group 5 '/u01/app/oracle/oradata/orcl/standby_redo05.log' size 50M;
alter database add standby logfile group 6 '/u01/app/oracle/oradata/orcl/standby_redo06.log' size 50M; alter database add standby logfile group 7 '/u01/app/oracle/oradata/orcl/standby_redo07.log' size 50M;
shutdown immediate
startup
create pfile from spfile;
6. 将pfile文件拷贝到备库。
$ scp /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora 192.168.233.150:/home/oracle/