(oracle数据库还原,如何将dmp文件还原到oralce库.doc
文本预览下载声明
最近用到从oracle的dmp文件中还原数据由于没有这方面的资料,在网上搜集了一些,相信有以下这些资料,我们可以成功地将dmp文件用命令行的方式还原回去
在这里我用的是oracle10g的版本,我的机器是512内存的,运行oracle的web管理程序有一些困难,所以我选择通过命令行的方式,以下我的安装完成后,oracle给出的报告
Enterprise Manager Database Control URL - (orcl) :http://localhost:1158/em
数据库配置文件已经安装到 E:\oracle\product\10.2.0,
同时其他选定的安装组件也已经安装到 E:\oracle\product\10.2.0\db_1。
iSQL*Plus URL 为:http://localhost:5560/isqlplus
iSQL*Plus DBA URL 为:http://localhost:5560/isqlplus/dba
下面我们来看一看如何来完成这一任务
第一,启动服务,(如果数据库处于启动状态,那么略过这一步)
打开命令行执行以下语句net start OracleServiceORCLnet start? OracleOraDb10g_home2TNSListenernet start OracleOraDb10g_home2iSQL*Plus
?? 以上方式是在windows服务中启动服务,当windows服务不能启动数据库实例的时候,应用以下的语句? set oracle_sid=orcl? oradim -startup -sid orcl
? sqlplus internal/oracle? startup ?
第二清理以前还原过的痕迹,如果我们在数据库曾经还原过,我们先来清理一下,痕迹,??? //删除用户??? drop user xxxx cascade; ??? //删除表空间??? drop tablespace xxxx;??? //删除数据库文件??? e:\xxxxxx.dbf
第三,接下来,准备工作做好后,我们就可以开始还原了//创建用户CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT TABLESPACE? USERS TEMPORARY TABLESPACE TEMP?//给予用户权限grant connect,resource,dba to xxxx?
//创建表空间,并指定文件名,和大小CREATE SMALLFILE TABLESPACE xxxx DATAFILE E:\ORADATA\ORCL\xxxx.DBF ?SIZE 100M ?AUTOEXTEND ON NEXT 100M ?MAXSIZE UNLIMITED ?LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
//执行给予权限的脚本grant.txt,将权限给予刚才创建的用户//给予权限GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,?? DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,????? DBA,CONNECT,RESOURCE,CREATE SESSION? TO xxxx
//开始导入(完全导入),file:dmp文件所在的位置, ignore:因为有的表已经存在,对该表就不进行导入。?? 在后面加上 ignore=y 。指定log文件 log=e:\log.txtimp user/pass@orcl full=y file=e:\xxx.dmp ignore=y log=e:\log.txt
//当我们不需要完整的还原数据库的时候,我们可以单独地还原某个特定的表//---------------------------------------------------------------------------imp user/pass@datbase file=e:\xxx.dmp ignore=y log=e:\log.txt tables=(xxxx)imp user/pass@database file=e:\xxx.dmp ignore=y log=e:\log2.txt tables=(xxxx) //-----------------------------------------------------------------------
显示全部