[关闭]
@huyl08 2017-02-27T14:51:40.000000Z 字数 2051 阅读 1700

Oracle 11g 配置 Data Guard

Oracle DataGuard


  1. 配置环境数据库用户必须有sysdba权限,使用sqldeveloper用sys账户链接时,注意模式选为sysdba
  2. 主库数据库实例名:orcl,唯一名称:db_unique_name:orcl
  3. 从库数据库实例名:orcl,唯一名称:db_unique_name:orcldg

1. 判断DG是否已经安装:

  1. select * from v$option where parameter = 'Oracle Data Guard';

如果是true表示已经安装可以配置,否则需要安装相应组件。

2. 检查主库是否为归档模式

  1. select name, force_logging from v$database;

强制记录日志

  1. alter database force logging;

3. 设置从库文件管理模式

如果需要在主库添加或者删除数据文件时,这些文件也会在备份添加或删除,使用如下:

  1. alter system set standby_file_management='AUTO';

默认此参数是manual手工方式,查询方式为show parameter standby;

select db_unique_name, protection_mode, protection_level from v$database;

4. 创建Standby log files(备用日志文件)

  1. -- cd $ORACLE_BASE/oradata/orcl/
  2. -- mkdir dg
  3. -- chown oracle:dba dg
  4. alter database add standby logfile group 11 '/opt/oracle/oradata/orcl/dg/standby11.log' size 50M;
  5. alter database add standby logfile group 12 '/opt/oracle/oradata/orcl/dg/standby12.log' size 50M;
  6. alter database add standby logfile group 13 '/opt/oracle/oradata/orcl/dg/standby13.log' size 50M;
  7. alter database add standby logfile group 14 '/opt/oracle/oradata/orcl/dg/standby14.log' size 50M;

5. 密码文件和控制文件的创建传输

默认程序orapwd在$ORACLE_HOME/base/dbhome/BIN下

  1. orapwd file=$ORACLE_HOME/base/dbhome/dbs/orapworcl password=sys_pwd;

检查REMOTE_LOGIN_PASSWORDFILE值是否为 EXCLUSIVE

  1. show parameter REMOTE_LOGIN_PASSWORDFILE;

如果值不是EXCLUSIVE,则:

  1. alter system set remote_login_passwordfile=exclusive scope=spfile;

密码文件需要scp到从库

  1. # 提示输入yes
  2. scp orapworcl oracle@192.168.215.102:/opt/oracle/11.2/dbs

11g的控制文件一共两份,内容一样,一份在$ORACLE_BASE/oradata/orcl/control01.ctl
一份在/opt/oracle/flash_recovery_area/orcl/control02.ctl

从库生成控制文件:

  1. shutdown immediate;
  2. startup mount;
  3. alter database create standby controlfile as '/tmp/standby_control01.ctl';
  4. startup open;

然后在备库建立对应的目录,并授权

  1. mkdir orcl
  2. chown oracle:oinstall(或dba) orcl
  3. scp control01.ctl oracle@192.168.215.102:/opt/oracle/oradata/orcl
  4. scp control02.ctl oracle@192.168.215.102:/opt/oracle/flash_recovery_area/orcl/

6.db_name和db_unique_name

默认db_name和db_unique_name和实例名是一致的,这里是orcl
需要注意在DG中主库和从库的db_unique_name是不能一致的,需要区分开的。
这里我们设置主库的db_unique_name为orcl,从库为orcldg

  1. show parameter db_unique_name;

设置

  1. alter system set db_unique_name=orcl scope=spfile;

注意虽然默认db_unique_name和db_name是一致的,但是需要显式设置,否则在spfile中没有此参数

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注