数据泵使用心得

 
数据泵在数据的导入、导出方面突出了它特有的优势,给数据库管理人员提供了极大的方便

expdp导出数据

  • expdp常用参数介绍
ATTACH 连接到现有作业, 例如 ATTACH [=作业名]。
COMPRESSION 减小有效的转储文件内容的大小
                      关键字值为: (METADATA_ONLY) 和 NONE。
CONTENT 指定要卸载的数据, 其中有效关键字为:
                      (ALL), DATA_ONLY 和 METADATA_ONLY。
DIRECTORY 供转储文件和日志文件使用的目录对象。
DUMPFILE 目标转储文件 (expdat.dmp) 的列表,
                      例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。
EXCLUDE 排除特定的对象类型, 例如 EXCLUDE=TABLE:EMP。
FILESIZE 以字节为单位指定每个转储文件的大小。
FULL 导出整个数据库 (N)。
INCLUDE 包括特定的对象类型, 例如 INCLUDE=TABLE_DATA。
JOB_NAME 要创建的导出作业的名称。
LOGFILE 日志文件名 (export.log)。
NETWORK_LINK 链接到源系统的远程数据库的名称。
NOLOGFILE 不写入日志文件 (N)。
PARALLEL 更改当前作业的活动 worker 的数目。
PARFILE 指定参数文件。
QUERY 用于导出表的子集的谓词子句。
SCHEMAS 要导出的方案的列表 (登录方案)。
STATUS 在默认值 (0) 将显示可用时的新状态的情况下,
                      要监视的频率 (以秒计) 作业状态。
TABLES 标识要导出的表的列表 - 只有一个方案。
TABLESPACES 标识要导出的表空间的列表。
TRANSPORT_TABLESPACES 要从中卸载元数据的表空间的列表。

命令 说明
ADD_FILE 向转储文件集中添加转储文件。
CONTINUE_CLIENT 返回到记录模式。如果处于空闲状态, 将重新启动作业。
EXIT_CLIENT 退出客户机会话并使作业处于运行状态。
FILESIZE 后续 ADD_FILE 命令的默认文件大小 (字节)。
HELP 总结交互命令。
KILL_JOB 分离和删除作业。
PARALLEL 更改当前作业的活动 worker 的数目。
                      PARALLEL=<worker 的数目>。
START_JOB 启动/恢复当前作业。
STATUS 在默认值 (0) 将显示可用时的新状态的情况下,
                      要监视的频率 (以秒计) 作业状态。
                      STATUS[=interval]
STOP_JOB 顺序关闭执行的作业并退出客户机。
                      STOP_JOB=IMMEDIATE 将立即关闭
                      数据泵作业。

下面介绍几种常用的expdp方法π

  • 在不同数据库中把一个schema中所有的对象导入到另一个schema中。
1、在目标数据库中创建Database links
语法如下:
(create public database link LINK_CDMABASE
  connect to CDMABASE identified by cdmabase
  using '//192.168.1.202:1521/release.haitu.com')
2、将原数据库中的schema中所有的对象导入到目标数据库的schema中
语法如下:
impdp system/orcl network_link=link_cdmabase re
map_schema=cdmabase:zsk tables=cdmabase.action_info
其中:NETWORK_LINK是指链接到源系统的远程数据库的名称也就是创建好的Database links。
  • 导出数据库中以字母A开头的表 -
expdp system/orcl CONTENT=DATA_ONLY network_link=LINK_TEST_bak remap_schema=(cdmatest:zsk) INCLUDE=TABLE:"LIKE'A%'"
  • 导出数据库中除以字母B开头的表 -
expdp system/orcl CONTENT=DATA_ONLY network_link=LINK_TEST_bak remap_schema=(cdmatest:zsk) EXCLUDE=TABLE:"LIKE'B'"
  • 导出数据库中指定的schema -
expdp system/orcl CONTENT=DATA_ONLY directory=DATA_PUMP_DIR dumpfile=cdmabase.dmp logfile=cdmabase.log schemas=cdmaostest
  • 导出数据库中某一表的部分数据(即把数据过滤)-
expdp system/haitu@192.168.1.200 directory=DATA_PUMP_DIR dumpfile=cdmabase.dmp logfile=cdmabase.log QUERY=\"where\" logfile=cm.log content=data_only

expdp查看任务状态 π

假如我们的导出作业 (EXAMPLE1) 遇到了严重错误,导致导出失败,则可以通过以下方法来解决。
第一步、查看数据库中任务的状态
SQL> select job_name,state from dba_datapump_jobs;

JOB_NAME STATE
EXAMPLE1 NOT RUNNING
第二步、连接任务
>expdp system/manager attach=EXAMPLE1
第 3 步:添加转储文件
此时,可以在 Export> 提示符下发出 ADD_FILE 指令来添加转储文件。新的转储文件将自动创建在与原始转储文件相同的目录 (DATA_PUMP_DIR) 中。
Export>add_file=hr1.dmp
接下来,我们可以执行 status 命令,看到现在显示出这个添加的转储文件。
第四步:重新启动/继续作业
最后,我们发出 CONTINUE_CLIENT 命令。作业 EXAMPLE1 此时将恢复运行。
我们也可以使用 START_JOB 命令。CONTINUE_CLIENT 命令将模式从交互式命令模式更改为记录模式,然后执行 START_JOB。
第 7 步:检查作业状态

我们可以随意地查看作业的状态。

Import> status




impdp导入数据

  • 把数据从oracle11g中导入到oracle10g中 -
第一步:从oracle11g中导出数据
expdp system/dbserver CONTENT=DATA_ONLY directory=DATA_PUMP_DIR dumpfile=cm.dmp logfile=cm.log tables=cdmaos.cm_ctiy version=10.2 注意: 在导出数据时需指定导出数据oracle的版本号,该版本号必须低于所要导入数据的oracle的版本号。

第二步:把从oracle11g中导出来的数据导入到oracle10g中
impdp system/dbserver content=data_only directory=dumpdir dumpfile=cm.dmp logfile=cm.log remap_schema=cdmaos:cdmatest
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值