码迷,mamicode.com
首页 > 数据库 > 详细

Oracle数据库泵的备份与恢复

时间:2014-12-09 17:54:30      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:备份   schema   数据库   metadata   

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/password@expdb 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/password@expdb 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/password@expdb 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/passwd@expdb SCHEMAS=user01,user02,user03  DIRECTORY=bak_dir DUMPFILE=bak _%U.dmp  filesize=5G  LOGFILE= bakLog.log;

2、           数据库恢复

aCONTENT包括:ALL, DATA_ONLY METADATA_ONLYALL为默认

当设置该选项为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/password@impdb 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 | FRPLACEDIRECTORY=目录名 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/passwd@impdb SCHEMAS=user1,user2,user3,user4 DIRECTORY=res_dir  DUMPFILE=res _%U.dmp  filesize=5G  LOGFILE= resLog.log;

三、进入交互模式

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

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

expdp username/password@insdb attach=expfull(备份或恢复任务的名称) 进入交互模式

Import>stop_job停止当前的任务

Import>start_job启动停止的任务

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

Import>exit_client退出export交互模式

Oracle数据库泵的备份与恢复

标签:备份   schema   数据库   metadata   

原文地址:http://blog.csdn.net/chenhao0568/article/details/41824949

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!