Rman操作简单分析
时间:2007-12-23 来源:不详 作者:迈克DB
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网友发表了评论 查看完整内容