oracle数据库问题(100分)

  • 主题发起人 panyongze
  • 开始时间
P

panyongze

Unregistered / Unconfirmed
GUEST, unregistred user!
oracle数据库系统被破坏,但数据包是完整的,如何把数据恢复出来!
 
“数据包是完整的”是什么意思?
“数据库系统被破坏”是指ORACLE系统本身而不是数据库被破坏吗?
如果是这样的话,备份->重装相同版本的ORACLE,
创建相同结构(数据库名、块大小等)的数据库
再把数据文件指向原来的数据文件的位置就OK了。
 
只剩下了DAT文件,文件是2G左右,里面有很多用户和数据表,不知能否把数据恢复出来。
 
oracle系统的system表空间有两个数据文件,其中一个遭到破坏,且没有备份,
这种情况下如何能启动数据库。
 
比较麻烦!
我不清楚你的数据库环境是怎么样的,包括数据库运行在什么方式下(ARCHIVELOG or NOARCHIVELOG)
你可以找找ORACLE的资料《Oracle8i Backup and Recovery Guide》看看
下面我的试验可能对你有一些帮助吧(请先备份数据)
我在SYSTEM表空间加了一个数据文件“F:/ORACLE/ORADATA/SYSTEM02.DBF”
关闭数据库, 把新加入的文件删除。
由于缺少文件,数据库不能启动。
进入svrmgrl, connect internal或以SYSDBA身份连接
关闭实例后用startup mount装载数据库。
发布如下命令重新创建一个数据文件:
SVRMGR> alter database create datafile 'F:/ORACLE/ORADATA/SYSTEM02.DBF' as 'F:/ORACLE/ORADATA/SYSTEM02.DBF';
然后用命令:recover database完成介质的恢复。再alter database open即可打开数据库了。

由于我丢失的数据文件只是个空文件,所以可以顺利恢复成功
你可以照我做的试试,可能最后要用recover database until cancel来恢复
至于能不能恢复成功及能恢复多少我就不知道了。
 
问题没有解决,不过非常感谢xianjun的参与。
 
顶部