Oralce 11g 恢复 .dmp 文件方法及过程

Oralce 11g 恢复 .dmp 文件方法及过程

主要过程为:新建表空间 -> 新建用户 -> 授予用户权限 -> 恢复备份

〇、删除用户及表空间(如需要)

若要恢复的数据的用户和表空间之间恢复(使用)过,就最好删除并重新创建。

1. 删除用户

drop user autohome cascade;

2. 删除表空间

drop tablespace autohome;
  •  

3. 去文件夹删除表空间文件

D:\oracle_data\autohome.dbf

一、新建表空间

要恢复的数据量比较大,dmp文件超过了2个GB,所以最好能创建一个临时表空间加快导入速度:

create temporary tablespace autohome_temp tempfile'D:\oracle_data\autohome_temp.dbf' size 1024m autoextend on next 100m maxsize 10240m extent management local;
  •  

创建完临时表空间后,创建“正式”的表空间:

create tablespace autohome logging datafile'D:\oracle_data\autohome.dbf' size 1024m autoextend on next 100m maxsize 10240m extent management local;
  •  

二、新建用户

新建的用户最好能够与原有的用户名字保持一致:

create user autohome identified by autohome default tablespace autohome temporary tablespace autohome_temp;
  •  

三、授予用户权限

grant connect,resource,dba to autohome;
  •  

以上操作在SQLplus/PLSQL中执行,恢复备份命令在命令行中执行。


四、恢复备份

使用 imp 方法恢复dmp 文件备份,指明原用户与新用户名字,不需要 full=y

imp 用户名/密码 BUFFER=64000 file="dmp文件路径" FROMUSER=autohome TOUSER=你用户 ignore=y
  •  
imp autohome/autohome BUFFER=64000 file="D:/aaa/autohome.dmp" FROMUSER=autohome TOUSER=autohome ignore=y
  •  
  • 注意文件路径里的斜杠。 ‘/’ not ‘\’

五、报错

在执行最后的导入命令时,开始正常导入了数据,但随后报了一堆错误,最后也提示终止导入进程了。但是最后查了一下数据量没什么毛病,可能是从MySQL 转到Oracle 格式中出现的一些问题吧,好在不影响最后成功导入。

  • 以下是执行导入命令时的错误信息:

d:\oracle\dbhome_1\BIN>imp autohome/autohome BUFFER=64000 file=”D:/oracle/orcl_backup/autohome20180609.dmp” FROMUSER=autohome TOUSER=autohome ignore=y

Import: Release 11.2.0.1.0 - Production on 星期二 6月 12 16:48:54 2018

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production 
With the Partitioning, OLAP, Data Mining and Real Application Testing options

经由常规路径由 EXPORT:V11.01.00 创建的导出文件 
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入 
. . 正在导入表 “MD_ADDITIONAL_PROPERTIES”导入了 12 行 
. . 正在导入表 “MD_APPLICATIONFILES”导入了 0 行 
. . 正在导入表 “MD_APPLICATIONS”导入了 0 行 
………………………………………………….. 
. . 正在导入表 “MD_PRIVILEGES”导入了 212 行 
. . 正在导入表 “MD_PROJECTS”导入了 1 行

