完整版Oracle DataGuard文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
完整版Oracle DataGuard文档
目录
1、主库准备工作 (3)
1.1、检查数据库是否支持Data Guard(企业版才支持),是否归档模式,Enable force logging (3)
1.2、如果主库没有密码文件则建立密码文件,从而可以OS验证的方式登陆 (3)
1.3、配置standby redolog(最佳性能模式可以忽略,如果将来变成备库且要转为其它两种模式则要建
立) (4)
1.4、设置主库初始化参数 (4)
1.5、备份主库数据文件 (5)
1.6、在主库上建立备库控制文件(控制文件通常需要有多份,手工将文件复制几份)
(6)
1.7、为备库准备init参数 (6)
1.8、拷贝上面生成的文件backup_%T.bak、stdby_control01/02/03.ctl、initPHYSTDBY.ora到备库所在
主机 (7)
2、建立备库 (8)
2.1、设置环境变量并建立备库一些必需目录 (8)
2.2、在备库主机上生成密码文件,且sys密码和主库得一致 (8)
2.4、在备库上建立spfile (9)
2.5、启动物理备库 (9)
2.7、配置standby redolog(最佳性能模式可以忽略,如果要转为其它两种模式则要建立) (9)
2.8、在备库上,启动redo apply (10)
3、主备库各参数文件内容 (10)
3.1、主备库listener.ora一样,如果有不一样也是host不一样 (10)
3.2、主备库tnsnames.ora一样,如果有不一样也是host和port不一样 (11)
3.3、init$ORACLE_SID.ora (12)
4、主库归档测试 (15)
5、修改主库DataGuard保护模式 (16)
5.1、LGWR传送日志的配置方法: (16)
5.2、修改主库DataGuard保护模式 (17)
5.3、主库修改初始化参数(主库db_wending操作) (17)
5.4、主库通过命令行修改数据保护模式,重启主数据库(主库db_wending操作) (17)
5.5、重启主库(主库操作) (17)
5.6、查看主库保护模式是否变更成功(主库操作) (18)
5.7、修改备库的log_archive_dest_2初始化参数方便数据库角色切换(备库操作) (18)
5.8、查看备库数据保护模式(备库操作) (18)
5.9、验证一下“最高可用性”切换成果 (19)
6、DataGuard关启状态 (20)
7、主备数据库切换 (21)
7.1、正常切换: (21)
7.2、非正常切换:(即主服务器当机的情况)启动failover (22)
8、常用维护SQL (22)
1、主库准备工作
Host IP DB_NAME DB_UNIQUE_NAME Net Service Name(网络服务名) 主库192.168.137.128 ORCLDB WENDING db_wending
备库192.168.137.129 ORCLDB PHYSTDBY db_phystdby
保护模式:默认最大性能模式
注意DataGuard启动顺序:
启动顺序:先standby ,后primary;
关闭顺序:先primary ,后standby;
1.1、检查数据库是否支持Data Guard(企业版才支持),是否归档模式,Enable force logging
$ sqlplus '/as sysdba'
SQL> select * from v$option where parameter = 'Managed Standby';
确认主库处于归档模式
SQL> archive log list (先检查是否归档模式,不是则修改)
startup mount
alter database archivelog;
alter database open;
将primary数据库置为FORCE LOGGING模式
SQL> alter database force logging; (强制产生日志)
1.2、如果主库没有密码文件则建立密码文件,从而可以OS验证的方式登陆
$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=iamwangnc entries=5
1.3、配置standby redolog(最佳性能模式可以忽略,如果将来变成备库且要转为其它两种模式则要建立)
SQL> alter database add standby logfile
group 4 ('/orahome/oradata/WENDING/stdby_redo04.log') size 50m,
group 5 ('/orahome/oradata/WENDING/stdby_redo05.log') size 50m,
group 6 ('/orahome/oradata/WENDING/stdby_redo06.log') size 50m,
group 7 ('/orahome/oradata/WENDING/stdby_redo07.log') size 50m;
standby redolog的组数参考公式:(online redolog组数 + 1) * 数据库线程数;单机线程数为1,RAC
一般为2。
standby redolog的组成员数和大小也尽量和online redolog一样。
1.4、设置主库初始化参数
$ sqlplus '/as sysdba'
SQL> create pfile='/home/oracle/pfile.ora' from spfile; (备份参数文件)
SQL> alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(WENDING,PHYSTDBY)' scope=spfile; (启动db接受或发送redo data,包括所有库的db_unique_name)
SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=/orahome/arch1/WENDING
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=WENDING' scope=spfile; (主库归档目
的地)
SQL> alter system set LOG_ARCHIVE_DEST_2='SERVICE=db_phystdby LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=PHYSTDBY' scope=spfile; (当该库充
当主库角色时,设置物理备库redo data的传输目的地)
SQL> alter system set LOG_ARCHIVE_MAX_PROCESSES=5 scope=spfile; (最大ARCn进程数)
SQL> alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE scope=spfile; (允许redo传输服务
传输数据到目的地,默认是enable)
SQL> alter system set LOG_ARCHIVE_DEST_STATE_2=ENABLE scope=spfile; (同上)
SQL> alter system set REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE scope=spfile; (exclusive or shared,所有库sys密码要一致,默认是exclusive)
--以下是主库切换为备库,充当备库角色时的一些参数设置,如果不打算做数据库切换就不用设置了