下面文章主要介绍一次误操作导致的oracle数据库大恢复。前两天在Oracle 10g的手工建库脚本中看到dbms_backup_restore.zerodbid(0)的过程,它的主要作用是修改Oracle数据库的dbid。
所以我想通过这个存储直接在sqlplus中修改dbid。
之前修改其dbid
引用
1.SQL & gt从v$database中选择dbid
2.资料库识别码
3.1488207495
修改dbid
引用
1.SQL & gtexec DBMS _ backup _ restore . zero dbid(0);
2.PL/SQL程序成功完成。
执行似乎是成功的,但是警报日志显示ckpt进程终止了数据实例。
引用
1.2010年3月9日星期二01时43分22秒
2.CKPT:由于错误1242而终止实例
3.实例被CKPT终止,pid = 16653
4.2010年3月9日星期二01时43分53秒
再次启动Oracle数据库时出错
引用
1.2010年3月9日星期二01时56分09秒
2.文件/ora10g/app/admin/ldbra/udump/ldbra _ ora _ 12275 . TRC中的错误:
3.ORA-01221:数据文件1与后台进程不是同一文件
4.ORA-1221在以下期间发出信号:ALTER DATABASE OPEN...
转储Oracle数据文件头
引用
1.SQL & gtALTER SESSION SET EVENTS“立即跟踪名file _ HDRs level 3”;
您可以通过跟踪文件看到dbid被重置为0。
引用
1.V10样式文件头:
2.兼容性Vsn = 169870080=0xa200300
3.数据库ID=0=0x0,数据库名称='LDBRA '
4.激活ID=0=0x0
5.控制序列=8122=0x1fba,文件大小=65280=0xff00
6.文件号=1,Blksiz=8192,文件类型=3数据
另一种方法是通过bbed工具观察。
引用
1.struct kcvfhhdr,76字节@20
2.ub4 kccfhswv @20 0x00000000
3.ub4 kccfhcvn @24 0x0a200300
4.ub4 kccfhdbi @28 0x00000000
当然第一反应是重建控制文件,看能不能恢复成功。
引用
1.SQL & gt将数据库备份控制文件更改为trace
2.数据库改变了。
3.启动NOMOUNT
4.创建控制文件重用数据库LDBRA & quotRESETLOGS归档日志
5.最大日志文件16
6.MAXLOGMEMBERS 3
7.最大数据文件100
8.最大实例数8
9.MAXLOGHISTORY 292
10.登录档
11.GROUP 1 '/ora10g/app/oradata/LD bra/redo 01 . log '大小50M,
12.GROUP 2 '/ora10g/app/oradata/LD bra/redo 02 . log '大小50M,
13.组3 '/ora10g/app/oradata/LD bra/redo 03 . log '大小50M
14.-备用日志文件
15.数据文件
16./ora10g/app/oradata/LD bra/system 01 . DBF ',
17./ora10g/app/oradata/LD bra/undotbs 01 . DBF ',
18./ora10g/app/oradata/LD bra/sys aux 01 . DBF ',
19./ora10g/app/oradata/LD bra/users 01 . DBF ',
20./ora10g/app/oradata/LD bra/example 01 . DBF ',
21./ora10g/app/product/10 . 2 . 0/db _ 1/DBS/company . DBF ',
22./ora10g/app/product/10 . 2 . 0/db _ 1/DBS/streams . DBF '
23.字符集ZHS16GBK
关键词:Oracle数据库恢复
优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。本文链接:http://www.123down.cn/gonglue/227403.html