. . 正在导入表 “MIGR_DATATYPE_TRANSFORM_MAP”导入了 1 行 
. . 正在导入表 “T_KOUBEI”导入了 753602 行 
IMP-00017: 由于 ORACLE 错误 1917, 以下语句失败: 
“GRANT ALTER ON “T_KOUBEI” TO “ROLE_AAA”” 
IMP-00003: 遇到 ORACLE 错误 1917 
ORA-01917: 用户或角色 ‘ROLE_AAA’ 不存在 
IMP-00017: 由于 ORACLE 错误 1917, 以下语句失败: 
“GRANT DELETE ON “T_KOUBEI_LABLE” TO “ROLE_AAA”” 
IMP-00003: 遇到 ORACLE 错误 1917 
IMP-00017: 由于 ORACLE 错误 1917, 以下语句失败: 
“GRANT FLASHBACK ON “T_KOUBEI_LABLE_S” TO “ROLE_AAA”” 
IMP-00003: 遇到 ORACLE 错误 1917 
ORA-01917: 用户或角色 ‘ROLE_AAA’ 不存在 
IMP-00041: 警告: 创建的对象带有编译警告 
“CREATE FORCE VIEW “AUTOHOME”.”MGV_ALL_TABLES_DETAILS” ” 
” (“OBJTYPE”,”OBJNAME”,”OBJID”,”MAINOBJTYPE”,”MAINOBJNAME”,”MAINOBJID”,”SCH” 
“EMANAME”,”SCHEMAID”,”CATALOGNAME”,”CATALOGID”,”CONNNAME”,”CONNID”,”PROJECTN” 
“AME”,”PROJECTID”,”CAPTUREDORCONVERTED”,”QUALIFIEDNAME”) AS ” 
“SELECT ‘MD_TABLES’ objtype, t.table_name objname, t.id objid, ‘MD_TABLES’ ” 
“MainObjType,t.table_name MAINOBJNAME, t.id MAINOBJID, s.name SchemaName, s.” 
“id schemaid, cat.catalog_name catalogname,cat.id catalogid, conn.name connn” 
“ame,conn.id connid,proj.project_name projectname,proj.id projectid,” 
“NVL(conn.type,’CAPTURED’) CapturedOrConverted, ” 
“CASE WHEN conn.type IS NULL THEN md_meta.quote(cat.catalog_name,s.name,t.” 
“table_name,conn.id)” 
” ELSE s.name || ‘.’ || t.table_name END Qualif” 
“iedName” 
“FROM MD_TABLES t,MD_SCHEMAS s, MD_CATALOGS cat,MD_CONNECTIONS conn, MD_PROJ” 
“ECTS proj” 
“WHERE t.schema_id_fk = s.id” 
“AND s.catalog_id_fk = cat.id” 
“AND cat.connection_id_fk = conn.id” 
“AND conn.PROJECT_ID_FK = proj.id” 
……… 
“FROM MD_PARTITIONS p, MD_TABLES t,MD_SCHEMAS s, MD_CATALOGS cat,MD_CONNECTI” 
“ONS conn, MD_PROJECTS proj” 
“WHERE p.table_id_fk = t.id” 
“AND t.schema_id_fk = s.id” 
“AND s.catalog_id_fk = cat.id” 
“AND cat.connection_id_fk = conn.id” 
“AND conn.PROJECT_ID_FK = proj.id” 
IMP-00041: 警告: 创建的对象带有编译警告 
“CREATE FORCE VIEW “AUTOHOME”.”MGV_ALL_DETAILS” (“OBJ” 
“TYPE”,”OBJNAME”,”OBJID”,”MAINOBJTYPE”,”MAINOBJNAME”,”MAINOBJID”,”SCHEMANAME” 
“”,”SCHEMAID”,”CATALOGNAME”,”CATALOGID”,”CONNNAME”,”CONNID”,”PROJECTNAME”,”P” 
“ROJECTID”,”CAPTUREDORCONVERTED”,”QUALIFIEDNAME”) AS ” 
“SELECT “OBJTYPE”,”OBJNAME”,”OBJID”,”MAINOBJTYPE”,”MAINOBJNAME”,”MAINOBJID”,” 
“”SCHEMANAME”,”SCHEMAID”,”CATALOGNAME”,”CATALOGID”,”CONNNAME”,”CONNID”,”PROJ” 
“ECTNAME”,”PROJECTID”,”CAPTUREDORCONVERTED”,”QUALIFIEDNAME” FROM MGV_ALL_CAT” 
“ALOG_DETAILS” 
“UNION ALL” 
…………… 
“select d1.catalogid capcatalogid,” 
” d1.catalogname capcatalogname,” 
” d1.connid capconnid,” 
” d1.connname capconnname,” ” d2.qualifiedname conqualifiedname,” 
” d2.schemaid conschemaid,” 
………………… 
” d2.schemaname conschemaname,” 
” der.derivative_reason,” 
” der.transformed” 
” FROM mgv_all_details d1” 
” LEFT OUTER JOIN md_derivatives der” 
” ON der.src_id = d1.objid” 
” AND der.derivative_reason IS NULL” 
” LEFT OUTER JOIN mgv_all_details d2” 
” ON der.derived_id = d2.objid” 
” WHERE d1.capturedorconverted = ‘CAPTURED’” 
” AND der.derivative_reason IS NULL” 
即将启用约束条件… 
成功终止导入, 但出现警告。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值