欢迎光临
我们一直在努力

Rman操作简单分析-数据库专栏,SQL Server

建站超值云服务器,限时71元/月

http://www.itpub.net/245264.html

rman操作简单分析

在我的上一篇文章中为大家演示了rman 备份恢复的一个特定例子。(参考:http://www.dbanotes.net/oracle/rman…lfile_howto.htm)rman 对dbms_backup.restore 的一些特定调用完梢酝üebug 分析出来。通过设置debug 模式,我们可以跟踪到大量的log,从而为分析提供一定的说明。假定我们提交如下的命令:rman target / debug trace=d:/rman_trace.log通过查看日志我们得之,rman 首先确定数据库状态:dbgsql: exec sql at target select decode(status,open,1,0) into :b1 from v$instance dbgsql: sqlcode=0dbgsql: :b1 = 1判断数据库是否是在open 状态下。然后,要去获取数据库的compatible参数值。接下来调用dbms_backup_restore确定rman 可用的版本信息。对应的一些参数如下:protocol_version_number_min number := 8;protocol_release_number_min number := 0;protocol_update_number_min number := 4;protocol_version_number_max number := 9;protocol_release_number_max number := 2;protocol_update_number_max number := 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( kernel cache checkpoint progress)中获取检查点记录:类似如下的sql:select nvl(max(cpmid),0) from x$kcccp where cpsta=2这些操作完成后,rman 从v$option 中获取相关信息,包括:parallel backup and recovery,incremental backup and recovery,duplexed backups,block media recovery,point-in-time tablespace recovery,通过这些来判断数据库是否具有这些功能。然后log中显示连接到目标数据库。分析过程并不复杂,不过在涉及到深入的命令的时候会产生大量的log,要有一定的耐心才能继续下去。在rman 出现故障的时候,设置debug模式进行分析是一种非常有效的办法。如果可能得话,以后的文章中我会举几个例子来说明。参考信息dbmsbkrs.sql 和 prvtbkrs.plb 文件说明注释(可在你的系统 $oracle_home/rdbms/admin/中找到.)《oracle 9i rman备份与恢复技术》 清华出版社  2.12节 从开始到结束的rman进程 p41steve adamss q+a http://www.ixora.com.au/q+a/0102/06135327.htm

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Rman操作简单分析-数据库专栏,SQL Server
分享到: 更多 (0)