Oracle 11G R2 DataGuard日常维护及故障处理(2)


SQL> alter system set log_archive_dest_1='location=/opt/oracle/flash_recovery_area' scope=spfile;
--/opt/oracle/flash_recovery_area为本地的归档目录,需要手动创建该目录,当然也可以指定别的路径。

注意oracle账号对该目录又可读写的权限。
SQL> alter system set log_archive_dest_state_1=enable scope=spfile;
--这个通常不用修改,系统默认的就是enable。

SQL>alter system set log_archive_dest_2='service=db2 valid_for=(online_logfiles,primary_role) arch async NOAFFIRM db_unique_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> 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.主库查看日志归档路径是否可用,如果远程归档目录不可用则error会显示错误信息

SQL> select dest_name,status,error from v$archive_dest;
DEST_NAME          STATUS              ERROR
-------------------- -------------------- --------------------
LOG_ARCHIVE_DEST_1  VALID
LOG_ARCHIVE_DEST_2  VALID
LOG_ARCHIVE_DEST_3  INACTIVE
LOG_ARCHIVE_DEST_4  INACTIVE
LOG_ARCHIVE_DEST_5  INACTIVE
LOG_ARCHIVE_DEST_6  INACTIVE
LOG_ARCHIVE_DEST_7  INACTIVE
LOG_ARCHIVE_DEST_8  INACTIVE
LOG_ARCHIVE_DEST_9  INACTIVE
LOG_ARCHIVE_DEST_10 INACTIVE

10 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$database;
DATABASE_ROLE    LOG_MODE    PROTECTION_MODE      PROTECTION_LEVEL
---------------- ------------ -------------------- --------------------
PHYSICAL STANDBY ARCHIVELOG  MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE

c.获取归档日志的应用情况,主备库结果不同。在主库上对于每个归档文件会有2条记录

SQL > select name,SEQUENCE#,APPLIED from v$archived_log order by sequence#;

备库:

/opt/oracle/flash_recovery_area/1_11_904130046.dbf   11   YES
/opt/oracle/flash_recovery_area/1_12_904130046.dbf   12   YES
/opt/oracle/flash_recovery_area/1_13_904130046.dbf   13   YES
/opt/oracle/flash_recovery_area/1_14_904130046.dbf   14   YES
/opt/oracle/flash_recovery_area/1_15_904130046.dbf   15   YES
/opt/oracle/flash_recovery_area/1_16_904130046.dbf   16   YES
/opt/oracle/flash_recovery_area/1_17_904130046.dbf   17   YES
/opt/oracle/flash_recovery_area/1_18_904130046.dbf   18   YES
/opt/oracle/flash_recovery_area/1_19_904130046.dbf   19   YES
/opt/oracle/flash_recovery_area/1_20_904130046.dbf   20   YES
/opt/oracle/flash_recovery_area/1_21_904130046.dbf   21   YES
/opt/oracle/flash_recovery_area/1_22_904130046.dbf   22   YES
/opt/oracle/flash_recovery_area/1_23_904130046.dbf   23   YES
/opt/oracle/flash_recovery_area/1_24_904130046.dbf   24   IN-MEMORY

如果有发现日志不连续,则需要对照主库的归档日志序列,判断是否有丢失的日志,如果有则需要手动注册日志并应用归档。

(方法:从主库的归档目录拷贝相应的归档
文件到备库上注册alter database register physical logfile '/opt/oracle/flash_recovery_area/归档文件名’;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/d619172fa46389f00fcb9049d0a9af83.html