怎么手动把.dmp数据导入到oracle数据库中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么手动把.dmp数据导入到oracle数据库中相关的知识,希望对你有一定的参考价值。

怎么手动把.dmp数据导入到oracle数据库中

1,使用oracle的imp命令导入*.dmp文件
首先要明确知道,使用oracle的imp命令进行导入,要在一个空的数据库下,才是最好的,否则,数据表存在的话,就要先删除数据表中的数据
步骤1:禁用约束 alter table table disable constraint FK_ForeignKey ;
使用sqlplus命令登录到oracle数据库,举例如下:
比如你要用scott这个用户进行导入数据,首先要保证这个用户有dba权限,因此要用oracle的system用户登录数据库,对scott用户授权
sqlplus system/123456
grant dba to scott
退出sqlplus 注:exit命令

sqlplus scott/tiger
删除表数据 truncate table table_name
退出sqlplus

使用这个导入命令将备份导入
imp scott/tiger@testdb full=y file=d:\scott.dmp ignore=y log=d:\log.txt
testdb :数据库名字 log=d:\log.txt为报错的时候日志记录 scott/tiger:登录用户名和密码
导出成功后,再次登录oracle
sqlplus scott/tiger
执行启用约束
alter table table enable constraint FK_ForeignKey ;
参考技术A imp命令
不过我推荐使用plsqlDevelop工具,在tools菜单下有Import Tables选项 ,用这个比较方便直观。

DMP文件导入到SQL中

oracle备份出的DMP文件,现在没有oracle环境,有什么方法能导入到SQL中吗?
哪位大神有oracle,能帮忙转换一下文件格式不?

参考技术A 1.system用户登陆plsql客户端 进入创建表空间
create tablespace tds_tde
datafile 'E:/ORACLE/ORADATA/ORCLTEST/tds_tde.dbf' size 600M reuse
autoextend on next 10M maxsize unlimited extent management local;
其中tds_tde即为表空间名称 'E:/ORACLE/ORADATA/ORCLTEST/tds_tde.dbf' 为数据库安装路径

查看表空间名称和位置:select tablespace_name,file_name from dba_data_files
2.创建一个用户, 指定其表空间为第1 步创建的表空间
create user tds_tde identified by tds_tde
profile default
default tablespace tds_tde
temporary tablespace temp
account unlock;
3. 添加dba角色
创建用户后可以看到user项多了一个用户 tds_tde,编辑改用户将其角色栏中添加dba
4.用户tds-tde登陆plsql客户端,导入dmp
用户tds-tde登陆plsql客户端,注意以Normal进入即可,点击工具、导入表 选择需要导入dmp文件,然后导入即可。
参考技术B 无法导入的,表结构都不一样,很容易造成文件缺失 参考技术C 第1步,找个同版本ORACLE环境;
第2步,在该环境中,将DMP文件导出为SQL文件(可使用PL/SQL);
参考技术D 没办法,导入oracle环境吧...

以上是关于怎么手动把.dmp数据导入到oracle数据库中的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE中用PLSQL如何把.DMP文件导入到库中?

怎么将oracle数据导成dmp格式

向oracle中导入.dmp要先创建表空间和用户吗?怎么手动创建呢?

在oracle中导入dmp文件后怎样删除

向oracle中导入.dmp要先创建表空间和用户吗?怎么手动创建呢?

oracle如何给指定的用户导入dmp