备用数据库监控和保护模式(9iR2)
本文档用于理解和监视配置有不同保护模式的备用数据库。
最大保护
-保证如果主数据库失败,将不会发生数据丢失。 为了提供这种级别的保护,在提交事务之前,必须将恢复每个事务所需的重做数据写入本地联机重做日志和至少一个备用数据库上的备用重做日志中。 为了确保不会发生数据丢失,如果故障阻止主数据库将其重做流写入至少一个同步备用数据库,则主数据库将关闭。
最大可用性
-提供可能的最高级别的数据保护,而不会影响主数据库的可用性。 直到恢复这些事务所需的所有重做数据已写入联机重做日志和至少一个同步备用数据库后,事务才会提交。 如果故障阻止主数据库将其重做流写入同步的备用数据库,则主数据库将不会关闭。 而是,主数据库将以RESYNCHRONIZATION操作,直到纠正了错误并解决了所有日志间隔。 解决所有日志差距后,主数据库将自动以最大可用性恢复运行
最高性能
-提供最高级别的数据保护,而不会影响主数据库的性能。将恢复该事务所需的重做数据写入本地重做日志后,将立即提交事务。 主数据库的重做数据流也被写入至少一个备用数据库,但是该重做流相对于创建重做数据的事务的承诺是异步写入的。
备用数据库监控
#!/bin/ksh
export ORACLE_HOME=/oracle/oracle/product/9.2
export ORACLE_SID=ORCL
export LD_LIBRARY_PATH=/oracle/oracle/product/9.2/lib
export TNS_ADMIN=/oracle/oracle/product/9.2/network/admin
export PATH=/oracle/oracle/product/9.2/bin:/usr/bin
while true
do
sqlplus '/ as sysdba' << END
spool $1/monsat.`date +%b%d_%T`
set pagesize 10000 echo off feedback off TERMOUT OFF
# Verify the state of the DG processes for more detailed
# analysis if required
select process, status , thread#, sequence#, blocks from v\$managed_standby;
select max(sequence#), thread# from v\$log_history group by thread#;
column event format a35
column p1text format a20
column p2text format a20
# Obtain session wait information for more detailed
# analysis if required
select sid, event, p1, p1text, p2, p2text
from v\$session_wait
where wait_time !=0 and
event not in ('rdbms ipc message','smon timer')
order by wait_time desc;
# Obtain file READ I/O and WRITE I/O times to ensure
# there’s no IO bottlenecks on the standby. Should
# be similar to production I/O times.
column datafile format A45
column tspace format A30
select fs.*, df.name datafile, ts.name tspace
from v\$filestat fs, v\$datafile df, v\$tablespace ts
where fs.file#=df.file#
and df.ts#=ts.ts#
and PHYWRTS >0
order by writetim desc;
# Obtain top system wait events. Leveraged to get
# average log file parallel write times on the standby.
select * from v\$system_event where time_waited > 100
order by time_waited desc;
# Obtain sysstat detailed statistics for detailed
# analysis if required
Data Guard Primary Site and Network Configuration Best Practices Page 36
select name, value from v\$sysstat where name like 'recovery%';
spool off
exit
END
sleep 60
done
exit 0
感谢和问候,
维诺德·萨达南丹(Vinod Sadanandan)
甲骨文数据库管理员
本文探讨了备用数据库的不同保护模式:最大保护、最大可用性和最高性能,详细介绍了每种模式下如何保证数据安全和系统稳定性。同时,提供了一个监控备用数据库状态的脚本,包括DG进程状态、会话等待信息、I/O读写时间和系统等待事件等关键指标。

被折叠的 条评论
为什么被折叠?



