对命令行为的操作简单分析呢
百度是战略投资 rman 对dbms_store 的一些特定调用完?梢酝ü??ebug 分析出来。
通过设置debug 模式,我们可以跟踪到大量的Log,从而为分析提供一定的说明。假定我们提交如下的命令:
rman target / debug trace=d:/rman_g
通过查看日志我们得之,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 ? 是不是很熟悉?
下面调用dbms_rcvman的getPackageVersion 函数
($ORACLE_HOME/rdbms/admin/q创建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模式进行分析是一种非常有效的办法。如果可能得话,以后的文章中我会举几个例子来说明。
查看本文来源
泰安白癜风哪里治疗好呼和浩特哪家妇科医院好
小孩积食怎么调理脾胃
- 上一篇:对列表精灵源代码分析和仿制牛
- 下一篇:对聚集索引的指示综合分的
-
清洗仓鼠用具注意哪些问题位置
凉菜2022年06月13日
-
深红玫瑰鹦鹉饲养养深红玫瑰鹦鹉的细节位置
凉菜2022年06月13日
-
使用强迫的方法来训练银狐犬可行吗位置
凉菜2022年06月13日
-
你的哈士奇会握手吗位置
凉菜2022年06月13日
-
你正在犯饲养泰迪犬的哪些错误位置
凉菜2022年06月13日
-
你知道为什么拉布拉多犬一定不可以喝牛奶吗位置
凉菜2022年06月13日