Oracle数据库泵的备份与恢复

Oracle数据库泵的备份与恢复

目录

一、数据库备份和恢复前的准备...
1

1、给数据库用户授权并创建DIRECTORY对象...
1
_Toc388455817

二、数据泵的备份和恢复...
1

1、     
数据库备份...
1

2、     
数据库恢复...
2

三、进入交互模式...
4

一、数据库备份和恢复前的准备

1、给数据库用户授权并创建DIRECTORY对象

在SQL命令行下执行如下命令(执行sql的用户要有目录创建和授权的权限):

grant create any directory to username;(username---执行备份/恢复的用户)

create directory  res_dir  as  ‘D:\dbres‘;(res_dir—恢复命令中使用的目录名---把导出的文件放到这个目录中)

create directory bak_dir as ‘C:\dbback‘;(bak_dir—备份命令中使用的目录名,删除目录的命令drop directory bak_dir;)

二、数据泵的备份和恢复

数据泵包括备份/恢复表、备份/恢复用户、备份/恢复表空间、备份/恢复数据库4种方式,在操作系统命令行中执行以下的备份/恢复命令完成相关操作

1、           数据库备份

(1)备份表

expdp数据库用户名/密码【@数据库实例名】 DIRECTORY=目录名 TABLES=表1,表2  DUMPFILE=导出的dmp文件logfile=导dmp文件时生成的log文件;

例:expdp username/[email protected] tables=tablename1,tablename2 DIRECTORY=bak_dir DUMPFILE=bakFile.dmp LOGFILE=bakLog.log;

(2)备份用户(schema,与用户对应)

expdp数据库用户名/密码【@实例名】SCHEMAS=用户1,用户2 DIRECTORY=目录名 DUMPFILE=导出的dmp文件 logfile=导出dmp文件时生成的log文件;

例:expdp username/[email protected] SCHEMAS=user01,user02 DIRECTORY=bak_dir DUMPFILE=bakFile.dmp LOGFILE=bakLog.log;

(3)备份表空间

expdp数据库用户名/密码【@实例名】 DIRECTORY=目录名 TABLESPACES=表空间1,表空间2 DUMPFILE=导出的dmp文件 logfile=导出dmp文件时生成的log文件;

例:expdp username/[email protected] DIRECTORY=dump_dir

TABLESPACES=tablespace01,tablespace02 DUMPFILE=bakFile.dmp  logfile=bakLog.log;

(4)备份数据库

expdp数据库用户名/密码【@实例名】DIRECTORY=目录名FULL=Y  DUMPFILE=导出的dmp文件  logfile=导出dmp文件时生成的log文件;

例:expdp username/password DIRECTORY=dump_dir FULL=Y DUMPFILE=bakFile.dmp logfile=bakLog.log;

(5)数据库备份的文件过大,会把dmp文件分成多个小文件,以备份用户为例

expdp数据库用户名/密码【@实例名】 SCHEMAS=用户1,用户2 DIRECTORY=目录名 DUMPFILE=bak _%U.dmp  filesize=文件大小  LOGFILE=导出dmp文件时生成的log文件;

例:expdp username/[email protected] SCHEMAS=user01,user02,user03  DIRECTORY=bak_dir DUMPFILE=bak _%U.dmp  filesize=5G  LOGFILE= bakLog.log;

2、           数据库恢复

a、CONTENT包括:ALL, DATA_ONLY
和 METADATA_ONLY。ALL为默认

当设置该选项为ALL时,表明导出的是数据和表结构的所有内容;

当设置该选项为DATA_ONLY时,表明导出的是数据;

当设置该选项为METADATA_ONLY时,表明导出的是元数据(表结构);

b、该选项用于将源方案的所有对象装载到目标方案中,原对象和目标对象的映射. SCHEMAS=原对象REMAP_SCHEMA=原对象:目标对象

c、该选项用于指定当表已经存在时导入作业要执行的操作,默认为SKIP
,TABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE |REPLACE}

当设置该选项为SKIP时,导入作业会跳过已存在表处理下一个对象;当设置为APPEND时,会追加数据,为TRUNCATE时,导入作业会截断表,然后为其追加新数据;当设置为REPLACE时,导入作业会删除已存在表,重建表病追加数据,注意,TRUNCATE选项不适用与簇表和NETWORK_LINK选项

