原文链接:http://www.2cto.com/database/201211/171081.html
将DMP导入到不同的表空间中
1,用imp导出数据 cmd进入orcle安装目录bin下,输入以下命令:
exp username/password@ORACLEEPP file=c:\hysjb.dmp owner=magazine_hy rows=y
2, 用imp产生index.sql文件
imp <xe_username>/<password>@XE file=<filename.dmp> indexfile=index.sql full=y
3,修改index.sql文件
FIND: 'REM<SPACE>' REPLACE: <NOTHING>
FIND: '"<SOURCE_TABLESPACE>"' REPLACE: '"USERS"'
FIND: '...' REPLACE: 'REM ...'
FIND: 'CONNECT' REPLACE: 'REM CONNECT'
ps:查看表空间的语句:
select
df.tablespace_name "TABLESPACE_NAME",totalspace "TOTALSPACE/M",freespace "FREESPACE/M",round((1-freespace/totalspace)*100,2) "USED%"
from
(select tablespace_name,round(sum(bytes)/1024/1024) totalspace from dba_data_files group by tablespace_name) df,
(select tablespace_name,round(sum(bytes)/1024/1024) freespace from dba_free_space group by tablespace_name) fs
where df.tablespace_name=fs.tablespace_name;
4,使用sqlplus进入执行此sql生成表结构
sqlplus <xe_username>/<password>@XE @index.sql
5,进入数据库diasble掉依赖。
select 'ALTER TABLE '||table_name|| ' disable constraint '||constraint_name|| '; ' from user_constraints
where constraint_type = 'R';
导出csv文件为imp.sql,删除"号,执行。
6,导入数据,cmd下执行:
imp <xe_username>/<password>@XE file=<filename.dmp> fromuser=<original_username> touser=<xe_username> ignore=y
7,将imp.sql中的disable替换成enable执行。enable依赖
小龙评论
第3步可能搜不到所有需要替换的内容,另外可能最终得到的结果无法正确执行。那就把sql挑出来单独执行即可
FIND 'REM ' REPLACE' '
FIND '... 0 rows' REPLACE ' '
第5步、第7步,如果是导入到新的数据库,就不用再禁用、启用约束。
分享到:
相关推荐
详细介绍了从Oracle数据库中导出的dmp格式的数据库文件再导入到达梦7中的操作步骤
将备份的dmp文件导入到oracle的详细过程步骤,包括创建用户、为用户分配权限等
oracle备份出来的数据可以导入到另一表空间.txt
oracle跨版本导入备份DMP报实际值最大值错误
Oracle备份dmp导入dmp的小工具,共两个工具小程序,小巧好用!
在实际工作中,有时需要将exp导出的历史备份dmp文件进行恢复,若之前的建表语句及表空间名无法找到,则直接用imp语句进行导入的话可能报错表空间不存在,且导入数据占用空间可能会非常大。使用本文方法可将exp导出的...
Oracle 19c 备份恢复-导入导出
项目开始拿到了dmp文件,数据库用的是10g的,但是尽然没导成功,后来想可能导出的时候用11导出的,决定试一下。 正好自己的机器是11的客户端,结果不识别imp命令,到安装目录下的bin文件夹下看尽然没有imp执行文件。...
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。本文介绍如何对数据进行导入导出.
很实用的数据库导入方法,总结了Oracle11g数据库备份文件的导入过程
该文件为scott账号的备份文件,导入方法: 在cmd下输入命令:imp userid=scott/tiger@XE file=C:\Users\yxt\Desktop\emp.dmp 其中scott/tiger 表示用户名/密码 @XE表示@安装的数据库实例(一般为orcl我的是XE)
Centos7.6下oracle impdp导入和expdp导出,
NULL 博文链接:https://bri-robby.iteye.com/blog/2327887
不同用户下,数据的导出和导入;oracle数据库,利用plsql操作;解决了没有sequence存在等问题
Oracle导入导出自动备份
我们常会遇到这样的问题,客户系统发现异常或问题,给我们提供了他们的数据库备份文(DMP),导我们在测试环境下无法恢复,导入数据库时报错。报错的原因是客户使用的高版本的数据库,导出的DMP在低版本数据库导入时...
项目开始拿到了dmp文件,数据库用的是10g的,但是尽然没导成功,后来想可能导出的时候用11导出的,决定试一下。 正好自己的机器是11的客户端,结果不识别imp命令,到安装目录下的bin文件夹下看尽然没有imp执行文件。...
exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于 在oracle 8i 中 ...
oracle导入导出常用命令文档 常用的exp关键字 1、full用于导出整个数据库,在rows=n一起使用,导出整个数据库的结构。 如:exp userid=gwm/gwm file=/test.dmp log=test.log full=y rows=n direct=y 2、OWNER和...
oracle10g导入11g导出数据时报版本号错误,如果直接用UE修改,又是数据较大且不能保证修改成功,网上搜集到神器,可以快捷修改dmp版本号:各版本对应版本号: 11g R2:V11.02.00 11g R1:V11.01.00 10g:V10.02.01 ...