• Oracle数据库备份/导入工具


      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。就是中间的时间变量是当前日期,如果不是,手工修改再执行。

  • 相关阅读:
    git Permissions 0777 for '/home/xxx/.ssh/id_rsa' are too open.
    Linux wc指令解析
    RK3288 开机动画旋转
    tp3.2 事务
    PHP实现动态获取函数参数的方法
    laravel 配置设置
    swoole 使用异步redis的前置条件
    php回调函数的概念及实例
    swoole 安装
    linux 源码安装PHP
  • 原文地址:https://www.cnblogs.com/linyfeng/p/7719344.html
Copyright © 2020-2023  润新知