数据泵expdp导出数据备份,以及expdp命令的中断方法
2014-10-11 16:54
260 查看
一、根据我最近一个月数据导出备份的经验,总结如下:
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。
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。
相关文章推荐
- mysql数据库的备份、导入、导出命令,以及数据的导入、导出
- oracle 11g 数据泵(expdp)命令备份数据的方法
- mysql数据库的备份、导入、导出命令,以及数据的导入、导出
- mysql数据库的备份、导入、导出命令,以及数据的导入、导出
- mysql数据库的备份、导入、导出命令,以及数据的导入、导出
- [forwarding] mysql数据库的备份、导入、导出命令,以及数据的导入、导出
- mysql数据库的备份、导入、导出命令,以及数据的导入、导出
- MySQL数据的导出和导入工具:mysqldump(备份数据库的命令)
- Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
- Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
- Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
- Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
- MySQL数据的导出和导入工具:mysqldump(备份数据库的命令)
- Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令 转自:南水江的鸽子窝
- Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
- SQL Server导入、导出、备份数据方法
- 数据泵导出命令 expdp 常用使用总结
- MySQL数据的导出和导入工具:mysqldump(备份数据库的命令) (转)
- Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
- MySQL数据库按指定格式导出数据进行备份(select into outfile)和恢复数据的方法