This Domain(Admin5.com) is for Sale:

Rman操作简单分析

时间:2007-12-23  来源:不详  作者:迈克DB
通过设置debug模式,我们可以跟踪到大量的Log,从而为分析提供一定的说明。假定我们提交如下的命令:

rmantarget/debugtrace=d:/rman_trace.log

通过查看日志我们得之,rman首先确定数据库状态:

DBGSQL:EXECSQLATTARGETselectdecode(status,’OPEN’,1,0)into:b1fromv$instance
DBGSQL:sqlcode=0
DBGSQL::b1=1

判定数据库是否是在open状态下。然后,要去获取数据库的compatible参数值。
接下来调用dbms_backup_restore确定rman可用的版本信息。对应的一些参数如下:

protocol_version_number_minNUMBER:=8;
protocol_release_number_minNUMBER:=0;
protocol_update_number_minNUMBER:=4;

protocol_version_number_maxNUMBER:=9;
protocol_release_number_maxNUMBER:=2;
protocol_update_number_maxNUMBER:=0;

804-920,这个范围内可用,804?920?是不是很熟悉?

下面调用dbms_rcvman的getPackageVersion函数
($ORACLE_HOME/rdbms/admin/recover.bsq创建dbms_rcvman,并可以获得相关注释)获取package的版本可用信息。

08.00.04到09.02.00

接下来rman会查询V$database,从中获取name,resetlogs_time,resetlogs_change#,dbid等信息。
本文来自织梦



下面这个比较重要,x$kcccp(KernelCacheCheckpointProgress)中获取检查点记录:

类似如下的SQL:
selectnvl(max(cpmid),0)fromx$kcccpwherecpsta=2

这些操作完成后,rman从v$option中获取相关信息,包括:’Parallelbackupandrecovery’,’Incrementalbackupand
recovery’,’Duplexedbackups’,’BlockMediaRecovery’,’Point-in-timetablespacerecovery’,通过这些来判定数据库是否具有这些功能。然后Log中显示连接到目标数据库。

分析过程并不复杂,不过在涉及到深入的命令的时候会产生大量的Log,要有一定的耐心才能继续下去。在rman出现故障的时候,设置Debug模式进行分析是一种非常有效的办法。假如可能得话,以后的文章中我会举几个例子来说明。

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息