expimp增量备份测试.docx

上传人:b****6 文档编号:3646760 上传时间:2022-11-24 格式:DOCX 页数:18 大小:25.08KB
下载 相关 举报
expimp增量备份测试.docx_第1页
第1页 / 共18页
expimp增量备份测试.docx_第2页
第2页 / 共18页
expimp增量备份测试.docx_第3页
第3页 / 共18页
expimp增量备份测试.docx_第4页
第4页 / 共18页
expimp增量备份测试.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

expimp增量备份测试.docx

《expimp增量备份测试.docx》由会员分享,可在线阅读,更多相关《expimp增量备份测试.docx(18页珍藏版)》请在冰豆网上搜索。

expimp增量备份测试.docx

expimp增量备份测试

Oracle数据库逻辑增量备份之exp/imp

Oracle数据库逻辑增量备份之exp/imp1

一、实现需求1

二、逻辑备份恢复工具exp/imp2

1、逻辑备份原理2

2、exp语法和参数2

3、imp语法和参数3

三、exp逻辑备份4

1、exp表模式备份4

2、exp用户模式备份5

3、exp全库模式备份5

四、imp逻辑恢复6

1、imp表模式恢复6

2、imp用户模式恢复6

3、imp全库模式恢复7

五、exp/imp增量参数INCTYPE8

1、exp增量备份条件8

2、exp增量备份类型8

六、增量备份恢复实例8

1、exp增量备份恢复策略8

2、A时间点全备9

3、B时间点增量备份9

4、C时间点累积备份10

5、D时间点增量备份10

6、E时间点增量备份10

6、A表丢失数据恢复11

7、D时间点丢失表空间恢复12

8、全库恢复13

七、Exp/Imp增量备份恢复总结14

一、实现需求

由于一个库在云平台上,虽然做了RMAN备份,但是RMAN备份在云本地磁盘上,同时库备份数据量比较大,无法转移到其他的空间上。

由于该库应用的性质比较特殊,大数据量部分要求保存180天后即可删除,因此除了做RMAN之外,我希望将核心数据做下额外的备份,expdp可以满足,目前是这么做的,但是expdp做不了增量备份。

听说exp/imp有参数能做增量备份,但是又听说exp增量备份的最小单位是表,只要表一条数据发生变化,就会对全表进行备份。

之前没有用过exp增量备份这个功能,于是决定先做下测试,看到底备份恢复效率和真实机制如何。

二、逻辑备份恢复工具exp/imp

1、逻辑备份原理

Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP、EXPDP/IMPDP)、热备份和冷备份。

导出备件是一种逻辑备份,冷备份和热备份是物理备份。

逻辑导出备份:

创建数据库对象的逻辑拷贝并存入一个二进制转储文件。

这种逻辑备份需要在数据库启动的情况下使用,其导出实质就是读取一个数据库记录集(甚至可以包括数据字典)并将这个记录集写入一个文件,这些记录的导出与其物理位置无关,导入实质就是读取转储文件并执行其中的命令。

此备份方式是通过Oracle的实用工具export和import来实施的,export是把数据库中的数据导出,import是把export卸出的数据导入数据库中。

通过此工具可以衍生出多种功能,比如整个数据库的备份、表结构重建、数据的传输、用户的改变等等。

重新温习下exp/imp的语法和参数,着重看看增量备份参数相关说明。

2、exp语法和参数

C:

\DocumentsandSettings\A4586>exphelp=y

Export:

Release10.2.0.1.0-Productionon星期三11月713:

41:

282012

Copyright(c)1982,2005,Oracle.Allrightsreserved.

通过输入EXP命令和您的用户名/口令,导出

操作将提示您输入参数:

例如:

EXPSCOTT/TIGER

或者,您也可以通过输入跟有各种参数的EXP命令来控制导出

的运行方式。

要指定参数,您可以使用关键字:

格式:

EXPKEYWORD=value或KEYWORD=(value1,value2,...,valueN)

例如:

EXPSCOTT/TIGERGRANTS=YTABLES=(EMP,DEPT,MGR)

或TABLES=(T1:

P1,T1:

P2),如果T1是分区表

USERID必须是命令行中的第一个参数。

关键字说明(默认值)

-------------------------------------------------------------------

USERID用户名/口令

FULL导出整个文件(N)

BUFFER数据缓冲区大小

OWNER所有者用户名列表

FILE输出文件(EXPDAT.DMP)

TABLES表名列表

COMPRESS导入到一个区(Y)

RECORDLENGTHIO记录的长度

GRANTS导出权限(Y)

INCTYPE增量导出类型

INDEXES导出索引(Y)

RECORD跟踪增量导出(Y)

DIRECT直接路径(N)

TRIGGERS导出触发器(Y)

