您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle-12C-Dataguard实测-主从转换
Oracle12cdataguard实测-主从转换:测试环境:centOS6.464bitoracle12C12.1.0.1.0-64bit主库:10.168.9.52sid=bbcdb_unique_name=bbc备库:10.168.9.53sid=bbcdb_unique_name=abc注意密码文件,备库要用主库的密码文件主库查看:SQLselectlog_mode,open_mode,protection_mode,database_rolefromv$database;LOG_MODEOPEN_MODEPROTECTION_MODEDATABASE_ROLE--------------------------------------------------------------------ARCHIVELOGREADWRITEMAXIMUMAVAILABILITYPRIMARY备库查看:SQLselectlog_mode,open_mode,protection_mode,database_rolefromv$database;LOG_MODEOPEN_MODEPROTECTION_MODEDATABASE_ROLE--------------------------------------------------------------------ARCHIVELOGREADONLYWITHAPPLYMAXIMUMAVAILABILITYPHYSICALSTANDBY查看主库的本地归档路径及参数:SQLshoparameterarchiveNAMETYPEVALUE-----------------------------------------------------------------------------archive_lag_targetinteger0log_archive_configstringdg_config=(bbc,abc)log_archive_deststringlog_archive_dest_1stringservice=abclgwrsyncaffirmvalid_for=(online_logfiles,primary_role)db_unique_name=abclog_archive_dest_10stringlocation=/home/oracle/archive/archive_bbc_loc/valid_for=(all_logfiles,all_roles)db_unique_name=bbc查看从库的本地归档路径及参数:SQLshoparameterarchiveNAMETYPEVALUE-----------------------------------------------------------------------------archive_lag_targetinteger0log_archive_configstringdg_config=(bbc,abc)log_archive_deststringlog_archive_dest_1stringservice=bbcarchvalid_for=(online_logfiles,primary_role)db_unique_name=bbclog_archive_dest_10stringlocation=/app/archive_abc/valid_for=(all_logfiles,all_roles)db_unique_name=abc得知:主从库的本地归档都是设置对所有日志,所有角色进行归档,这里不用做修改,如果本地归档设置只是对本地日志做归档,还要设置对standby_log做归档。另外,备库中的远程归档的进程是归档进程,修改为日志写进程:altersystemsetlog_archive_dest_1='service=bbclgwrsyncaffirmvalid_for=(online_logfiles,primary_role)db_unique_name=bbc';设置主库变为从库后的路径转换:altersystemsetdb_file_name_convert='/app/db_base/oradata/ABC/datafile/','/u01/app/db_base/oradata/BBC/datafile/','/app/db_base/oradata/ABC/F60783B5A389DAB9E0433409A80A5812/datafile/','/u01/app/db_base/oradata/BBC/F60783B5A389DAB9E0433409A80A5812/datafile/'scope=spfile;数据文件路径转换SQLaltersystemsetlog_file_name_convert='/app/db_base/oradata/ABC/onlinelog/','/u01/app/db_base/oradata/BBC/onlinelog/','/app/db_base/fast_recovery_area/ABC/onlinelog/','/u01/app/db_base/fast_recovery_area/BBC/onlinelog/'scope=spfile;日志文件的路径转换主库查看switchover状态SQLselectswitchover_statusfromv$database;SWITCHOVER_STATUS--------------------TOSTANDBY表明可以直接切换SQLalterdatabasecommittoswitchovertophysicalstandby;Databasealtered.切换后该库会直接宕机,重启到mount查看该库的角色和状态:SQLselectlog_mode,open_mode,protection_mode,database_rolefromv$database;LOG_MODEOPEN_MODEPROTECTION_MODEDATABASE_ROLE--------------------------------------------------------------------ARCHIVELOGMOUNTEDMAXIMUMAVAILABILITYPHYSICALSTANDBY已经是物理备库,最高可用级别启动恢复模式:SQLalterdatabaserecovermanagedstandbydatabaseusingcurrentlogfiledisconnectfromsession;Databasealtered.主库已经切换到备库状态!查看备库的switchover状态SQLselectswitchover_statusfromv$database;SWITCHOVER_STATUS--------------------TOPRIMARY表明可以直接切换SQLalterdatabasecommittoswitchovertoprimary;Databasealtered.执行后会直接到mount,查看该库的角色及状态:SQLselectlog_mode,open_mode,protection_mode,database_rolefromv$database;LOG_MODEOPEN_MODEPROTECTION_MODEDATABASE_ROLE--------------------------------------------------------------------ARCHIVELOGMOUNTEDMAXIMUMAVAILABILITYPRIMARY启动新的主库并查看:alterdatabaseopen;Databasealtered.SQLLOG_MODEOPEN_MODEPROTECTION_MODEDATABASE_ROLE--------------------------------------------------------------------ARCHIVELOGREADWRITEMAXIMUMAVAILABILITYPRIMARY原来的备库已经变为主库,测试修改主库数据并在备库查看至此,ORACLE12CDATAGUARD测试完毕!注意:MAXIMUMAVAILABILITYMAXIMUMPERFORMANCE两种模式可以从任意一种模式状态下转换过来,并且与LOG_ARCHIVE_DEST_N设置无关。MAXIMUMPROTECTION模式有下面条件限制:1.LOG_ARCHIVE_DEST_N日志传输参数必须有一个设置为SYNC2.在数据库OPEN状态下,只能从MAXIMUMAVAILABILITY模式直接转换3.从MAXIMUMPERFORMANCE模式转换,需先转换到MAXIMUMAVAILABILITY模式,否则数据库必须启动到MOUNT状态4.当MAXIMUMAVALIABILITY模式降级为MAXIMUMPERFORMANCE,转换需要参照第3点,或者等异常处理完成恢复。MaximumAvailability最大可用性MaximumPerformance最高性能MaximumProtection最大保护1.最大性能(maximizeperformance):这是dataguard默认的保护模式。primay上的事务commit前不需要从standby上收到反馈信息(主数据库的提交操作不等待STANDBY),该模式在primary故障时可能丢失数据,但standby对primary的性能影响最小。可以使用LGWRASYNC或者ARCH两种传输模式。ARCH传输模式:PrimaryDB上的onlineredolog写满或其他条件引起redolog写归档的时候,redolog生成的archivedlogfile写到本地归档目录的同时,写入了Standby归档目录。只是Primarydb上的onlineredolog切换不必等Standby上的写归档动作结束。2.最大可用(maximizeavailability):在正常情况下,最大可用模式和最大保护模式一样;在standby不可用时,最大可用模式会自动降低成最大性能模式,所以standby故障不会导致primay不可用。在问题纠正之后,Standby和主数据库进行再同步,至少有一个standby可用的情况下,即使primarydown机,也能保证不丢失数据。(不过当问题修复,再同步之前有必要FAILOVER,那么有些数据可能会丢失)。最大可用性模式Standby必须配置StandbyRedolog,Oracle推荐最大可用模式使用LGWRASYNC(异步)模式传输。采用最大可用的dataguard模式,主库往备库传递在线日志(onlineredolog)信息,在线日志信息写入备用库的standbyredolog,这些standbyredolog归档后,备用库应用归档日志。LGWR还分为LGWRASYNC(异步)和LGWRSYNC(同步)两种。最大保护最大可用最大性能进程LGWRLGWRLGWR或ARCH网络传输模式SYNCSYNCLGWR时设置ASYNC磁盘写操作AFFIRMAFFIRMNOAFFIRM备用日志YES物理备用需要LGWR和物理备用时需要备用库类型物理Standby物理或逻辑物理或逻辑最大保护(maximizeprotection):最高级别的保护模式。primay上的事务在commit前必须确认redo已经传递到至少一个standby上,如果所有standby不可用,则primary会挂起。该模式能保证零数据丢失。对于最大保护和最高可用性模式,Standby数据库必须配置standbyredolog,
本文标题:Oracle-12C-Dataguard实测-主从转换
链接地址:https://www.777doc.com/doc-4804572 .html