oracle 导入导出数据

Posted 丶柚子

tags:

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

关于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\\newsmgnt.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:\\workFile\\cygjj0606.dmp"  full=y;

 

流程SQL命令:

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

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

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

CREATE TEMPORARY TABLESPACE CYGJJTEMP TEMPFILE \'E:\\cydmp\\CYGJJTEMP.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:\\CYDMP\\CYGJJls.DBF\' autoextend ON NEXT 50M maxsize 20000M;
ALTER DATABASE datafile \'E:\\CYDMP\\CYGJJ.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:\\cydmp\\cygjj0612.dmp" full=y ignore=y;
imp cygjjls/cygjjls@localhost/orcl file="E:\\cydmp\\cygjjls0602.dmp" full=y ignore=y;

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

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

 owner=db_user file=d:db_user.dmp

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

小结 

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

以上是关于oracle 导入导出数据的主要内容,如果未能解决你的问题,请参考以下文章

oracle 数据库导入导出语句

oracle怎么把数据导入导出啊

oracle数据库的导入对于用户需要啥权限? 必须用导出时的用户导入么?

oracle 导入导出

oracle 数据库导入导出

oracle中怎样把表、表空间导入或导出?