Oracle如何导出dmp文件

一:拥有oracle用户和密码

导出dmp文件

进入目录:/home/oracle/20181021

执行命令:

exp 导入数据库用户名/密码 file=导出的dmp文件 log=日志名称 owner=导出的数据库名

截图如下:

 

exp aibs/aibs file=aibs_20181021.dmp log=aibs_20181021.log owner=aibs

导入dmp文件

创建数据库实例

创建实例zntt

上传dmp文件

将数据库dmp文件放入/home/oracle/importDir

创建用户和权限

说明:

若是用户和权限行方已经给建好,则无需再次新建和赋权。

sqlplus /nolog; 

--无用户名登录,当忘记部分或者所有帐号以及密码的时候可以用此法登录。

conn /as sysdba; 

--连接到本地数据库,并以管理员身份登录。

create user jndb identified by oradb123 ;   

--创建用户名为jndb的帐号,密码为oradb123 。

grant create session to jndb;         

--授权jndb用户登录权限。

grant connect,create view ,resource ,dba to jndb;

--给表提供创建试图等权限。

grant unlimited tablespace to jndb;

--授予test用户使用表空间的权限。

导入数据库实例

在oracle用户下导入数据库实例

进入目录:/home/oracle

执行命令:

export ORACLE_SID

export ORACLE_SID=zntt

执行dmp文件

进入目录:/home/oracle/importDir

执行命令:

imp 导入数据库用户名/密码 file=导入的dmp文件 fromuser=导入数据库原用户 touser=导入数据库用户名ignore=y log=日志名称

截图如下:

 

imp zsc/zsc file=aibs_20180910.dmp fromuser=aibs touser=zsc ignore=y log=20180910imp.log

备注:

导出dmp文件时,注意DLL不要乱码了,导出dmp文件时,先查看编码集,建议执行参考命令:

设置环境变量:

export NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8 

一:无oracle用户

方法一PL/PLSQL

利用PL/SQL Developer工具导出:

菜单栏---->Tools---->Export Tables,如下图

 

注意:若是导出闪退,处理方式如下

设置环境变量

变量名:ORACLE_HOME

变量值:为Oracle安装bin目录的上一级目录

假如你的bin目录就在C:\app\denggh\product\11.1.0\db_2\bin,那么变量值就设置为C:\app\denggh\product\11.1.0\db_2

如下:

方法二cmd

方法二:利用cmd的操作命令导出,详情如下):

1:C:\app\denggh\product\11.1.0\db_2\Network\Admin\目录下有个tnsname.ora文件,内容如下:

yun =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.9.200.136)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = aibs)

    )

  )

其中:yun为数据库名,HOST为IP地址,所以可以仿效上面的例子手动添加数据录连接。

2:用cmd进入命令行

输入:tnsping yun

就是测试192.9.200.136是否连接成功

3:导入与导出,如下:

数据导出:

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

   exp system/manager@yun file=d:\daochu.dmp full=y

 2 将数据库中system用户与sys用户的表导出

   exp system/manager@yun file=d:\daochu.dmp owner=(system,sys)

 3 将数据库中的表table1 、table2导出

   exp system/manager@yun file=d:\daochu.dmp tables=(table1,table2)

 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出

   exp system/manager@yun file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"

 

  上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。

  不过在上面命令后面 加上 compress=y  就可以了 .

  

数据的导入

 1 将D:\daochu.dmp 中的数据导入 TEST数据库中。

   imp system/manager@TEST  file=d:\daochu.dmp

   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

   在后面加上 ignore=y 就可以了。

 2 将d:\daochu.dmp中的表table1 导入

 imp system/manager@TEST  file=d:\daochu.dmp  tables=(table1)

注意事项:导出dmp数据时需要有导出表的权限的用户,否则不能导出

 

 

 

 

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值