欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

impdp/expdp

程序员文章站 2024-03-13 17:05:09
...
需求:应用用户cps下面的两张表AS_BIZ_DETIALS_,AS_BIZ_PATCH_LOG_需要复制到测试用户cps2下面。


环境:oracle 10g
准备:1、分别查看 cps用户下这两张表的数据量
                select count(*) from cps.AS_BIZ_DETIALS_;        
                select count(*) from cps.AS_BIZ_PATCH_LOG_;    
                        AS_BIZ_DETIALS_(483540行)
                        AS_BIZ_PATCH_LOG_ (14084行)
          2、建立导出目录,并给权限
                df -h 发现/dbbak 目录下面空间剩余很多,导出目录打算用它的空间
                操作系统oracle用户下面运行                
                $mkdir /dbbak/tmp
                $ls -l /dbbak --确认/dbbak/tmp目录权限对(oracle:oinstall)                
                数据中创建DIRECTORY
                SQL>create directory dump_dir as '/dbbak/tmp';
                给读写权限
                SQL>grant read,write on directory dump_dir to cps
                
导出:使用工具expdp

        操作系统oracle用户下执行

        导出表AS_BIZ_DETIALS_

$ expdp cps/*******@ywdb tables=cps.AS_BIZ_DETIALS_ dumpfile=AS_BIZ_DETIALS.dmp logfile=expdp_AS_BIZ_DETIALS_job1.log directory=dump_dir

        导出表AS_BIZ_PATCH_LOG_ 

$ expdp cps/********@ywdb tables=cps.AS_BIZ_PATCH_LOG_  dumpfile=AS_BIZ_PATCH_LOG_.dmp logfile=expdp_AS_BIZ_PATCH_LOG_ job1.log directory=dump_dir

导入:使用工具impdp
由于用户不同,表空间也不同,表结构也已经存在,所以在导入时用到了以下几个参数
        remap_schema 改变用户
        remap_tablespace 改变表空间
        table_exists_action 表存在动作
                有APPEND, REPLACE, [SKIP] 和 TRUNCATE
                默认为skip 这里我们选择replace
       操作系统oracle用户下面执行
       导入表AS_BIZ_DETIALS_
       
$ impdp cps2/[email protected] directory=dump_dir dumpfile=AS_BIZ_DETIALS.dmp logfile=impdp_AS_BIZ_DETIALS_job1.log tables=cps.AS_BIZ_DETIALS_ remap_schema=cps:cps2 remap_tablespace=cpsdata:cps2 table_exists_action=replace
       导入表AS_BIZ_PATCH_LOG_
       
$ impdp cps2/[email protected] directory=dump_dir dumpfile=AS_BIZ_PATCH_LOG.dmp logfile=impdp_AS_BIZ_PATCH_LOG_job1.log tables=cps.AS_BIZ_PATCH_LOG_ remap_schema=cps:cps2 remap_tablespace=cpsdata:cps2 table_exists_action=replace
        
检查:
        查看数据量是否和cps用户下面的一样
        select count(*) from cps2.AS_BIZ_DETIALS_;        
        select count(*) from cps2.AS_BIZ_PATCH_LOG_;           
        对比之前查到的数据 
相关标签: expdp/impdp