@huyl08
2017-02-27T14:51:40.000000Z
字数 2051
阅读 1700
Oracle
DataGuard
- 配置环境数据库用户必须有sysdba权限,使用sqldeveloper用sys账户链接时,注意模式选为sysdba
- 主库数据库实例名:orcl,唯一名称:db_unique_name:orcl
- 从库数据库实例名:orcl,唯一名称:db_unique_name:orcldg
select * from v$option where parameter = 'Oracle Data Guard';
如果是true表示已经安装可以配置,否则需要安装相应组件。
select name, force_logging from v$database;
强制记录日志
alter database force logging;
如果需要在主库添加或者删除数据文件时,这些文件也会在备份添加或删除,使用如下:
alter system set standby_file_management='AUTO';
默认此参数是manual手工方式,查询方式为show parameter standby;
select db_unique_name, protection_mode, protection_level from v$database;
-- cd $ORACLE_BASE/oradata/orcl/
-- mkdir dg
-- chown oracle:dba dg
alter database add standby logfile group 11 '/opt/oracle/oradata/orcl/dg/standby11.log' size 50M;
alter database add standby logfile group 12 '/opt/oracle/oradata/orcl/dg/standby12.log' size 50M;
alter database add standby logfile group 13 '/opt/oracle/oradata/orcl/dg/standby13.log' size 50M;
alter database add standby logfile group 14 '/opt/oracle/oradata/orcl/dg/standby14.log' size 50M;
默认程序orapwd在$ORACLE_HOME/base/dbhome/BIN下
orapwd file=$ORACLE_HOME/base/dbhome/dbs/orapworcl password=sys_pwd;
检查REMOTE_LOGIN_PASSWORDFILE值是否为 EXCLUSIVE
show parameter REMOTE_LOGIN_PASSWORDFILE;
如果值不是EXCLUSIVE,则:
alter system set remote_login_passwordfile=exclusive scope=spfile;
密码文件需要scp到从库
# 提示输入yes
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
从库生成控制文件:
shutdown immediate;
startup mount;
alter database create standby controlfile as '/tmp/standby_control01.ctl';
startup open;
然后在备库建立对应的目录,并授权
mkdir orcl
chown oracle:oinstall(或dba) orcl
scp control01.ctl oracle@192.168.215.102:/opt/oracle/oradata/orcl
scp control02.ctl oracle@192.168.215.102:/opt/oracle/flash_recovery_area/orcl/
默认db_name和db_unique_name和实例名是一致的,这里是orcl
需要注意在DG中主库和从库的db_unique_name是不能一致的,需要区分开的。
这里我们设置主库的db_unique_name为orcl,从库为orcldg
show parameter db_unique_name;
设置
alter system set db_unique_name=orcl scope=spfile;
注意虽然默认db_unique_name和db_name是一致的,但是需要显式设置,否则在spfile中没有此参数