1、准备工作
Host IP DB_NAME DB_UNIQUE_NAME Net Service Name
主库xxxxxxxxx wechatqa wechatqa wechatqa , wechatqa1, wechatqa2
备库xxxxxxxxx wechatqa wchtqadg wchtqadg, wchtqadg1, wchtqadg2
保护模式:默认最大性能模式
注意DataGuard正常启动顺序:
启动顺序: 先standby ,后primary;
关闭顺序: 先primary ,后standby;
数据库版本:11.2.0.4.0
1.1、[主库]备份数据库、参数文件、控制文件
备份参数文件:
SQL>create pfile=’/tmp/pfile’ from spfile;
备份控制文件:
cp 备份,手工复制, alter database backup controlfile to trace;
备份数据库:
$ rman target /
RMAN> backup full database format '/backup/backup_%T_%s_%p.bak';
1.2、[主库]检查数据库是否支持Data Guard,是否归档模式,Enable force logging
$ sqlplus '/as sysdba'
确认主库处于归档模式
SQL> archive log list (先检查是否归档模式,不是则修改)
startup mount
alter database archivelog;
alter database open;
将primary数据库置为FORCE LOGGING模式
SQL> alter database force logging; (强制产生日志)
SQL> select force_logging from v$database;
1.3、[主库]如果主库没有密码文件则建立密码文件,从而可以OS验证的方式登陆
$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle entries=5
若主库存在密码文件,则需要将文件拷贝到备库$ORACLE_HOME/dbs
1.4、[主库]设置主库初始化参数
$ sqlplus '/as sysdba'
修改主库参数
alter system set log_archive_config='dg_config=(wechatqa, wchtqadg)' scope=both;
alter system set LOG_ARCHIVE_DEST_1='LOCATION=+DATA VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=wechatqa';
alter system set log_archive_dest_2='service=wchtqadg lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=wchtqadg';
alter system set log_archive_dest_state_1=enable scope=both;
alter system set log_archive_dest_state_2=enable scope=both;
alter system set fal_server= 'wchtqadg1','wchtqadg2' scope=both;
alter system set FAL_CLIENT= wechatqa1 scope=both sid='wchtqadg1';
alter system set FAL_CLIENT= wechatqa2 scope=both sid='wchtqadg2';
alter system set db_file_name_convert='+DATADG/wchtqadg/datafile/','+DATA/wechatqa/datafile/','wchtqadg','wechatqa','+datadg','+data' scope=spfile ;
alter system set log_file_name_convert='+DATADG/wchtqadg/onlinelog/','+DATA/wechatqa/onlinelog/','+DATADG','+DATA' scope=spfile ;
alter system set standby_file_management='AUTO' scope=both;
添加standby日志
点击(此处)折叠或打开
- ALTER DATABASE ADD STANDBY LOGFILE thread 1 ('+DATA/wechatqa/onlinelog/stdredo01a.log','+DATA/wechatqa/onlinelog/stdredo01b.log') SIZE 250M;
- ALTER DATABASE ADD STANDBY LOGFILE thread 2 ('+DATA/wechatqa/onlinelog/stdredo02a.log','+DATA/wechatqa/onlinelog/stdredo02b.log') SIZE 250M;
- ALTER DATABASE ADD STANDBY LOGFILE thread 1 ('+DATA/wechatqa/onlinelog/stdredo03a.log','+DATA/wechatqa/onlinelog/stdredo03b.log') SIZE 250M;
- ALTER DATABASE ADD STANDBY LOGFILE thread 2 ('+DATA/wechatqa/onlinelog/stdredo04a.log','+DATA/wechatqa/onlinelog/stdredo04b.log') SIZE 250M;
- ALTER DATABASE ADD STANDBY LOGFILE thread 1 ('+DATA/wechatqa/onlinelog/stdredo05a.log','+DATA/wechatqa/onlinelog/stdredo05b.log') SIZE 250M;
- ALTER DATABASE ADD STANDBY LOGFILE thread 2 ('+DATA/wechatqa/onlinelog/stdredo06a.log','+DATA/wechatqa/onlinelog/stdredo06b.log') SIZE 250M;
- ALTER DATABASE ADD STANDBY LOGFILE thread 1