备用数据库监视和保护模式(9iR2)

本文探讨了备用数据库的不同保护模式:最大保护、最大可用性和最高性能,详细介绍了每种模式下如何保证数据安全和系统稳定性。同时,提供了一个监控备用数据库状态的脚本,包括DG进程状态、会话等待信息、I/O读写时间和系统等待事件等关键指标。

备用数据库监控和保护模式(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)

甲骨文数据库管理员

From: https://bytes.com/topic/software-development/insights/739613-standby-database-monitoring-protection-modes-9ir2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值