expdp和impdp常用于ORACLE数据库的导入导出。

expdp导出数据库

1、root用户创建用于impdp/expdp导入导出的目录;

# mkdir -p /home/dmpdata
# chown oracle:oinstall /home/dmpdata

2、切换到oracle用户,dba用户登录创建逻辑目录

sqlplus / as sysdba
SQL> create directory DMP_DATA_DIR as '/home/dmpdata'; #创建
SQL> select * from dba_directories; #查看创建结果

说明:如果已经存在DMP_DATA_DIR目录但是值不同,可先执行drop directory DMP_DATA_DIR;删除重建。

3、给待导出数据库用户TEST赋予在指定目录DMP_DATA_DIR的操作权限

SQL> grant read,write on directory DMP_DATA_DIR to TEST;

4、导出TEST数据库

expdp system/oracle schemas=TEST dumpfile=TEST_20171020.dmp DIRECTORY=DMP_DATA_DIR logfile=expdp_TEST_20171020.log

5、检查/home/dmpdata路径下导出的dmp文件、expdp导出日志结果显示successfully completed则表示导出成功,结束。

impdp导入数据库

前提:预先创建好导入数据库涉及的表空间。如果是大数据量导入,确保空间足够。

方法一:不预先创建数据库,impdp直接导入自动创建TEST2数据库用户,密码为TEST数据库密码。也就是与旧的数据库密码一致。

impdp system/oracle remap_schema=TEST:TEST2 directory=DUMP_DATA_DIR dumpfile=expdp_TEST_20171020.dmp logfile=impdp_TEST2_20171020.log

方法二:预先创建数据库,impdp导入待EXCLUDE=user参数,可以避免出现ORA-31684错误。

1、预先创建数据库

SQL> create user test2 identified by test2;
SQL> grant dba,connect,resource to test2;
SQL> grant read,write on directory DMP_DATA_DIR to TEST2;

2、导入备份的数据库

impdp system/oracle remap_schema=TEST:TEST2 EXCLUDE=user directory=DUMP_DATA_DIR dumpfile=expdp_TEST_20171020.dmp logfile=impdp_TEST2_20171020.log

说明:如果导入的表空间发生变化,可以使用remap_tablespace=old_tablespace:new_tablespace解决,类似remap_schema参数

基本设计思路

参考impdp/expdp手工操作

使用方法

1、下载代码:exp_imp_oradb.sh

2、登录root用户,创建/home/dmpdata目录,并赋权限chown oracle:oinstall  /home/dmpdata

3、上传expimp_db.sh文件到oracle用户的相关目录下,可任意目录。

4、执行chmod +x exp_imp_oradb.sh赋予可执行权限。

5、执行expimp_db.sh imp db1 [db2] 导入数据库 或者expimp_db.sh exp db1 [db2] 导出数据库

说明:导入时数据库的dmp文件名为expdp_${CURRENT_DATE}_${dbname}.log。就是中间的时间变量是当前日期,如果不是,手工修改再执行。

Oracle数据库备份/导入工具的更多相关文章

  1. Oracle数据库备份还原工具之Expdp/IMPdp

    使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用, ...

  2. Oracle数据库备份/导出(exp/expd)、导入(imp/impd)

    ​ 常用的oracle数据库备份(导入/导出)有两种,分别是exp/imp和expd/impd,前者是Orace早期版本带有的导入导出工具,后者是Oracle10g后出现的,下面进行分别介绍! 1.e ...

  3. oracle数据库数据导入导出步骤(入门)

    oracle数据库数据导入导出步骤(入门) 说明: 1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL 2.如果熟悉命令,建议用exp/imp ...

  4. Oracle数据库备份、灾备的23个常见问题

    为了最大限度保障数据的安全性,同时能在不可预计灾难的情况下保证数据的快速恢复,需要根据数据的类型和重要程度制定相应的备份和恢复方案.在这个过程中,DBA的职责就是要保证数据库(其它数据由其它岗位负责) ...

  5. oracle数据库备份

    --数据库备份--导出 exp userid=shoppingsys/shoppingsys@orcl file=/home/oracle/shoppingsys.dmp log=/home/orac ...

  6. Oracle使用——Linux系统下使用命令实现oracle数据库数据导入

    背景 在工作当中,数据库的备份及数据导入是必不可少的操作,在完全无界面的Linux操作系统中,我们应该怎样实现oracle数据库的导入呢 前提 服务器已配置ftp 模拟环境 一台linux应用服务器上 ...

  7. Oracle数据库备份还原笔记

    Oracle数据库备份还原笔记 通过查阅资料知道Oracle备份还原的方式有三种.分别的是导出/导入.热备份和冷备份.导出/导入是一种逻辑备份.而热备份和冷备份是物理备份.[参考资料(https:// ...

  8. Java实现Oracle数据库备份

    今天将很早就实现的一个Oracle数据库备份功能粘贴出来,这个功能是在大学做阶段设计时写的: import java.io.File; import java.io.IOException; /** ...

  9. Oracle数据库备份及还原

    Oracle数据库备份 1:找到Oracle安装路径我的就是默认C盘  C:\app\wdjqc\admin\orcl\adump 2:执行文件:back.bat 文件内容如下: @echo off ...

随机推荐

  1. PHP正则配合写配置文件导致Getshell

    PHP正则配合写配置文件导致Getshell,偶然间看到的一个题目, p 牛的小密圈的一个问题. 分析一下,漏洞代码: index.php <?php $str=addslashes($_GET ...

  2. java加减天数

    指定日期的加减天数 public static String setDay(int num,String newDate) throws ParseException{ SimpleDateForma ...

  3. spark使用hadoop native库

    默认情况下,hadoop官方发布的二进制包是不包含native库的,native库是用C++实现的,用于进行一些CPU密集型计算,如压缩.比如apache kylin在进行预计算时为了减少预计算的数据 ...

  4. 值得收藏的45个Python优质资源

    REST API:使用 Python,Flask,Flask-RESTful 和 Flask-SQLAlchemy 构建专业的 REST API https://www.udemy.com/rest- ...

  5. 排序算法的python实现

    几个排序算法 几个排序算法 冒泡排序 选择排序 插入排序 快速排序 quick sort 冒泡排序

  6. Django中的中间件(middleware)

    中间件: 在研究中间件的时候我们首先要知道 1 什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围内改变Djang ...

  7. [SDOI2016]生成魔咒(后缀自动机)

    /* 水题, 根据性质做就行, nq不会对答案产生贡献, 那么只算p的贡献就好了 */ #include<cstdio> #include<algorithm> #includ ...

  8. 获取图片src

    用jquery获取图片src(不知道为什么总是undefined): $('img').eq(i).src; $('img').eq(i).attr('src'); //上面两种都是获取不到,不知道为 ...

  9. python 27 获取时区转换后的时间

    python3的datetime有timezone属性,这里介绍python2.7环境下,获取时区转换后的时间. 利用第三方插件,pytz,没有安装的话安装一下. #!/usr/bin/env pyt ...

  10. 剑指Offer(四):重建二叉树

    说明: 1.本系列是根据<剑指Offer>这个系列做的一个小笔记. 2.直接动力是因为师兄师姐找工作很难,而且机械出生的我面试算法更难. 3.刚开始准备刷LeetCode.LintCode ...