oracle10g/11g 新特性九(数据库诊断)

本文详细介绍了 Oracle 数据库中数据恢复顾问(Data Recovery Advisor)的使用方法,包括如何处理各种数据故障,如坏块(corrupt block)等,并提供了具体的 RMAN 命令实例。此外,还介绍了如何设置参数来检测数据损坏,以及自动诊断工作流程等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Data Recovery Advisor


Data Recovery Advisor


Data Failure: Examples



Listing Data Failures



Advising on Repair


Executing Repairs


Classifying (andClosing ) Failures


Data Recovery Advisor Views


Best Practice:  proactive Checks

Invoking proactve health check of the database and its components

1.Health Monitor or RMAN VALIDATE DATABASE command

2.Checking for logical and physical corruption

3.Findings logged in the ADR


11g 数据库恢复专家例子 
1.tablespace--app_data
2.backup--datafile--app_data01.dbf_rman
   run{
   allocate channel d1 type disk format 'F:\app\user\back\datafile_%s_%p.bus';
   backup datefile 10;
  }
3.破坏
4.recover--data  recover advise-rman
进入rman
 list failure (会显示出系统检测到的问题)
 advise failure  分析故障
 也可以通过动态性能试图看一些东西:
 select repair_id, advise_id,summay,rank, status from v$ir_repair;
 select * from v$ir_manual_checklist;
 
登录ramn:
   repaire failure preview;  只是擦看 (注意这条命令必须和advise failure在同一个session)
   repaire failure  ; 真正执行

What Is Block Corruption

Whenever a block is read or wrtten , a consistency check is performed

  a.Block version

  b.DBA(data block address) value in cache s compared to the DBA value in the block buffer

  c.Block-checksum , if enabled

A corrupt block is identified as being one of he following:

   a.Media corrupt

   b.Logically (or software ) corrupt


Block Corruption Symptoms : ORA-01578

The error ORA-01578:"ORACLE data block corrupted (file # %s, block # %s)":

1.Is generated when a corrupted data block is found

2.Always returns the relativefile numer and block number

3.Is returned to the session that issued the query being performed when the corruption was discovered

4.Appears in the  alert.log file


How to Handle Corruption

1.Cehck the alert log and perating system log file

2.Use available diagnostic tools to find out the type of corruption

3.Determine whether the error persists by running chedks multiple times

4.Recover data form the corrupted object if necessary

5.Resolve any hardware issues:

   a.Memory boards

   b.disk controller

   c.Disks

6.Recover or restore data from the corrupt object if necessary


Setting Parameters to Detect Corruption




Setting Parameters to Detect Corruption

坏块实验

1.config
   archivelog 归档模式
   mount模式下:
   alter database flashback on;
   select flashback_on from v$database;
   alter system set db_ultra_safe='DATA_AND_INDEX'

2.create tablespace---app_test
    create tablespace app_test datafile '/xxx/xxx/xx/app_test.dbf' size 20M;
	create user user1 identified by user1 default tablespace app_test;
	grant connect, resource to user1;
	user1/user1 登录
	建几张表在app_test上
	
3.backup_rman
  坏块实验
  rman target /nocatalog
  run {
  allocate channel d1 type disk format '/xxx/xxx/xxx/back/app_test_%s_%p.buf'
  backup datafile  11
  }
  
4.破坏
  关闭系统 然后对app_test.dbf进行编辑
  startup 可能能启动起来,可能在查某一张表时候才报错
  可以在alert.log里看到
  select * from v$databawse_block_corruption;
 
5.check block-dbv-rman
   链接rman
   
6.startup
7.recover block
   recover datafile 11 block 185;
8.check block

Automatic Diagnostic Workflow


Automatic Diagnostic Repository


The  V$DIAG_INFO View


Location for Diagnostic Traces

现在只需要配置一个参数就可以了 : diagnostic_dest ,  这样,udump之类的参数  就不用配置了



Health Monitor:Overview

Running Health Checks Manually: PL/SQL Example




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值