dataguard详细安装全过程.doc
《dataguard详细安装全过程.doc》由会员分享,可在线阅读,更多相关《dataguard详细安装全过程.doc(28页珍藏版)》请在冰豆网上搜索。
目录
1、主库准备工作 2
1.1、检查数据库是否支持DataGuard(企业版才支持),是否归档模式,Enableforcelogging 3
1.2、如果主库没有密码文件则建立密码文件,从而可以OS验证的方式登陆 3
1.3、配置standbyredolog(最佳性能模式可以忽略,如果将来变成备库且要转为其它两种模式则要建立) 3
1.4、设置主库初始化参数 4
1.5、备份主库数据文件 5
1.6、在主库上建立备库控制文件(控制文件通常需要有多份,手工将文件复制几份) 5
1.7、为备库准备init参数 5
1.8、拷贝上面生成的文件backup_%T.bak、stdby_control01/02/03.ctl、initPHYSTDBY.ora到备库所在主机 6
2、建立备库 7
2.1、设置环境变量并建立备库一些必需目录 7
2.2、在备库主机上生成密码文件,且sys密码和主库得一致 8
2.4、在备库上建立spfile 8
2.5、启动物理备库 8
2.7、配置standbyredolog(最佳性能模式可以忽略,如果要转为其它两种模式则要建立) 9
2.8、在备库上,启动redoapply 9
3、主备库各参数文件内容 9
3.1、主备库listener.ora一样,如果有不一样也是host不一样 9
3.2、主备库tnsnames.ora一样,如果有不一样也是host和port不一样 10
3.3、init$ORACLE_SID.ora 11
4、主库归档测试 14
5、修改主库DataGuard保护模式 16
5.1、LGWR传送日志的配置方法:
16
5.2、修改主库DataGuard保护模式 16
5.3、主库修改初始化参数(主库db_wending操作) 16
5.4、主库通过命令行修改数据保护模式,重启主数据库(主库db_wending操作) 16
5.5、重启主库(主库操作) 17
5.6、查看主库保护模式是否变更成功(主库操作) 17
5.7、修改备库的log_archive_dest_2初始化参数方便数据库角色切换(备库操作) 18
5.8、查看备库数据保护模式(备库操作) 18
5.9、验证一下“最高可用性”切换成果 18
6、DataGuard关启状态 20
7、主备数据库切换 21
7.1、正常切换:
21
7.2、非正常切换:
(即主服务器当机的情况)启动failover 21
8、常用维护SQL 22
1、主库准备工作
HostIPDB_NAMEDB_UNIQUE_NAMENetServiceName(网络服务名)
主库192.168.137.128ORCLDBWENDINGdb_wending
备库192.168.137.129ORCLDBPHYSTDBYdb_phystdby
保护模式:
默认最大性能模式
注意DataGuard启动顺序:
启动顺序:
先standby,后primary;
关闭顺序:
先primary,后standby;
1.1、检查数据库是否支持DataGuard(企业版才支持),是否归档模式,Enableforcelogging
$sqlplus'/assysdba'
SQL>select*fromv$optionwhereparameter='ManagedStandby';
确认主库处于归档模式
SQL>archiveloglist(先检查是否归档模式,不是则修改)
startupmount
alterdatabasearchivelog;
alterdatabaseopen;
将primary数据库置为FORCELOGGING模式
SQL>alterdatabaseforcelogging;(强制产生日志)
1.2、如果主库没有密码文件则建立密码文件,从而可以OS验证的方式登陆
$orapwdfile=$ORACLE_HOME/dbs/orapw$ORACLE_SIDpassword=iamwangncentries=5
1.3、配置standbyredolog(最佳性能模式可以忽略,如果将来变成备库且要转为其它两种模式则要建立)
SQL>alterdatabaseaddstandbylogfile
group4('/home/oracle/oradata/WENDING/stdby_redo04.log')size50m,
group5('/home/oracle/oradata/WENDING/stdby_redo05.log')size50m,
group6('/home/oracle/oradata/WENDING/stdby_redo06.log')size50m,
group7('/home/oracle/oradata/WENDING/stdby_redo07.log')size50m;
备注:
/home/oracle/oradata/WENDING这个路径为安装oracle时自动创建的目录,有的oracle安装时最后的目录不一定是实例名,有可能是服务名,以自动创建的路径名为准.
standbyredolog的组数参考公式:
(onlineredolog组数+1)*数据库线程数;单机线程数为1,RAC一般为2。
standbyredolog的组成员数和大小也尽量和onlineredolog一样。
1.4、设置主库初始化参数
$sqlplus'/assysdba'
SQL>createpfile='/home/oracle/pfile.ora'fromspfile;(备份参数文件)
SQL>altersystemsetLOG_ARCHIVE_CONFIG='DG_CONFIG=(WENDING,PHYSTDBY)'scope=spfile;(启动db接受或发送redodata,包括所有库的db_unique_name)
SQL>altersystemsetLOG_ARCHIVE_DEST_1='LOCATION=/home/oracle/arch1/WENDINGVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=WENDING'scope=spfile;(主库归档目的地)
SQL>altersystemsetLOG_ARCHIVE_DEST_2='SERVICE=db_phystdbyLGWRASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=PHYSTDBY'scope=spfile;(当该库充当主库角色时,设置物理备库redodata的传输目的地)
SQL>altersystemsetLOG_ARCHIVE_MAX_PROCESSES=5scope=spfile;(最大ARCn进程数)
SQL>altersystemsetLOG_ARCHIVE_DEST_STATE_1=ENABLEscope=spfile;(允许redo传输服务传输数据到目的地,默认是enable)
SQL>altersystemsetLOG_ARCHIVE_DEST_STATE_2=ENABLEscope=spfile;(同上)
SQL>altersystemsetREMOTE_LOGIN_PASSWORDFILE=EXCLUSIVEscope=spfile;(exclusiveorshared,所有库sys密码要一致,默认是exclusive)
--以下是主库切换为备库,充当备库角色时的一些参数设置,如果不打算做数据库切换就不用设置了
SQL>altersystemsetFAL_SERVER=db_phystdbyscope=spfile;(配置网络服务名,假如转换为备库角色时,从这里获取丢失的归档文件)
SQL>altersystemsetFAL_CLIENT=db_wendingscope=spfile;(配置网络服务名,fal_server拷贝丢失的归档文件到这里)
SQL>altersystemsetDB_FILE_NAME_CONVERT='PHYSTDBY','WENDING'scope=spfile;(前为切换后的主库路径,后为切换后的备库路径,如果主备库目录结构完全一样,则无需设定)
SQL>altersystemsetLOG_FILE_NAME_CONVERT='PHYSTDBY','WENDING'scope=spfile;(同上,这两个名字转换参数是主备库的路径映射关系,可能会是路径全名,看情况而定)
SQL>altersystemsetSTANDBY_FILE_MANAGEMENT=autoscope=spfile;(auto后当主库的datafiles增删时备库也同样自动操作,且会把日志传送到备库standby_archive_dest参数指定的目录下,确保该目录存在,如果你的存储采用文件系统没有问题,但是如果采用了裸设备,你就必须将该参数设置为manual)
SQL>altersystemsetSTANDBY_ARCHIVE_DEST='LOCATION=/home/oracle/arch1/WENDING'scope=spfile;(一般和LOG_ARCHIVE_DEST_1的位置一样,如果备库采用ARCH传输方式,那么主库会把归档日志传到该目录下)
有了以上参数设置,则无论该库充当主库角色还是备库角色都无需再修改了。
然后重启数据库:
SQL>shutdownimmediate
SQL>startup;
1.5、备份主库数据文件
关闭应用服务器,停止监听,开始rman备份:
$mkdir-p/home/oracle/backup
$lsnrctlstop
$rmantarget/
RMAN>backupfulldatabaseformat'/home/oracle/backup/backup_%T_%s_%p.bak';
##RMAN>sql'altersystemarchivelogcurrent';
##RMAN>backuparchivelogallformat='/home/oracle/backup/arch_%T_%s_%p.bak';
1.6、在主库上建立备库控制文件(控制文件通常需要有多份,手工将文件复制几份)
$sqlplus'/assysdba'
SQL>alterdatabasecreatestandbycontrolfileas'/home/oracle/backup/stdby_control01.ctl';
$cd/home/oracle/backup/
$cpsdtby_contro