1、Oracle 11G R2 DataGuard日常维护及故障处理Oracle 11G R2 DataGuard日常维护及故障处理日期:2016-02-20来源:Linux社区 作者:fengwan字体:大中小1.关于Forced Logging模式有一些DDL语句可以通过指定NOLOGGING子句的方式避免写redo log(目的是提高速度,某些时候确实有效),指定数据库为FORCE LOGGING模式后,数据库将会记录除临时表空间或临时回滚段外所有的操作而忽略类似NOLOGGING之类的指定参数。如果在执行force logging时有nologging之类的语句在执行,则force log
2、ging会等待直到这类语句全部执行。FORCE LOGGING是做为固定参数保存在控制文件中,因此其不受重启之类操作的影响(只执行一次即可)打开force loggingSQL alter database force logging;关闭force loggingSQL alter database no force logging;查看force logging的状态:SQL select FORCE_LOGGING from v$database;2.关于主备库的密码密码文件位置$Oracle_HOME/dbs/orapwSID,主备库的密码必须要一致,否则可能出现日志无法传输故障,最好
3、是使用scp传过去较为方便3.关于listener.ora和tnsnames.oralistener.ora为数据库的监听配置文件,tnsnames.ora为网络服务名配置文件修改listener.ora是需要重启监听程序,而tnsnames.ora是不需要重启的,我们可以使用默认的listener.oraLISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521) ) )ADR_BASE_LISTENER = /opt/o
4、racle以上是动态注册,如果是静态注册的话,则是SID_LIST_LISTENER =(SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /opt/oracle/product/11.2.0/db_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME =db1) (ORACLE_HOME = /opt/oracle/product/11.2.0/db_1) (SID_NAME =db1) ) )tnsnames.ora则只需要添加服务名db1= (DEST_NAME (
5、DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =db1)(PORT = 1521) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME =db1) ) )db2= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =db2)(PORT = 1521) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME =db2) ) )以上按照自己
6、的实际情况进行修改以上配置好了,就可以相互的tnsping db1或tnsping db2进行测试4.参数文件说明参数文件说明:增加以下参数,如果在初始化参数已经有配置,则看需要做相应的修改。1、与主库角色相关的初始化参数说明:DB_NAME注意保持同一个Data Guard环境中所有数据库DB_NAME相同DB_UNIQUE_NAME为每一个数据库指定一个唯一的名称,以标示同一个dataguard环境中不同的数据库。LOG_ARCHIVE_CONFIG该参数通过DG_CONFIG属性罗列同一个Data Guard中所有DB_UNIQUE_NAME(含主库db及备库db),以逗号分隔。例如:L
7、OG_ARCHIVE_CONFIG=DB_CONFIG=(db1,db22)LOG_ARCHIVE_DEST_n归档文件的生成路径。该参数非常重要,dataguard就是通过这里的设置传输日志的。LOG_ARCHIVE_DEST_STATE_n指定参数值为ENABLE,标示对应的LOG_ARCHIVE_DEST_n参数是否有效。REMOTE_LOGIN_PASSWORDFILE推荐设置参数值为EXCLUSIVE或者SHARED,注意保证相同Data Guard配置中所有db服务器sys密码相同。如果不同日志传输会失败。数据库默认是EXCLUSIVE,一般不用修改。LOG_ARCHIVE_FOR
8、MAT指定归档文件格式。一般也不用修改,保持默认即可2、以下参数为备库角色相关的参数,建议在主库的初始化参数中也进行设置,这样在主备库角色相互转换后不需要做修改dataguard也能正常运行。FAL_SERVER指定备库到主数据库的连接服务名,FAL_SERVER = orcl2日志所在服务器。FAL_CLIENT指定主库到备库的连接服务名,FAL_CLIENT = orcl日志接收客户端。STANDBY_FILE_MANAGEMENT如果主库的数据文件发生修改(如新建,重命名等)则按照本参数的设置在备库中做相应修改。设为AUTO表示自动管理。设为MANUAL表示需要手工管理。例如:STAND
9、BY_FILE_MANAGEMENT=AUTO下面开始修改主库的初始化参数。db_name参数已经设置,不用修改SQL alter system set db_unique_name =db1 scope=spfile;SQL alter system set log_archive_config=dg_config=(db1,db2) scope=spfile;-这里的db1和db2为db_unique_nameSQL alter system set log_archive_dest_1=location=/opt/oracle/flash_recovery_area scope=spfi
10、le;-/opt/oracle/flash_recovery_area为本地的归档目录,需要手动创建该目录,当然也可以指定别的路径。注意oracle账号对该目录又可读写的权限。SQL alter system set log_archive_dest_state_1=enable scope=spfile;-这个通常不用修改,系统默认的就是enable。SQLalter system set log_archive_dest_2=service=db2 valid_for=(online_logfiles,primary_role) arch async NOAFFIRM db_unique_
11、name=db2 scope=spfile;-这里的service为主库连接到备库的服务名,后面会在tnsnames.ora文件中配置valid_for参数说明这个归档日志目的地在本数据库为主库的角色下才需要把online_logfile传输到备库去。arch async NOAFFIRM说明的是同步的方式,同步的方式有三种:最大保护,最大性能,最大可用。SQL alter system set log_archive_dest_state_2=enable scope=spfile;以上修改的是作为主库角色需要的参数,为了方便以后主备库切换,建议在主库中也配置作为备库角色的相关参数。SQL
12、alter system set fal_server=db2 scope=spfile;SQL alter system set fal_client=db scope=spfile;SQL alter system set standby_file_management=auto scope=spfile;生成静态参数文件,以备后面给备库使用。SQL create pfile from spfile;重新启动主库,使参数生效。6.DataGuard启动停止及维护:DataGuard停止:先主后备DataGuard启动:先备后主7.DataGuard日常监控视图a.主库查看日志归档路径是否可
13、用,如果远程归档目录不可用则error会显示错误信息SQL select dest_name,status,error from v$archive_dest;DEST_NAME STATUS ERROR- - -LOG_ARCHIVE_DEST_1 VALIDLOG_ARCHIVE_DEST_2 VALIDLOG_ARCHIVE_DEST_3 INACTIVELOG_ARCHIVE_DEST_4 INACTIVELOG_ARCHIVE_DEST_5 INACTIVELOG_ARCHIVE_DEST_6 INACTIVELOG_ARCHIVE_DEST_7 INACTIVELOG_ARCHIV
14、E_DEST_8 INACTIVELOG_ARCHIVE_DEST_9 INACTIVELOG_ARCHIVE_DEST_10 INACTIVE10 rows selected.如上记录则代表备库归档日志目录有效且正常b.查询数据库的主备角色,以及当前DataGuard的运行模式,在主备查询结果不同主库:SQL select database_role,LOG_MODE,PROTECTION_MODE,PROTECTION_LEVEL from v$database;DATABASE_ROLE LOG_MODE PROTECTION_MODE PROTECTION_LEVEL- - - -PRIMARY ARCHIVELOG MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE备库:SQL select database_role,LOG_MODE,PROTECTION_MODE,PROTECTION_LEVEL from v$d
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1