oracle 数据恢复问题

来源:百度知道 编辑:UC知道 时间:2024/06/09 09:55:20
我用的Oracle版本是817的,采用语句“Exp UserId=System/manager@orcl buffer=4096 file=f:\备份数据\20090527.dmp log=f:\备份数据\20090527.log full=y”对数据进行的逻辑备份。
现在采用语句“IMP USERID=SYSTEM/manager BUFFER=307200 FILE=G:\20090527.dmp log=G:\20090527.log IGNORE=Y full=y”进行数据还原。
备份的数据是一台机器,Oracle安装在X盘下;还原的是一台模拟机器,Oracle安装在C盘下。其他的都安装完毕,可以在pl/sql中登录。
请教各位高手怎样才能将数据恢复,帮忙给出详细步骤,不胜感激!

你相当于把system的用户的对象在模拟机器建立,有几个问题:
1、你模拟机器安装好后,因为system是缺省安装的系统用户,system用户底下已经建立了表、存储过程等这些对象;如果你把备份机器的文件在这里全倒进来,因为重复会报错;
2、你为什么倒system用户的数据?一般开发要创建自己的用户的。
如果是其他用户,可以这样:
1、在目标数据库建立用户和源数据库一致;
2、建立和源数据库的表所分布的表空间名字一样的表空间;
3、导入

你可以试试PRM for Oracle。

ParnassusData Recovery Manager(以下简称PRM)是企业级ORACLE数据灾难恢复软件,可直接从Oracle9i,10g,11g,12c的数据库数据文件(datafile)中抽取还原数据表上的数据,而不需要通过ORACLE数据库实例上执行SQL来拯救数据。ParnassusDataRecovery Manager是一款基于JAVA开发的绿色软件,无需安装,下载解压后便可直接使用。

恢复场景1 误Truncate表的常规恢复

D公司的业务维护人员由于误将产品数据库当做测试环境库导致错误地TRUNCATE了一张表上的所有数据,DBA尝试恢复但是发觉最近的备份不可用,导致无法从备份中恢复出该数据表上的记录。 此时DBA决定采用PRM来恢复已经被TRUNCATE掉的数据。

你在要恢复的数据库中先建立原来数据库的用户以及对应的表空间,索引空间。然后就可以使用IMP命令导入数据进行恢复。