BBED ORA-00600: internal error code, arguments: [16703], [1403], [20], [], [], [], [], [], [], [], [...

BBED模拟并修复

删除:$ORACLE_HOME/rdbms/admin/prvtsupp.plb

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00704: bootstrap process failure
ORA-00704: bootstrap process failure
ORA-00600: internal error code, arguments: [16703], [1403], [20], [], [], [], [], [], [], [], [], []
Process ID: 29344
Session ID: 3319 Serial number: 3

利用:第三方工具GDUL,导出mount下库的数据,导入到新的库。以解决这个灾难

http://www.eygle.com/archives/2018/07/recover_ora-600_16703.html

https://www.cnblogs.com/lhrbest/p/7576416.html#3795408

部分处理过程:

oradebug:生成10046事件,观察报错信息:
alter session set tracefile_identifier='elon';
alter session set events '10046 trace name context forever,level 12';
alter session set events '10046 trace name context off';

 

查文件块号:
select
dbms_rowid.ROWID_RELATIVE_FNO(rowid) fno,
dbms_rowid.ROWID_BLOCK_NUMBER(rowid) bno,
dbms_rowid.ROWID_ROW_NUMBER(rowid) rowno from sys.tab$ ;

select max(dbms_rowid.ROWID_BLOCK_NUMBER(rowid)) bno from sys.tab$ ;
select min(dbms_rowid.ROWID_BLOCK_NUMBER(rowid)) bno from sys.tab$ ;

select distinct file_no, blk_no
from
(
select dbms_rowid.rowid_relative_fno(rowid) file_no, dbms_rowid.rowid_block_number(rowid) blk_no from sys.tab$
) order by file_no, blk_no;


生成copy 语句:
select 'copy file 100 block ' || blk_no || ' to file 1 block ' || blk_no || ';'
from
(
select distinct dbms_rowid.rowid_relative_fno(rowid) file_no, dbms_rowid.rowid_block_number(rowid) blk_no
from sys.tab$
order by file_no, blk_no
);

select distinct file_no, blk_no
from
(
select dbms_rowid.rowid_relative_fno(rowid) file_no, dbms_rowid.rowid_block_number(rowid) blk_no from sys.tab$
)
where blk_no = 31497;

file: 1, 块号是169,170,145


vi filelist.txt
1 /home/oracle/oradata/dstdw/system01.dbf
2 /home/oracle/oradata/dstdw/sysaux01.dbf
3 /home/oracle/oradata/dstdw/undotbs01.dbf
4 /home/oracle/oradata/dstdw/users01.dbf
5 /home/oracle/oradata/dstdw/credit.dbf
100 /tmp/system01.dbf.new

vi par.bbd
blocksize=8192
listfile=filelist.txt
mode=edit

从备份文件中copy良好的数据块进行恢复
[oracle@ ~]$ bbed parfile=par.bbd
password:blockedit

BBED>copy file 100 block 169 to file 1 block 169;
BBED>copy file 100 block 170 to file 1 block 170;
BBED>copy file 100 block 145 to file 1 block 145;

BBED> verify

 

转载于:https://www.cnblogs.com/elontian/p/9686849.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值