LOG屏幕输出的日志文件

STATISTICS分析对象(ESTIMATE)

ROWS导出数据行(Y)

PARFILE参数文件名

CONSISTENT交叉表的一致性(N)

CONSTRAINTS导出的约束条件(Y)

OBJECT_CONSISTENT只在对象导出期间设置为只读的事务处理(N)

FEEDBACK每x行显示进度(0)

FILESIZE每个转储文件的最大大小

FLASHBACK_SCN用于将会话快照设置回以前状态的SCN

FLASHBACK_TIME用于获取最接近指定时间的SCN的时间

QUERY用于导出表的子集的select子句

RESUMABLE遇到与空格相关的错误时挂起(N)

RESUMABLE_NAME用于标识可恢复语句的文本字符串

RESUMABLE_TIMEOUTRESUMABLE的等待时间

TTS_FULL_CHECK对TTS执行完整或部分相关性检查

TABLESPACES要导出的表空间列表

TRANSPORT_TABLESPACE导出可传输的表空间元数据(N)

TEMPLATE调用iAS模式导出的模板名

3、imp语法和参数

C:

\DocumentsandSettings\A4586>imphelp=y

Import:

Release10.2.0.1.0-Productionon星期三11月713:

59:

172012

Copyright(c)1982,2005,Oracle.Allrightsreserved.

通过输入IMP命令和您的用户名/口令,导入

操作将提示您输入参数:

例如:

IMPSCOTT/TIGER

或者,可以通过输入IMP命令和各种参数来控制导入

的运行方式。

要指定参数,您可以使用关键字:

格式:

IMPKEYWORD=value或KEYWORD=(value1,value2,...,valueN)

例如:

IMPSCOTT/TIGERIGNORE=YTABLES=(EMP,DEPT)FULL=N

或TABLES=(T1:

P1,T1:

P2),如果T1是分区表

USERID必须是命令行中的第一个参数。

关键字说明(默认值)

--------------------------------------------------------

USERID用户名/口令

FULL导入整个文件(N)

BUFFER数据缓冲区大小

FROMUSER所有者用户名列表

FILE输入文件(EXPDAT.DMP)

TOUSER用户名列表

SHOW只列出文件内容(N)

TABLES表名列表

IGNORE忽略创建错误(N)

RECORDLENGTHIO记录的长度

GRANTS导入权限(Y)

INCTYPE增量导入类型

INDEXES导入索引(Y)

COMMIT提交数组插入(N)

ROWS导入数据行(Y)

PARFILE参数文件名

LOG屏幕输出的日志文件

CONSTRAINTS导入限制(Y)

DESTROY覆盖表空间数据文件(N)

INDEXFILE将表/索引信息写入指定的文件

SKIP_UNUSABLE_INDEXES跳过不可用索引的维护(N)

FEEDBACK每x行显示进度(0)

TOID_NOVALIDATE跳过指定类型ID的验证

FILESIZE每个转储文件的最大大小

STATISTICS始终导入预计算的统计信息

RESUMABLE在遇到有关空间的错误时挂起(N)

RESUMABLE_NAME用来标识可恢复语句的文本字符串

RESUMABLE_TIMEOUTRESUMABLE的等待时间

COMPILE编译过程,程序包和函数(Y)

STREAMS_CONFIGURATION导入流的一般元数据(Y)

STREAMS_INSTANTIATION导入流实例化元数据(N)

下列关键字仅用于可传输的表空间

TRANSPORT_TABLESPACE导入可传输的表空间元数据(N)

TABLESPACES将要传输到数据库的表空间

DATAFILES将要传输到数据库的数据文件

TTS_OWNERS拥有可传输表空间集中数据的用户

三、exp逻辑备份

ORACLE数据库的逻辑备份分为三种模式:

表备份、用户备份和完全备份。

  (1)、表方式(T方式),将指定表的数据导出。

  (2)、用户方式(U方式),将指定用户的所有对象及数据导出。

  (3)、全库方式(Full方式),将数据库中的所有对象导出

1、exp表模式备份

备份某个用户模式下指定的对象(表)。

业务数据库通常采用这种备份方式。

若备份到本地文件,使用如下命令:

C:

\DocumentsandSettings\A4586>setnls_lang=simplifiedchinese_china.zhs16gbk

C:

\DocumentsandSettings\A4586>expscott/tigerfile=c:

\exp_scott_emp.dmplog=c:

\exp_scott_emplogtables=scott.emp,scott.dept

即将导出指定的表通过常规路径...

..正在导出表EMP导出了14行

..正在导出表DEPT导出了4行

导出成功。

2、exp用户模式备份

备份某个用户模式下的所有对象。

业务数据库通常采用这种备份方式。

若备份到本地文件,使用如下命令:

C:

