• 异构环境oracle数据库迁移dmp文件之exp和imp以及expdp和impdp


    exp/imp可在以下情况下使用

    两个数据库之间传送数据

      1.同一个oracle数据库的版本之间

      2.不同oracle数据库的版本之间

      3.相同或不相同的操作系统之间的oracle数据库

    用于数据库的备份与恢复

    从一个数据库用户传送到另一个用户中

    从一个表空间传送到另一个表空间中

    创建一个表空间

    create tablespace bank_tbs(数据库表空间) datafile '/oracle/test(数据路径) bank_data02.dbf(数据文件名)' size 5M autoextend on maxsize 10G;      

    创建用户时指定表空间

    create user bankuser identified by bankpwd default tablespace bank_tbs;

    使用export导出数据

    exp bankuser/bankpwd file='/backup/bankuser.dmp' log='/backup/bankuserExp.log'             格式为exp 用户名/密码 file=导出路径及文件名称

    使用import导入数据

    imp bankuser/bankpwd file=/backup/bankuser.dmp  full=y               注意后面这个full=y,这是指全部导入,也可以指定某个表的表名

    为了有明显效果,我们可以先用bankuser用户创建一个表,然后exp,接着进入sqlplus删掉这个表,最后imp就会发现数据库恢复了

    如果是在windows环境的话,貌似还需要在用户名/密码后面加上@数据库名及ORACLE_SID

    使用另一种方法expdp实现备份数据库

    首先在sqlplus中执行,使用sysdba登录,因为涉及到grant权限

    create or replace directory  expdp_dir as '/home/oracle/expdp_dir';

    grant read,write on directory to dbauser;

    退出sqlplus,进入oracle家目录

    创建文件夹

    mkdir expdp_dir

    修改权限

    chmod 777 expdp_dir

    导出数据 

    expdp dbauser/123456 directory=expdp_dir(这里不再需要使用绝对路径) dumpfile=backuptest.dmp logfile=backuptestlog.log

    导入数据

    impdp dbauser/123456 directory=expdp_dir(这里不再需要使用绝对路径) dumpfile=backuptest.dmp logfile=backuptestlog.log

    也可以把参数写入到配置文件中

    [oracle@localhost ~]$ cat impdp.par 
    userid='/ as sysdba'
    fromuser=czwdm
    touser=czwdm
    file=/home/oracle/FACTINFO.dmp
    log=impdp.log
    tables=FACTINFO
    [oracle@localhost ~]$ 
    

      

     然后直接执行

    impdp parfile=impdp.par(执行之后,报ora-39143错误,所以改用下面的命令)
    或者

    imp parfile=impdp.par

      

  • 相关阅读:
    求数组中最大子数组的和(二维环)
    《梦断代码》读书笔记 第3篇
    求数组中最大子数组的和(1000)
    求数组中最大子数组的和(环)
    电梯调度1
    求数组中最大子数组的和(二维)
    读书笔记之反思篇
    二维数组求最大子数组
    结对开发~环形数组篇
    结对开发 ~挑战来了
  • 原文地址:https://www.cnblogs.com/biaopei/p/8404551.html
Copyright © 2020-2023  润新知