数据泵expdp导出数据备份,以及expdp命令的中断方法
来源:互联网 发布:许佳琪吴哲晗吵架知乎 编辑:程序博客网 时间:2024/06/01 23:54
一、根据我最近一个月数据导出备份的经验,总结如下:
1.使用expdp工具时,其转储文件只能被存放在directory对象对应的os目录中,而不能直接指定转储文件所在的os(操作系统)目录,因此使用expdp工具时,必须首先建立
Directory对象,并且需要为数据库用户授予使用directory对象权限。
create directory dir_dump as 'D:\oracle\dir_dp';
Grant read,write on directory dir_dump to user01;
2.导出数据分两种:导出本地数据库数据和导出远程数据库数据。
(1)导出本地数据库数据例:
expdp user01/123456 directory=dp_test_dir dumpfile=2014_abc_test%U.dmp logfile=expdp_01.log filesize=1G version=10 tables=abc_test
详解:
directory :存放目录
dumpfile=2014_abc_test%U.dmp:生成的dmp文件名,%u是指按01,,02往下排,以此类推。
logfile:指定导出过程中,产生的日志文件名
filesize=1G:每个dmp文件的大小,此处是1G。
version=10:数据库的版本。
tables:表名,可以多个表,以逗号隔开。
content=data_only :这个是只导出数据,如果要导出数据和表结构,不需要加这个。
(2)导出远程数据库数据例:
expdp user02/123456 network_link=dblinkname directory=dp_test_dir dumpfile=abcd_201406_%U.dmp logfile=expdp_06.log filesize=5G version=10 tables=test_1406
详解:远程数据库需要先在本地建连接远程数据库的dblink,然后在导出命令中,加 network_link=dblinkname,其他参数的含义同上。
注:1.将来数据导入,数据库的版本是个问题,如果是10g,将来也要导入10g的数据库中,不然可能存在不兼容问题。
2.以上导出命令都是同时导出数据和表结构,因为要提前记录表用到的表空间,将来导入时要提前建好相同的表空间名才能顺利导入。
二、导出过程中,可能由于一些原因,需要中断导出:
这里就不能简单的用KILL进程来处理了,因为这里是一个JOB。
JOB_NAME可以通过dba_datapump_jobs来查询:
sql>select * from dba_datapump_jobs ;
1.在命令窗口,执行如下命令
C:\Documents and Settings\Administrator>expdp system/sys attach=SYS_EXPORT_FULL_01
Export: Release 11.2.0.1.0 - Production on 星期六 7月 13 23:53:55 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
作业: SYS_EXPORT_FULL_01
所有者: SYSTEM
------------省略部分内容。。。
Export> stop_job
是否确实要停止此作业 ([Y]/N): Y
是否确实要停止此作业 ([Y]/N): Y ---------------就是停止不了,在dba_datapump_jobs还是能查到记录,只是JOB已经停止了。
-----已经解决了,需要输入YES才能停止
Export> KILL_JOB
是否确实要停止此作业 ([Y]/N): YES ----这时job就真得中断了
在执行的时候CTL+C就可以进入交互模式,windows和LINUX下都是一样的。
重新进入EXPDP/IMPDP,就可以执行下面的交互命令:
$expdp username/password,
交互模式常用命令:
CONTINUE_CLIENT返回到记录模式。假如处于空闲状态, 将重新启动作业。
START_JOB 启动恢复当前作业。
STATUS在默认值 (0) 将显示可用时的新状态的情况下,要监视的频率 (以秒计) 作业状态。
STATUS=[interval]
STOP_JOB顺序关闭执行的作业并退出客户机。
STOP_JOB=IMMEDIATE 将立即关闭数据泵作业。
还有其他命令:
ADD_FILE向转储文件集中添加转储文件。
ADD_FILE=dirobjdumpfile-name
CONTINUE_CLIENT 返回到记录模式。假如处于空闲状态, 将重新启动作业。
EXIT_CLIENT 退出客户机会话并使作业处于运行状态。
HELP总结交互命令。
KILL_JOB分离和删除作业。
PARALLEL更改当前作业的活动 worker 的数目。
PARALLEL=worker 的数目。
START_JOB 启动恢复当前作业。
STATUS在默认值 (0) 将显示可用时的新状态的情况下,
要监视的频率 (以秒计) 作业状态。
STATUS=[interval]
STOP_JOB顺序关闭执行的作业并退出客户机。
STOP_JOB=IMMEDIATE 将立即关闭
三、假如导出的文件已删除,作业停止但还存在,就没办法通过命令窗口进入job操作了,直接删除作业表就行了
drop table SYS_EXPORT_SCHEMA_01 purge删除表,之后即可重新调用与这相关的expdp。
- 数据泵expdp导出数据备份,以及expdp命令的中断方法
- oracle 11g 数据泵(expdp)命令备份数据的方法
- 数据泵 EXPDP 导出工具的使用
- 数据泵 EXPDP 导出工具的使用
- 数据泵 EXPDP 导出工具的使用
- 数据泵 EXPDP 导出工具的使用
- 数据泵 EXPDP 导出工具的使用
- 数据泵 EXPDP 导出工具的使用
- 数据泵 EXPDP 导出工具的使用
- 数据泵 EXPDP 导出工具的使用 .
- 数据泵 EXPDP 导出工具的使用
- -数据泵 EXPDP 导出工具的使用
- 数据泵 EXPDP 导出工具的使用
- Oracle expdp 数据泵导出
- 使用expdp导出数据
- 使用expdp导出数据
- 使用数据泵expdp命令和impdp命令对数据库的数据进行导入导出
- 使用expdp命令导出本地某个用户的数据
- 小编总结:理财技能GET
- Qt:容器
- JDBC数据库编程技术之增删改查SQL写法
- ubuntu14.04安装openstack的Juno版环境--使用PPA源
- Javascript是单线程的深入分析
- 数据泵expdp导出数据备份,以及expdp命令的中断方法
- 求所有子数组的和的最大值。要求时间复杂度为O(n)
- Qt中不规则异形窗口的实现几点总结
- Qt:事件处理
- linux awk命令详解
- 诺奖,出版界的“双十一”
- Windows 不能在 本地计算机 启动 SQL Server 服务 错误代码126
- 数据结构之串14匹配算法
- Windows Driver Kit (WDK) 8.0 がリリースされました