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

怎么手动把.dmp数据导入到oracle数据库中,第1张

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:\scottdmp ignore=y log=d:\logtxt

testdb :数据库名字 log=d:\logtxt为报错的时候日志记录 scott/tiger:登录用户名和密码

导出成功后,再次登录oracle

sqlplus scott/tiger

执行启用约束

alter table table enable constraint FK_ForeignKey ;

在Oracle中使用exp和imp导出,导入dmp数据库文件: 一,oracle数据库导出工具 exp: 1 它是一个可执行的文件 存放目录/ORACLE_HOME/bin exp导出工具将数据库中数据备份压缩成一个二进制系统文件 它有三种模式: a 用户模式:导出用户所有对象

在运行中输入cmd d出命令行窗口 ,找到你的oracle 的安装目录 找到bin目录 之后 在bin目录下 输入:imp userid=用户名/密码@orcl file=d:\nc60dmp full=y用户名 :就是你的目标用户 。密码 :就是你的目标用户登录密码。orcl:是实例名称 就是数据库名file:就是你要导入的dmp文件全路径。full=y 是否全部导入 只有当前用户是dba的时候 才能用此选项 。希望能帮助你。

关于dmp文件我们用的还是比较多的,dmp文件它是作为oracle导入和导出表使用的文件格式,今天就将dmp文件导出和导入进行学习。

dmp文件导出

dmp文件导出用的比较多的一般是三种,他们分别是:导出整个数据库实例下的所有数据、导出指定用户的所有表、导出指定表。

这里已我的数据库为例,进行介绍,我的Oracle数据库实例为"ORACLE",查看自己数据库实例可以从"任务管理器-->服务"中进行查看,如下图

打开命令行:

1,将数据库ORACLE完全导出,用户名system密码manager 导出到c:\daochudmp中

exp system/manager@ORACLE  file=c:\daochudmp full=y

2,将数据库中RFD用户与,JYZGCX用户的表导出

exp system/manager@ORACLE  file=d:\daochudmpowner=(RFD,JYZGCX)

3,将数据库中的表T_USER、T_ROLE导出

expJYZGCX/JYZGCX@ORACLEfile=  d:\data\newsmgntdmp tables=(T_USER,T_ROLE)

上面的system为用户名,manager为密码,ORACLE为数据库实例名,其实不一定非的用system用户,只要是拥有管理员权限的用户都可以。

dmp文件导入

1,打开“开始”-->输入cmd—> sqlplus /nolog;

2,输入 conn / as sysdba管理员账户登录;

3,需要创建表空间,如果我们知道需要导入的数据库的表空间直接创建就可以,如果不不知道,也没有关系,我们可以用txt打开dmp文件,使用快捷键ctrl+F,查找tablespace,就可以找到这个dmp文件所对应数据库的表空间,然后创建我们找到的表空间就可以;

步,不创建的表空间,创建用户,并分配权限;

5,打开“开始”-->输入cmd(注意:这里是cmd窗口,不是sqlplus窗口!!!),输入以下语句:“imp  kang/123456@localhost/ORACLEfile="C:\daochudmp"full=y ignore=y”

上述语句说明如下:

kang是创建的登录数据库用户名;

123456是登录数据库的密码;

localhost:代表当前数据库的地址是本机,如果是远程导入,替换成对应的ip地址就行

ORACLE:是实例名称)

file:后面的是你当前dmp文件存放的路径

full=y,这个貌似是全部

ignore=y,忽略一些错误

导入dmp数据库文件有IMP和IMPDP两种方法,IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件:

1、IMP方法

(1)导入数据库

imp system/密码@数据库实例名 file=G:\dmp full=y

(2)导入方案

导入自身方案

imp 用户名/密码@数据库实例名 file=G:\dmp fromuser=原用户 touser=目标用户

导入非自身方案

imp system/密码@数据库实例名 file=G:\dmp fromuser=原用户 touser=system

(3)导入表

导入自身方案的表

imp 用户名/密码@数据库实例名 file=G:\dmp tables=表名

导入非自身方案的表

exp system/密码@数据库实例名 file=G:\dmp owner=表名 fromuser=原用户 touser=system

2IMPDP

(1)导入数据库

impdp system/密码 directory=dir_dp_wk dumpfile =dmp full=y;

(2)导入方案

impdp 用户名/密码 directory=dir_dp_wk schemas=方案名 dumpfile =dmp;

(3)导入表

impdp 用户名/密码 directory=dir_dp_wk dumpfile =dmp tables=表名;

注意:dir_dp_wk 为目录,需要自己创建并授权。

用工具(pl/sql):工具->导入表->Oracle导入,填写导出用户,与要导入的用户(目标用户),界面上应该是从用户 和 到用户,选择你的dump文件位置,非导入可执行文件选项,点击导入就可以了。

命令行方式:imp userid=user/password@SID file='d:\xxxdmp' fromuser=xxxx touser=yyyy commit=y buffer=100000000

这是数据较多的情况,如果数据不多,可以不加commit与buffer参数,userid是目标数据库的用户。

以上就是关于怎么手动把.dmp数据导入到oracle数据库中全部的内容,包括:怎么手动把.dmp数据导入到oracle数据库中、mySQL 中怎么将dmp文件导入数据库、oracle怎么导入dmp文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10155542.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存