教你如何使用expdp和impdp备份和恢复数据库

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

教你如何使用expdp和impdp命令备份和恢复Oracle数据库

create directory aa as 'D:\aa';

grant read,write on directory aa to king2;

expdp king2/king2test02 schemas=king2 directory=aa dumpfile=expuser.dmp

第一步:创建一个目录(也就是文件路径)来装导出的dmp文件

方法:操作系统—开始—运行输入“cmd”进入dos界面输入“sqlplus/nolog”按回车如下图:

连接数据库,输入:conn sys/king2test02 as sysdba(注意sys用户一定要用sysdba角色登录哦) 回车如下图:

接着,创建DIRECTORY

create directory dir_dp as 'D:\oracle\dir_dp';

这里要注意,路径D:\oracle\dir_dp一定要是系统已经存在的了,如果该路径不存在,下边的导出将会提示

正确创建了路径的显示如下:

第二步:授权(授予要导入数据的用户对该目录(路径)进行读和写的权限),还是在连接数据库的状态下输入:

Grant read,write on directory dir_dp to lttfm;

如下图:

就完成了,关闭窗口,重新进入dos界面就可以进行备份了;

第三步:执行导出

expdp lttfm/lttfmfgisdb schemas=lttfm directory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log;

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1

With the Partitioning, OLAP and Data Mining options

启动"LTTFM"."SYS_EXPORT_SCHEMA_01": lttfm/********fgisdb sch

ory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log; */

备注:

1、directory=dir_dp必须放在前面,如果将其放置最后,会提示ORA-39002: 操作无效

ORA-39070: 无法打开日志文件。

ORA-39087: 目录名DATA_PUMP_DIR; 无效2、在导出过程中,DATA DUMP 创建并使用了一个名为SYS_EXPORT_SCHEMA_01的对象,此对象就是DATA DUMP导出过程中所用的JOB名字,如果在执行这个命令时如果没有指定导出的JOB名字那么就会产生一个默认的JOB名字,如果在导出过程中指定JOB 名字就为以指定名字出现

如下改成:

expdp lttfm/lttfmfgisdb schemas=lttfm directory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log,job_name=my_job1;

3、导出语句后面不要有分号,否则如上的导出语句中的job表名为‘my_job1;’,而不是my_job1。因此导致expdp lttfm/lttfm attach=lttfm.my_job1执行该命令时一直提示找不到job表

说明:

数据泵导出的各种模式:

1、按表模式导出:

expdp lttfm/lttfmfgisdb tables=lttfm.b$i_exch_info,lttfm.b$i_manhole_info dumpfile =expdp_test2.dmp logfile=expdp_test2.log directory=dir_dp job_name=my_job

2、按查询条件导出:

expdp lttfm/lttfmfgisdb tables=lttfm.b$i_exch_info dumpfile =expdp_test3.dmp

logfile=expdp_test3.log directory=dir_dp job_name=my_job query='"where rownum<11"'

3、按表空间导出:

Expdp lttfm/lttfmfgisdb dumpfile=expdp_tablespace.dmp tablespaces=GCOMM.DBF logfile=expdp_tablespace.log directory=dir_dp job_name=my_job

4、导出方案

Expdp lttfm/lttfm DIRECTORY=dir_dp DUMPFILE=schema.dmp SCHEMAS=lttfm,gwm

5、导出整个数据库:

expdp lttfm/lttfmfgisdb dumpfile =full.dmp full=y logfile=full.log directory=dir_dp job_name=my_job

成功案例:

原来电脑中已经存在目录(这里的king222dmp是手动的电脑中右键新建的,在Oracle 数据库命令中将不会创建新的目录):

. .. .

impdp

手工导入用户的时候要特别注意,数据库中不能够有与导出用户同名的用户,否则会报错数据已经存在,不能够成功导入。因为impdp导用户入数据库的时候,如果数据库中没有该用户存在的时候会自动创建该用户。导入语法如下:

Impdp king2/king2test02 schemas=king2 directory=aa dumpfile=king.dmp

..w..

相关文档
最新文档