Oracle Data Guard的中文名字叫数据卫士,顾名思义,它是生产库的一道保障。所以管理Data Guard是DBA的一项重要工作之一,管理Data Guard时主要有以下几个注意点需要引起重视。
- 备份库的归档日志积压
一般情况下,生产库的归档日志是不会积压的,即生产库的归档日志空间使用率不会到达100%。但经常会由于疏于管理,备份端的归档日志没有及时删除,导致归档空间100%,进而导致Data Guard失效。在Oracle 10g以上版本中,如果备份端开启闪回,则还需检查闪回空间的使用情况。在归档日志产生高峰期间(如批处理、大批量数据导入期间等),尤其需要检查主备归档日志空间的使用情况。 - 生产库的归档日志断档
Data Guard运行是否正常完全依赖于生产库归档日志是否能够及时、无间断地传输到备份端。如果生产库部分归档日志不能传输到备份端,那么备份端的归档日志应用就会停止。最常见的故障就是如果生产库既配置有磁带备份,又配置有Data Guard时,由于种种原因,归档日志传输到备份端之前,生产库的归档日志会被磁带备份删除,进而导致Data Guard失效。所以在删除生产库归档日志之前必须检测该生产库的归档日志在备份端是否已经存在。
备份主机重启、备库重启、备库监听重启、主备库之间网络故障都可能导致主库日志不能传输至备份。故障修复之后建议检查生产库的最新归档日志是否已经传输到备库。 - 在新路径下添加数据文件
在生产库中,如果在新路径下添加数据文件,则需在备份端修改路径转换参数(DB_FILE_NAME_CONVERT),否则在备份端自动创建新添加数据文件容易失败。 - 定期检查备库数据文件是否损坏
Data Guard运行过程中,由于硬件故障或者其他原因,备库的数据文件可能会损坏,所以需要定期检查其是否损坏。检查方法有2种,一种是用dbv工具扫描数据文件观察是否有物理坏块。另外一种是将备库READ ONLY模式打开,然后用exp或者expdp工具进行全库导出,观察业务表是否有坏块。
如果条件允许,最好能定期进行主备角色切换,这样不仅能检测备库的有效性,而且能熟悉数据库的切换流程。当发生灾难时,一个完善的切换流程,能极大的缩短数据库的切换时间。 - 主库运行环境发生变化
主库运行环境发生变化指的是操作系统参数修改、数据库参数修改和打开数据库某项特性(如设置SUPPLEMENTAL LOG)。由于以上这些变化是不会通过在线日志传输到备库中的,所以在主库发生变化时,需要人为在备库中进行修改。从Oracle 10g开始,主备数据库要求sys用户具有相同的密码,所以在主库中改了sys用户密码,不要忘记更改备份端的密码文件。 - Data Guard主备切换前注意点
Data Guard主备切换前的注意点如下:
检查备库的数据库参数是否能满足系统运行。
检查备库归档日志的应用情况,如果应用延迟比较大,则建议应用完成之后再切换。
分别在主备主机上检查能否用SQLPLUS连接对方数据库。
为加快切换速度,建议先重启生产库。
另外,数据库主备角色切换时,实时观察生产库和备份库的警告日志。数据库主备角色切换之后,检查备库的在线日志数量和大小是否能满足系统正常运行。