在oracle中使用exp和imp导出,导入dmp数据库文件:
一,oracle数据库导出工具
exp:
1
它是一个可执行的文件
存放目录/oracle_home/bin
exp导出工具将数据库中数据备份压缩成一个二进制系统文件
它有三种模式:
a
用户模式:导出用户所有对象
Oracle 10g导入导出语法:
一、创建备份目录并授权(以管理员账户登录,授权)
C:\sqlplus system/password@orcl
create directory databf as 'E:\databasebak'
目录已创建。指定导入导出文件及日志文件存放的目录
SQL> grant read, write on directory databf to scott
授权成功。
二、备份导出(此用户名和密码为scott,即要导出的用户下的数据)
expdp 用户名/密码@orcl DIRECTORY=databf DUMPFILE=用户名dmp logfile=用户名log SCHEMAS=用户名
三、scott(原用户)用户下的数据导入到liu(新用户)账户下
impdp 新用户/新用户密码@数据库实例 dumpfile=导出时文件名dmp remap_schema=原用户:新用户
四高版本的oracle导出,然后导入到低版本的oracle
例子
源端版本 :11203
目标端版本:102010
源端导出
Expdp zzz/oracle@clodb directory=dump dumpfile=exp_zzzdmp schemas=zzz version=102010
目标端导入
Impdp ppp/oracle@leijj directory=dump dumpfile=exp_zzzdmp schemas=zzz remap_schema=zzz:ppp
关于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,忽略一些错误
1、首先进入命令行,点击开始,输入cmd。
2、键盘按回车键,出现命令行窗口。
3、接着导入的命令是:imp 用户名/密码@网络服务名 file=xxxdmp full=y。
4、导出的命令是:exp 用户名/密码@网络服务名 file=xxxdmp tables=(表名)
5、就可以进行dmp数据库表结构和表数据的同时导入导出了,这样就完成了。
你的数据库实例是什么就是SID
命令如下:
imp
kxd/kxd@SID
file=C://project/1dmp,FULL=Y
导入过程中,会出现提示的,会提示
正在导入
X表
。。。。。。
2000行
正在导入
Y表
6000行
等等这种信息,你只要看最后显示导入成功,那么就是导入成功了,
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 ;
1、首先,我们可以先建立自己的一个用户表空间,创建表空间的格式如下:
create tablespace test(表空间的名字)
datafile 'D:\oracle\product\1020\userdata\testdbf' (这边可以写成oracle的某个路径下)
size 50m (初始大小)
autoextend on;(自动扩展)
2、接下来,我们可以创建一个自己的用户,创建格式如下:
CREATE USER utest (用户名)
IDENTIFIED BY upassword(密码)
DEFAULT TABLESPACE test(上面创建的表空间)
TEMPORARY TABLESPACE temp;(临时表空间就写temp即可)
3、然后,我们需要给自己的用户赋予权限来管理自己的表空间
GRANT CONNECT TO utest;
GRANT RESOURCE TO utest;
GRANT dba TO utest;--dba为最高级权限,可以创建数据库,表等。
以上三条语句的执行环境都需要进入oralce之后
cmd下进入oracle的方式
sqlplus system/密码 回车即可
以上就是关于mySQL 中怎么将dmp文件导入数据库全部的内容,包括:mySQL 中怎么将dmp文件导入数据库、如何在oracle中导入dmp数据库文件、oracle怎么导入dmp文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)