(1)恢复表

impdp数据库用户名/密码【@实例名】 TABLES=表1,表2【REMAP_SCHEMA=ori:tar CONTENT=DATA_ONLY | ALL | METADATA_ONLY  TABLE_EXISTS_ACTION= SKIP | APPEND | TRUNCATE | REPLACE】
 DIRECTORY=目录名 DUMPFILE=导入的dmp文件  LOGFILE=导入dmp文件时生成的log文件;

例:impdp username/passwd TABLES= tablename1,tablename2 DIRECTORY=res_dir         DUMPFILE= resFile.dmp LGFILE=resLog.log;

(2)恢复用户

impdp数据库用户名/密码【@实例名】 SCHEMAS=用户1,用户2【REMAP_SCHEMA= ori:tar CONTENT=DATA_ONLY | ALL | METADATA_ONLY  TABLE_EXISTS_ACTION=SKIP | APPEND | TRUNCATE | REPLACE】
DIRECTORY=目录名 DUMPFILE=导入的dmp文件  LOGFILE=导入dmp文件时生成的log文件

例:impdp username/[email protected] SCHEMAS=user1,user2 DIRECTORY= res_dir DUMPFILE= resFile.dmp  LOGFILE= resLog.log;

(3)恢复表空间

impdp数据库用户名/密码【@实例名】【 REMAP_SCHEMA=ori:tar CONTENT=DATA_ONLY | ALL | METADATA_ONLY TABLE_EXISTS_ACTION= SKIP | APPEND | TRUNCATE | FRPLACE】
 DIRECTORY=目录名TABLESPACES=表空间1, 表空间2  DUMPFILE=导入的dmp文件 LOGFILE=导入dmp文件时生成的log文件;

例:impdp username/password  DIRECTORY=res_dir  TABLESPACES=tablespace1, tablespace2 DUMPFILE=resFile.dmp logfile=resLog.log; ;

(4)恢复数据库

impdp数据库用户名/密码【@实例名】【REMAP_SCHEMA=ori:tar CONTENT=DATA_ONLY | ALL | METADATA_ONLY TABLE_EXISTS_ACTION= SKIP | APPEND | TRUNCATE | FRPLACE】
DIRECTORY=目录名 DUMPFILE=导入的dmp文件FULL=y LOGFILE=导入dmp文件时生成的log文件;

例:Impdp username/password  DIRECTORY=res_dir FULL=y DUMPFILE=resFile.dmp logfile=resLog.log;

(5)数据库恢复多个dmp小文件,以恢复用户为例

impdp数据库用户名/密码【@实例名】SCHEMAS=用户1,用户2【 CONTENT=DATA_ONLY | ALL | METADATA_ONLYTABLE_EXISTS_ACTION=SKIP | APPEND | TRUNCATE | FRPLACE】DIRECTORY=目录名 DUMPFILE=res
_%U.dmp filesize=文件大小 LOGFILE=导入dmp文件时生成的log文件;

例:impdp username/[email protected] SCHEMAS=user1,user2,user3,user4 DIRECTORY=res_dir  DUMPFILE=res _%U.dmp  filesize=5G  LOGFILE= resLog.log;

三、进入交互模式

在Linux操作系统命令行中执行以下命令:

ctrl+c退出当前的状态输出模式

expdp username/[email protected] attach=expfull(备份或恢复任务的名称) 进入交互模式

Import>stop_job停止当前的任务

Import>start_job启动停止的任务

Import> status 查看任务的状态信息。

Import>exit_client退出export交互模式

时间: 2024-08-01 14:24:02

Oracle数据库泵的备份与恢复的相关文章

ORACLE数据库数据的备份与恢复

原创作品,转自请在文字开头显眼位置注明出处:https://www.cnblogs.com/sunshine5683/p/10052949.html 数据备份恢复在数据库管理中至关重要,今天,总结一下数据库备份与恢复需要注意的方面和实际操作!. 一.在备份之前首先应该执行commit语句,将所有未提交的数据进行提交,(提交了的数据也有可能在内存),执行alter system checkpoint语句,所有的脏数据(内存中所有修改过的数据,这些数据有可能被提交,也有可能未被提交)都会被写入到了磁

