动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   数据库 → 阅读文章

 Rman操作简单分析

作者:无从考证 来源:转载 
阅读 数 666 人次 , 2006-2-15 17:48:00 

通过设置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=0
DBGSQL: :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模式进行分析是一种非常有效的办法。如果可能得话,以后的文章中我会举几个例子来说明。   
 本文Tagsrealplayer  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:Oracle中Kill session的研究
· 下一篇:在FreeBSD 3.x 下安裝Oracle 8.0.5
· Win32版与Unix版MySQL比较
· 使用MS SQL7的LINKED SERVER(一)
· 循序渐进学习Power Builder 6.0(15-4)
· SELECT TOP N问题 (2)
· 在 Access 中使用“存储过程”


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077