如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com
1、介绍
这篇文档描述如何使用DUL,而不是完整的DUL功能描述。
DUL是用来替代其他方法无法实现的数据校验。也就是无法用export和SQL*Loader。数据库可能被损坏但数据库必须100%是正确的。在导出时会检查确认所有的数据库都是正确的并属于正确的段。如果DUL发现了错误的块,错误信息会被输出到文件里,但是并不会中断导出下一行或下一个块。
2、使用DUL
首先要检查你要导出的对象是否有相应的信息在数据库里。
会去从USER$, OBJ$, TAB$ 和 COL$中检索信息。
DUL会从系统表空间里获取信息,系统表空间数据文件必须包含控制文件,如果系统表空间文件不存在,那么看第六步。
2.1创建合适的“init.dul”文件
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
REM平台指定参数(NT)
REM能获取的最常见平台的参数列表:。
osd_dba_file_bits=10
osd_c_struct_alignment=32
osd_file_leader_size=1
osd_word_size=32
REM dul字典缓冲区大小如果其中一个值过低,启动将会失败。
dc_columns=2000000
dc_tables=10000
dc_objects=1000000
dc_users=400
dc_segments=100000
控制文件的位置和文件名,默认值在control.dul里
REM 在当前的路径control_file=D:\Dul\control_orcl.dul
数据库块大小,可以在init.ora中的文件中找到,或在服务器管理器中执行“show parameter %db_block_size%” 被检索到,将该参数更改为损坏数据块的块大小。
db_block_size=4096
当数据需要导出/导入格式,它可以/必须被指定。REM必须制定导出/导入的文件格式。REM必须创建一个可以被入工具使用的文件,虽然生成的文件与由EXP工具生成的表模式导出完全不同。它是一个有创建表结构语句和表数据的表转储文件。grants,存储子句,触发器不包括在这个转储文件中!
export_mode=true
(false表示是sqlloader,true表示imp)
REM兼容参数可以设置为6,7或者8
compatible=8
该参数是可选的并能在REM不支持的长文件名(e.g. 8.3 DOS)的平台,或当文件格式DUL使用 “owner_name.table_name.ext”不可接受时被指定。在这里,转储文件会类似dump001.ext,dump002.ext,等。
file = dump
2.2创建”control.dul”文件
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在数据库mount的状态下,你可以执行下面的查询语句知道数据库的逻辑表空间和物理数据文件结构
Oracle 6, 7
———–