windows计划任务+批处理文件实现oracle数据库的定时备份与恢复

1.  备份: PS:2014-1-15 如果导出的dmp数据文件不大的话,就直接每天导出好了,不要只保存七天的数据.然后顶起通过winrar对文件进行打包,我发现dmp文件的压缩包还是很高的. 那么就需要考虑在导出的dmp文件末尾加上日期了.bat脚本里面有date和time的函数,通过以下函数我们就可以得到想要的日期了.如果要求日期是以"-"结束,需要设定日期的格式为YYYY-M-D,而不是YYYY/M/D才可以. C:\Users\User>echo %date:~0,10

Oracle数据库备份与恢复的三种方法

转自blueskys567原文Oracle数据库备份与恢复的三种方法, 2006-10. 有删改 Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP).热备份和冷备份. 导出备件是一种逻辑备份,冷备份和热备份是物理备份. 一. 导出/导入(Export/Import) 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去. 1. 简单导出数据(Export)和导入数据(Import) Oracle支持三种方式类型的

Oracle数据库用户数据完整备份与恢复

使用PLSQL-Developer工具可以快速便捷地完成Oracle数据库用户.表的备份恢复. Oracle数据库用户数据完整备份与恢复 1. 备份 1.1   PL/SQL->工具->导出用户对象,选项如图 常用的用户对象包括: TABLE,SEQUENCE,VIEW,PACKAGE,TYPE,FUNCTION,PROCEDURE,PACKAGE BODY,TREGGER 选择需要导入的用户对象,导出.sql文件,此步骤导出的是建表语句,包括存储过程.触发器.视图等 . 1.2  PL/SQ

根据用户通过数据泵备份还原ORACLE数据库,

1.首先,解释几个词语 directory:一般创建directory都是为了用数据泵导入/导出数据用,其实directory还有很多别的用处,本文不做阐述 schemas:  你用“用户 user”来理解就很容易了,每个模式(user)下可以有一套互不干扰的对象.你如果想要访问其他模式的对象, 需要指定schema的name,实际就是指定username. 如,你要访问模式scott的表emp,而你所在的模式(用户)是tiger, 那你要这样写: select * from scott.emp

在linux环境上对oracle数据库的数据泵导入导出操作

需求:公司搭建的报表库环境数据来自于生产环境oracle数据,因此需要使用kettle将oracle数据每天定时导入到报表数据库中(本文不讨论如何用kettle导数据,不赘述),若要导数据我们需要一套完善的生产oracle数据库的表结构.同时环境搭建以及oracle数据库都在linux环境下部署,因此,需要在linux环境下使用数据泵技术将数据完成导入导出 以上为需求概述 具体实现(即:操作步骤): su - root --切换root用户(由于不知道oracle用户的密码使用root来登录or

ORACLE数据库备份与恢复详解

ORACLE数据库备份与恢复详解 学习过程中的总结,有兴趣不妨看看,如果有不对的地方,高手不要留情!! Oracle的备份与恢复有三种标准的模式,大致分为两 大类,备份恢复(物理上的)以及导入导出(逻辑上的),而备份恢复又可以根据数据库的工作模式分为非归档模式(Nonarchivelog-style) 和归档模式(Archivelog-style),通常,我们把非归档模式称为冷备份,而相应的把归档模式称为热备份,他们的关系如下所示 三种方式各有优点,我们做个比较(这个是用Fireworks画的,

Oracle数据库备份与恢复

oracle数据库导出 su - oracle exp 用户名/密码@SID file=backup.dmp 示例: [[email protected] ~]$ exp dtoa/[email protected] file=/u01/oracle/backup.dmp oracle数据库导入 imp 用户名/密码@SID file=backup.dmp full=y 示例: [[email protected] ~]$ imp dtoa/[email protected] file=/u01

Oracle数据库的备份与恢复

Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP).热备份和冷备份.导出备件是一种逻辑备份,冷备份和热备份是物理备份. 一. 导出/导入(Export/Import) 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去. 1. 简单导出数据(Export)和导入数据(Import) Oracle支持三种方式类型的输出: (1).表方式(T方式),将指定表的数据导出. (2).用户方式(U方式),将指定用户的所有