\DocumentsandSettings\A4586>expscott/tigerfile=c:

\exp_scott.dmplog=c:

\exp_scott.logowner=scott

即将导出指定的用户...

.正在导出pre-schema过程对象和操作

.正在导出用户SCOTT的外部函数库名

.导出PUBLIC类型同义词

.正在导出专用类型同义词

.正在导出用户SCOTT的对象类型定义

即将导出SCOTT的对象...

.正在导出数据库链接

.正在导出序号

.正在导出簇定义

.即将导出SCOTT的表通过常规路径...

..正在导出表BONUS导出了0行

..正在导出表DEPT导出了4行

..正在导出表EMP导出了14行

..正在导出表SALGRADE导出了5行

…….

3、exp全库模式备份

备份完整的数据库。

业务数据库不采用这种备份方式。

注意导出用户权限。

备份命令为:

C:

\DocumentsandSettings\A4586>expsystem/oraclefile=c:

\exp_full.dmplog=c:

\exp_full.logfull=y;

即将导出整个数据库...

.正在导出表空间定义

.正在导出概要文件

.正在导出用户定义

.正在导出角色

.正在导出资源成本

.正在导出回退段定义

.正在导出数据库链接

.正在导出序号

…….

四、imp逻辑恢复

数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库。

数据库的逻辑恢复分为表恢复、用户恢复、完全恢复三种模式。

1、imp表模式恢复

A.恢复表备份数据的全部内容

若从本地文件恢复scott导出的表,使用如下命令:

C:

\DocumentsandSettings\A4586>impscott/tigerfromuser=scotttouser=scottfile=c:

\exp_scott_emp.dmplog=c:

\imp_scott_emp.log

经由常规路径由EXPORT:

V10.02.01创建的导出文件

已经完成ZHS16GBK字符集和AL16UTF16NCHAR字符集中的导入

导入服务器使用AL32UTF8字符集(可能的字符集转换)

.正在将SCOTT的对象导入到SCOTT

..正在导入表"EMP"导入了14行

..正在导入表"DEPT"导入了4行

即将启用约束条件...

成功终止导入,没有出现警告。

B.恢复备份数据中的指定表

若从本地文件恢复scott备份导出的表,此时必须制定所有表,使用如下命令:

C:

\DocumentsandSettings\A4586>impscott/tigerfromuser=scotttouser=scottsfile=c:

\exp_scott_emp.dmplog=c:

\imp_scott_emp.logtables=empignore=y;

经由常规路径由EXPORT:

V10.02.01创建的导出文件

已经完成ZHS16GBK字符集和AL16UTF16NCHAR字符集中的导入

导入服务器使用AL32UTF8字符集(可能的字符集转换)

.正在将SCOTT的对象导入到SCOTTS

..正在导入表"EMP"导入了14行

即将启用约束条件...

成功终止导入,没有出现警告。

2、imp用户模式恢复

A.恢复备份数据的全部内容

若从本地文件恢复整个用户的所有表,使用如下命令

C:

\DocumentsandSettings\A4586>impscott/tigerfromuser=scotttouser=scottfile=c:

\exp_scott.dmplog=c:

\imp_scott.log;

.正在将SCOTT的对象导入到SCOTTS

B.恢复备份数据中的指定表

若从本地文件恢复该用户的部分表,注意,这里一定要使用ingore=y,使用如下命令:

C:

\DocumentsandSettings\A4586>impscott/tigerfromuser=scotttouser=scottsfile=c:

\exp_scott.dmplog=c:

\imp_scott.logtables=empignore=y;

经由常规路径由EXPORT:

V10.02.01创建的导出文件

已经完成ZHS16GBK字符集和AL16UTF16NCHAR字符集中的导入

导入服务器使用AL32UTF8字符集(可能的字符集转换)

..正在导入表"EMP"导入了14行

成功终止导入,没有出现警告。

3、imp全库模式恢复

A.恢复备份数据的全库全部内容

若从全库备份文件恢复全库,使用如下命令:

C:

\DocumentsandSettings\A4586>impscott/tigerfile=c:

\exp_full.dmplog=c:

\imp_full.logfull=y;

经由常规路径由EXPORT:

V10.02.01创建的导出文件

已经完成ZHS16GBK字符集和AL16UTF16NCHAR字符集中的导入

导入服务器使用AL32UTF8字符集(可能的字符集转换)

.正在将SYSTEM的对象导入到SYSTEM

…….

B.恢复备份数据的特定用户内容

若从全库备份文件恢复特定用户的对象,使用如下命令:

C:

\DocumentsandSettings\A4586>impscott/tigerfile=c:

\exp_full.dmplog=c:

\imp_full_scott.logfromuser=scotttouser=scottignore=y;

经由常规路径由EXPORT:

