oracle 导入导出数据

oracle的dmp数据文件的导出和导入以及创建用户

 

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

dmp文件导出

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

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

复制代码
打开命令行:

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

exp system/manager@ORACLE file=c:daochu.dmp full=y

 

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

exp system/manager@ORACLE file=d:daochu.dmpowner=(RFD,JYZGCX)

 

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

expJYZGCX/JYZGCX@ORACLEfile= d:data
ewsmgnt.dmp 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:daochu.dmp"full=y ignore=y” 上述语句说明如下: kang是创建的登录数据库用户名; 123456是登录数据库的密码; localhost:代表当前数据库的地址是本机,如果是远程导入,替换成对应的ip地址就行 ORACLE:是实例名称) file:后面的是你当前dmp文件存放的路径 full=y,这个貌似是全部 ignore=y,忽略一些错误
复制代码

  

导入给指定用户:

  imp system/111111@orcl fromuser=aaa touser=bbb file=aaa.dmp

创建新用户:    

1 create user uepro identified by uepro default tablespace orcl temporary tablespace orcl  ACCOUNT UNLOCK;
2 GRANT CONNECT TO uepro; 连接数据库
3 GRANT RESOURCE TO uepro; 
4 grant alter,delete,update,insert,select on 表名 to 用户名;

正常逻辑:

登录oracle数据库,创建用户root;给用户赋表空间;给用户赋权限角色;

or

在CMD窗口下非ORACLE工作环境下

imp root/root@localhost/orcl file="E:workFilecygjj0606.dmp"  full=y;

流程SQL命令:

CREATE TABLESPACE CYGJJ DATAFILE 'E:cydmpCYGJJ.DBF' SIZE 32M;

CREATE TEMPORARY TABLESPACE CYGJJLSTEMP TEMPFILE 'E:cydmpCYGJJLSTEMP.DBF' SIZE 32M;

CREATE TABLESPACE CYGJJLS DATAFILE 'E:cydmpCYGJJLS.DBF' SIZE 32M;

CREATE TEMPORARY TABLESPACE CYGJJTEMP TEMPFILE 'E:cydmpCYGJJTEMP.DBF' SIZE 32M;

create user cygjj identified by cygjj ACCOUNT UNLOCK default tablespace cygjj;
create user cygjjls identified by cygjjls ACCOUNT UNLOCK default tablespace cygjjls;

grant dba to cygjj;
grant dba to cygjjls;

ALTER DATABASE datafile 'E:CYDMPCYGJJls.DBF' autoextend ON NEXT 50M maxsize 20000M;
ALTER DATABASE datafile 'E:CYDMPCYGJJ.DBF' autoextend ON NEXT 50M maxsize 20000M;

alter user cygjj identified by cygjj default tablespace cygjj;
alter user cygjjls identified by cygjjls default tablespace cygjjls;

imp cygjj/cygjj@localhost/orcl file="E:cydmpcygjj0612.dmp" full=y ignore=y;
imp cygjjls/cygjjls@localhost/orcl file="E:cydmpcygjjls0602.dmp" full=y ignore=y;

 按照用户导出数据(按用户导出的数据源 不用要求用户,表空间名匹配)

windows 导出数据库DMP文件
C:UsersAdministrator>exp db_user/user

 owner=db_user file=d:db_user.dmp

windows 导出数据库DMP文件
C:UsersAdministrator>exp 用户名/用户密码
 owner=用户名 file=导出路径

小结 

  本篇文章主要讲述了,oracle数据导出和导入的具体步骤,其中导入dmp文件的时候即便不知道表空间、用户名和密码也可以进行导入。Oracle的学习确实是路漫漫其修远兮啊!

原文地址:https://www.cnblogs.com/UUUz/p/9190940.html