Chinaunix首页 | 论坛 | 博客
  • 博客访问: 127123
  • 博文数量: 28
  • 博客积分: 610
  • 博客等级: 上士
  • 技术积分: 250
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-10 10:12
文章分类

全部博文(28)

文章存档

2011年(28)

我的朋友

分类: Oracle

2011-09-26 09:59:11

一个对象的其中一个数据块的DBA号为382524589,那如何根据这个号码来获取到该对象的信息:

DBV-00201: Block, DBA 382524589, marked corrupt for invalid redo application

SQL> select DBMS_UTILITY.DATA_BLOCK_ADDRESS_BLOCK(382524589) from dual;

DBMS_UTILITY.DATA_BLOCK_ADDRESS_BLOCK(382524592)
------------------------------------------------
797193

SQL> select DBMS_UTILITY.DATA_BLOCK_ADDRESS_FILE(382524589) from dual;

DBMS_UTILITY.DATA_BLOCK_ADDRESS_FILE(382524592)
-----------------------------------------------
91
SQL> SELECT tablespace_name, segment_type, owner, segment_name
2 FROM dba_extents
WHERE file_id = 91 and &BL between block_id AND block_id blocks - 1; 3
Enter value for bl: 797193
old 3: WHERE file_id = 91 and &BL between block_id AND block_id blocks - 1
new 3: WHERE file_id = 91 and 797193 between block_id AND block_id blocks - 1

TABLESPACE_NAME
------------------------------
SEGMENT_TYPE
------------------------------------------------------
OWNER
------------------------------
SEGMENT_NAME
--------------------------------------------------------------------------------
PSINDEX
INDEX
SYSADM
PS_Z_PI_P2010M

主要是调用了DBMS_UTILITY 包的对象来进行转换。

阅读(504) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~