V10.02.01创建的导出文件

已经完成ZHS16GBK字符集和AL16UTF16NCHAR字符集中的导入

导入服务器使用AL32UTF8字符集(可能的字符集转换)

.正在将SCOTT的对象导入到SCOTTS

…….

C.恢复备份数据的特定表内容

若从全库备份文件恢复特定表,使用如下命令:

C:

\DocumentsandSettings\A4586>impscott/tigerfile=c:

\exp_full.dmplog=c:

\imp_full.logfromuser=scotttouser=scotttables=empignore=y;

经由常规路径由EXPORT:

V10.02.01创建的导出文件

已经完成ZHS16GBK字符集和AL16UTF16NCHAR字符集中的导入

导入服务器使用AL32UTF8字符集(可能的字符集转换)

.正在将SCOTT的对象导入到SCOTT

..正在导入表"EMP"导入了14行

即将启用约束条件...

成功终止导入,没有出现警告。

五、exp/imp增量参数INCTYPE

1、exp增量备份条件

增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须使用SYSTEM账号来导出。

在进行此种导出时,系统不要求回答任何问题。

导出文件名缺省为export.dmp,如果不希望自己的输出档定名为export.dmp,必须在命令行中指出要用的文件名。

当全库备份比较小时候,采用数据库备份更便于恢复。

执行增量备份必须满足下列条件:

1.只对完整数据库备份有效,且第一次需要full=y参数,以后需要inctype=incremental参数。

2.用户必须有EXP_FULL_DATABASE的系统角色。

2、exp增量备份类型

增量导出包括三种类型:

(1)“完全”增量导出(Complete)

备份整个数据库,脚本内容如下:

C:

\DocumentsandSettings\A4586>expsystem/oracleinctype=completefile=c:

\exp_incr_full.dmplog=c:

\exp_incr_full.log

(2)“增量型”增量导出(Incremental)

  备份上一次备份后改变的数据,脚本内容如下:

C:

\DocumentsandSettings\A4586>expsystem/oracleinctype=incrementalfile=c:

\exp_incr_incr.dmplog=c:

\exp_incr_incr.log

(3)“累积型”增量导出(Cumulative)

  备份自上次“完全”导出之后数据库中变化了的数据。

脚本内容如下:

C:

\DocumentsandSettings\A4586>expsystem/oracleinctype=cumulativefile=c:

\exp_incr_cum.dmplog=c:

\exp_incr_cum.log

 六、增量备份恢复实例

1、exp增量备份恢复策略

数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。

  比如数据库的备分任务可以做如下安排:

  星期一:

完全导出(export_A.dmp)

  星期二:

增量导出(export_B.dmp)

  星期三:

增量导出(export_C.dmp)

  星期四:

增量导出(export_D.dmp)

  星期五:

累计导出(export_E.dmp)

  星期六:

增量导出(export_F.dmp)

  星期日:

增量导出(export_G.dmp)

如果在星期日,数据库遭到意外破坏,数据库管理员可按照如下步骤恢复数据库:

  第一步:

用命令CREATEDATABASE重新生成数据库结构;

  第二步:

创建一个足够大的附加回滚,供imp使用。

  第三步:

完全增量导入A:

  impsystem/managerinctype=RESTOREFULL=yFILE=A

  第四步:

累计增量导入E:

  impsystem/managerinctype=RESTOREFULL=YFILE=E

  第五步:

最近增量导入F:

  impsystem/managerinctype=RESTOREFULL=YFILE=F

2、A时间点全备

C:

\DocumentsandSettings\A4586>sqlplussys/oracleassysdba

SQL*Plus:

Release10.2.0.1.0-Productionon星期三11月717:

03:

412012

Copyright(c)1982,2005,Oracle.Allrightsreserved.

连接到:

OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production

WiththePartitioning,OLAPandDataMiningoptions

SQL>grantdbatoscott;

SQL>createtablespacetbs_incrdatafile'D:

\oracle\product\10.2.0\oradata\xmlgis\tbs_incr.dbf'size10Mautoextendonnext10Mmaxsizeunlimited;

SQL>createtablescott.a(statusvarchar(20),weektimevarchar(20))tablespacetbs_incr;

SQL>insertintoscott.avalues('insert','A');

SQL>commit;

C:

\DocumentsandSettings\A4586>expscott/tigerinctype=completefile=c:

\exp_incr_A.dmplog=c:

\exp_incr_A.log;

日志中发现如下:

.即将导出SCOTT的表通过常规路径...

..正在导出表A导出了1行

3、B时间点增量备份

SQL>createtablescott.b(statusvarchar(20),weektimevarchar(20))tablespacetbs_incr;

SQL>insertintoscott.bvalues('insert','b');

SQL>in

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1