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
导入:使用工具impdp
由于用户不同,表空间也不同,表结构也已经存在,所以在导入时用到了以下几个参数
remap_schema 改变用户
remap_tablespace 改变表空间
table_exists_action 表存在动作
有APPEND, REPLACE, [SKIP] 和 TRUNCATE
默认为skip 这里我们选择replace
操作系统oracle用户下面执行
导入表AS_BIZ_DETIALS_
检查:
查看数据量是否和cps用户下面的一样
select count(*) from cps2.AS_BIZ_DETIALS_;
select count(*) from cps2.AS_BIZ_PATCH_LOG_;
对比之前查到的数据
环境: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_;
对比之前查到的数据