1、 第第8章章 备份和恢复备份和恢复 本章知识点本章知识点p导入导入/导出导出p数据泵技术数据泵技术p RMAN技术技术p闪回(闪回(Flashback)技术)技术备份和恢复概述备份和恢复概述 1 1 概念概念备份(名词):数据库信息的一个拷贝。备份(名词):数据库信息的一个拷贝。备份(动词)备份(动词):通过特定的方法,将数据:通过特定的方法,将数据库的必要文件复制到库的必要文件复制到转储设备转储设备的过程。的过程。转储设备转储设备:用于放置数据库拷贝的磁带:用于放置数据库拷贝的磁带或磁盘。或磁盘。恢复:将已备份的恢复:将已备份的数据信息数据信息还原到数据库还原到数据库系统中去,将数据库返回到
2、需要的状态。系统中去,将数据库返回到需要的状态。对于对于Oracle而言,而言,这些信息这些信息包括包括控制文件控制文件、数据文件数据文件以及以及重做日志文件重做日志文件等。等。在某些情况下,数据库的一些数据可能丢在某些情况下,数据库的一些数据可能丢失或被破坏,那么失或被破坏,那么DBA就需要将数据库重新就需要将数据库重新设置(或恢复)到以前的某个时刻,这个时设置(或恢复)到以前的某个时刻,这个时刻的数据库是完整的、正确的。刻的数据库是完整的、正确的。备份和恢复概述备份和恢复概述 2 2 数据库备份的数据库备份的目的目的:为了防止意外事件发生而造成数据为了防止意外事件发生而造成数据库的破坏后恢
3、复数据库中的数据信息。库的破坏后恢复数据库中的数据信息。备份和恢复概述备份和恢复概述 3 备份的类型备份的类型逻辑备份逻辑备份物理备份物理备份导入导出方式导入导出方式冷备份冷备份NoarchiveStyle热备份热备份ArchiveStyle优点优点能够针对能够针对行对象行对象进行备份,能够进行备份,能够跨平台实施备份跨平台实施备份操作并迁移数据,操作并迁移数据,数据库可以不关数据库可以不关闭闭备份和恢复备份和恢复迅速迅速,容易达到容易达到低维护低维护,高安全高安全的效果,的效果,执行效率高执行效率高(理论上)可(理论上)可以根据日志回以根据日志回溯到上一秒的溯到上一秒的操作,备份恢操作,备份
4、恢复更为复更为精确精确,而且而且不需要关不需要关闭数据库闭数据库缺点缺点导出方式并导出方式并不能不能保护介质失效保护介质失效,它仅仅是逻辑上它仅仅是逻辑上的备份的备份单独使用时,单独使用时,只只能提供到某一时能提供到某一时间点上间点上的恢复,的恢复,不能不能按按表表和按和按用用户户恢复而且必须恢复而且必须关闭数据库关闭数据库过程较其他过程较其他方式方式复杂复杂,需要,需要不少不少空间空间存放归档文存放归档文件,件,操作不允许操作不允许失误失误,否则恢复,否则恢复不能进行不能进行逻辑备份逻辑备份物理备份物理备份导入导出方式导入导出方式冷备份冷备份NoarchiveStyle热备份热备份Archi
5、veStyle3 备份的类型备份的类型适用适用范围范围一般用于一般用于有规律的有规律的日常备份日常备份数据库数据库可以暂时可以暂时关闭关闭,或者需要,或者需要和热备份配合和热备份配合使使用时用时数据库数据库访问量访问量小小,或需要,或需要实实现表空间及库现表空间及库文件级文件级的备份,的备份,或需要更或需要更高精高精确确备份时备份时逻辑备份逻辑备份物理备份物理备份导入导出方式导入导出方式冷备份冷备份NoarchiveStyle热备份热备份ArchiveStyle3 备份的类型备份的类型8.1 导入导入/导出导出导出是数据库的导出是数据库的逻辑备份逻辑备份导入是数据库的导入是数据库的逻辑恢复逻辑
6、恢复。在在Oracle中,中,Export实用程序就是用来完实用程序就是用来完成这样的数据库备份的。若要恢复使用由一个成这样的数据库备份的。若要恢复使用由一个导出生成的文件,可使用导出生成的文件,可使用Import实用程序。实用程序。在在命令提示符命令提示符窗口输入窗口输入EXP HELP=Y调调用用EXP命令的帮助信息。命令的帮助信息。执行导入导出操作的用户必须具有执行导入导出操作的用户必须具有DBA角色,或者角色,或者exp_full_database权限。权限。如:查看当前用户被授予的角色如:查看当前用户被授予的角色 select *from user_role_privs;8.1 导入
7、导入/导出导出select *from user_sys_privs;-查看当前用户被授予的系统权限查看当前用户被授予的系统权限8.1 导入导入/导出导出导出有导出有3种模式:种模式:用户用户(User)模式模式:导出:导出用户用户所有对象以及对所有对象以及对象中的数据。象中的数据。表表(Table)模式模式:导出用户的:导出用户的所有所有表或者用表或者用户户指定指定的表。的表。全局全局(Full)模式模式(数据库模式数据库模式):导出数据库:导出数据库中所有对象。中所有对象。8.1.1 导出导出导出有三种方式:导出有三种方式:(1)交互方式。交互方式。在输入在输入Exp命令后,根据系统的提示
8、输入导命令后,根据系统的提示输入导出参数。出参数。(2)命令行方式。命令行方式。(3)参数文件方式。参数文件方式。关键参数是关键参数是Parfile。8.1.1 导出导出【例】以【例】以交互方式交互方式进行数据库中的表进行数据库中的表XS的导出。的导出。C:exp /*在在命令提示符命令提示符下输入下输入EXP,然后回车,然后回车*/Export:Release 10.2.0.1.0 Production on 星期四星期四 6月月8 15:18:18 2006 Copyright 1982,2005,Oracle.All rights reserved.用户名:用户名:system /*输入
9、用户名和口令输入用户名和口令*/口令:口令:连接到:连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Production导出表导出表With the Partitioning,OLAP and Data Mining options输入数组提取缓冲区大小:输入数组提取缓冲区大小:4096 /*这里使用默认值,直接回车即可这里使用默认值,直接回车即可*/导出文件:导出文件:EXPDAT.DMPXS.DMP /*输入导出文件名称输入导出文件名称*/(1)E(完整的数据库完整的数据库),(2)U(用户用户)或或(3)T(表表
10、):(2)U T /*在这里选择要导出的类型,我们选择表在这里选择要导出的类型,我们选择表*/导出表数据导出表数据(yes/no):yes/*使用默认设置,导出表数据使用默认设置,导出表数据*/压缩区压缩区(yes/no):yes/*使用默认设置,压缩区使用默认设置,压缩区*/导出表导出表已导出已导出ZHS16GBK字符集和字符集和AL16UTF16 NCHAR字符字符集集 即将导出指定的表通过常规路径即将导出指定的表通过常规路径要导出的表(要导出的表(T)或分区()或分区(T:P):():(RETURN退出)退出)XS /*在此输入要导出的表名称在此输入要导出的表名称*/正在导出表正在导出表
11、XS22行被导出行被导出 要导出的表(要导出的表(T)或分区()或分区(T:P):():(RETURN以以退出)退出)/*导出表导出表XS完毕,直接回车即可完成导完毕,直接回车即可完成导出工作。若要导出其他表,在此输入表名即可出工作。若要导出其他表,在此输入表名即可*/在没有警告的情况下成功终止导出。在没有警告的情况下成功终止导出。导出表导出表【例】以【例】以命令行方式命令行方式进行数据库中的表进行数据库中的表XS的的导出。导出。D:exp userid=system/oracle full=N file=d:xs.dmp tables=xs注意注意:若想一次导出多个表则:若想一次导出多个表则
12、tables=(xs,kc)若想导出其他方案下的表,如若想导出其他方案下的表,如scott方方案,则案,则tables=(scott.xs)导出表导出表 参数模式其实就是将命令行中命令后面参数模式其实就是将命令行中命令后面所带的参数写在一个参数文件中,然后再使所带的参数写在一个参数文件中,然后再使用命令,使后面带一个调用该文件的参数。用命令,使后面带一个调用该文件的参数。可通过普通的可通过普通的文本文件编辑器文本文件编辑器来创建这来创建这个文件。个文件。为了便于标识,将该参数文件命名为了便于标识,将该参数文件命名为为.parfile的后缀。的后缀。导出表导出表【例【例】以】以参数方式参数方式导
13、出导出XS表表在在D:建立一个参数文件建立一个参数文件xs.parfile内容为:内容为:userid=system/oracle full=N file=d:xs.dmp tables=xsD:exp parfile=xs.parfile导出表导出表导出方案导出方案使用使用system身份导出身份导出system方案。方案。EXP userid=system/oracle owner=system file=d:systemfa.dmp full=n导出数据库导出数据库EXP userid=system/oraclefile=d:dbbk.dmp full=y 8.1.2 导入导入 导出数据
14、可以通过导出数据可以通过Oracle的的Import实用实用程序导入。程序导入。当数据库出现错误的修改或删除操作时,当数据库出现错误的修改或删除操作时,利用导入操作通过导出文件恢复重要的数据。利用导入操作通过导出文件恢复重要的数据。导入操作可导入操作可交互模式交互模式进行也可通过进行也可通过命令命令行模式或参数模式行模式或参数模式进行。进行。【例】以【例】以交互模式交互模式进行数据库中进行数据库中XS表的导入。表的导入。D:imp /*在命令提示符下输入在命令提示符下输入IMP,然后回车,然后回车*/Import:Release 10.2.0.1.0 Production on 星期四星期四
15、6月月8 15:3 8:18 2006 Copyright 1982,2005 Oracle.All rights reserved.用户名:用户名:system /*输入用户名和口令输入用户名和口令*/口令:口令:连接到:连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Production导入表导入表With the Partitioning,OLAP and Data Mining options导入文件:导入文件:EXPDAT.DMPXS.DMP/*输入要导入的输入要导入的导出转储文件名导出转储文件名*/输入插入
16、缓冲区大小(最小为输入插入缓冲区大小(最小为8192)30720/*使用默认设置,然后回车使用默认设置,然后回车*/经由常规路径导出由经由常规路径导出由EXPORT:V10.02.00创建的文创建的文件件已经完成已经完成ZHS16GBK字符集和字符集和AL16UTF16 NCHAR字符集中的导入字符集中的导入 只列出导入文件的内容(只列出导入文件的内容(yes/no):):no导入表导入表由于对象已存在,忽略创建错误(由于对象已存在,忽略创建错误(yes/no):):no 导入权限(导入权限(yes/no):):yes 导入表数据(导入表数据(yes/no):):yes 导入整个导出文件(导入
17、整个导出文件(yes/no):):no 用户名:用户名:system/*输入用户名,导入的数据将会在输入用户名,导入的数据将会在此用户模式下创建此用户模式下创建*/输入表(输入表(T)或分区()或分区(T:P)名称。空列表表示)名称。空列表表示用户的所有表用户的所有表 输入表(输入表(T)或分区()或分区(T:P)名称或。如果完成:)名称或。如果完成:XS/*输入要创建的表的名称输入要创建的表的名称*/导入表导入表输入表(输入表(T)或分区()或分区(T:P)名称或。如果完)名称或。如果完成:成:正在将正在将ADMIN的对象导入到的对象导入到ADMIN正在导入表正在导入表“XS”22行被导行被
18、导入入准备启用约束条件准备启用约束条件成功终止导入,但出现警告。成功终止导入,但出现警告。导入表导入表命令行模式命令行模式 D:imp USERID=system/oracleFULL=NFILE=d:XS.DMPTABLES=XS导入表导入表参数模式参数模式以下是一个参数文件的内容:以下是一个参数文件的内容:USERID=system/oracleFULL=NFILE=d:XS.DMPTABLES=XS使用参数模式执行过程如下:使用参数模式执行过程如下:D:imp PARFILE=d:XS.PARFILE 导入表导入表导入方案导入方案例:以例:以system身份导入身份导入system方案方
19、案 IMP userid=system/oracle file=d:system.dmp fromuser=system touser=system导入数据库导入数据库 相当于数据库迁移相当于数据库迁移 IMP userid=system/oracle full=y file=d:dbbk.dmp8.1.3 数据泵导入数据泵导入/导出导出数据泵概述数据泵概述 数据泵(数据泵(Data Pump)是)是Oracle 10g新增新增的的实用程序,它是可以从数据库中高速导出或加实用程序,它是可以从数据库中高速导出或加载数据库的方法,可以自动管理多个并行的数载数据库的方法,可以自动管理多个并行的数据流
20、。据流。数据泵可以实现在测试环境、开发环境、数据泵可以实现在测试环境、开发环境、生产环境以及高级复制或热备份数据库之间的生产环境以及高级复制或热备份数据库之间的快速数据迁移快速数据迁移;数据泵还能实现部分或全部数;数据泵还能实现部分或全部数据库逻辑备份,以及据库逻辑备份,以及跨平台的可传输表空间备跨平台的可传输表空间备份份。数据泵技术相对应的工具是数据泵技术相对应的工具是Data Pump Export和和Data Pump Import。它的功能与前面介绍的它的功能与前面介绍的EXP和和IMP类似,所类似,所不同的是数据泵的高速并行的设计使得服务不同的是数据泵的高速并行的设计使得服务器运行时
21、执行导入和导出任务器运行时执行导入和导出任务快速装载快速装载或或卸卸载大量数据载大量数据。数据泵可实现数据泵可实现断点重启断点重启数据泵技术是基于数据泵技术是基于EXP/IMP的操作,主要用的操作,主要用于于对大量数据对大量数据的的大的作业操作大的作业操作。数据泵概述数据泵概述1.使用使用EXPDP导出导出EXPDP可以可以交互交互进行也可以通过进行也可以通过命令命令进行。进行。EXPDP关键字关键字dumpfile:目标转储文件目标转储文件(.dmp)的列表的列表job_name:要创建的导出作业的名称要创建的导出作业的名称tables:列出要导出的表的列表列出要导出的表的列表directo
22、ry:供转储文件使用的目录对象供转储文件使用的目录对象数据泵的使用数据泵的使用表表8.3 EXPDP关键字关键字数据泵的使用数据泵的使用导出导出【例】使用【例】使用EXPDP导出导出system用户的表用户的表XS。(1)EXPDP准备工作。在使用准备工作。在使用EXPDP之前,需要创之前,需要创建一个目录,用来存储数据泵导出的数据。使用如建一个目录,用来存储数据泵导出的数据。使用如下方法创建目录:下方法创建目录:SQLCREATE DIRECTORY dpump_dir as d:bak;在目录创建后,必须给导入导出的用户赋予目录的在目录创建后,必须给导入导出的用户赋予目录的读写权限。读写权
23、限。SQLGRANT READ,WRITE ON DIRECTORY dpump _dir TO system;【例】使用【例】使用EXPDP导出导出system用户的表用户的表XS。(2)使用使用EXPDP导出数据。导出数据。D:expdp system/oracle dumpfile=xs.dmp directory=dpump _dir tables=xs job_name=xs_job数据泵的使用数据泵的使用导出导出Export:Release 10.2.0.1.0-Production on Export:Release 10.2.0.1.0-Production on 星期六星期六
24、,10 6,10 6月月,2006 16:31:54,2006 16:31:54Copyright(c)2003,2005,Oracle.All rights reserved.Copyright(c)2003,2005,Oracle.All rights reserved.连接到连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0-Production:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0-ProductionWith the Partition
25、ing,OLAP and Data Mining optionsWith the Partitioning,OLAP and Data Mining options启动启动 “system.XS_JOB:admin/system.XS_JOB:admin/*dumpfile=xs.dmp directory=dpump_dir dumpfile=xs.dmp directory=dpump_dir tables=xs job_name=xs_jobtables=xs job_name=xs_job正在使用正在使用 BLOCKS BLOCKS 方法进行估计方法进行估计.处理对象类型处理对象类型
26、TABLE_EXPORT/TABLE/TABLE_DATATABLE_EXPORT/TABLE/TABLE_DATA使用使用 BLOCKS BLOCKS 方法的总估计方法的总估计:64 KB:64 KB处理对象类型处理对象类型 TABLE_EXPORT/TABLE/TABLETABLE_EXPORT/TABLE/TABLE处理对象类型处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEXTABLE_EXPORT/TABLE/INDEX/INDEX处理对象类型处理对象类型 TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINTTABLE_EXPORT
27、/TABLE/CONSTRAINT/CONSTRAINT处理对象类型处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICSTABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS.导出了导出了 “system.XSsystem.XS 7.828 KB 22 7.828 KB 22 行行已成功加载已成功加载/卸载了主表卸载了主表 “system.XS_JOBsystem.XS_JOB*system.XS_JOBsystem.XS_JOB 的转储文件集为的转储文件集为:D:BAKXS.D
28、MPD:BAKXS.DMP作业作业 “system.XS_JOBsystem.XS_JOB 已于已于 16:33:48 16:33:48 成功完成成功完成数据泵的使用数据泵的使用导出导出【例【例】使用】使用xs.dmp导出文件导入表导出文件导入表XS。D:impdp system/oracle dumpfile=xs.dmp directory=dpump _dir;数据泵的使用数据泵的使用导入导入8.1.4 脱机备份脱机备份 脱机备份又称脱机备份又称冷备份冷备份。冷备份是数据库文件的。冷备份是数据库文件的物理备份,需要在数据库物理备份,需要在数据库关闭状态关闭状态下进行。通常在下进行。通常在
29、数据库通过一个数据库通过一个shutdown immediate命令正常关闭命令正常关闭后进行。后进行。当数据库关闭时,其使用的各个文件都可以进当数据库关闭时,其使用的各个文件都可以进行备份。这些文件构成一个数据库关闭时的一个完行备份。这些文件构成一个数据库关闭时的一个完整映像。整映像。冷备份要备份文件包括冷备份要备份文件包括所有数据文件所有数据文件、所有控所有控制文件制文件、所有联机重做日志所有联机重做日志、init.ora文件和文件和SPFILE文件文件(可选可选)。【例】把数据库的所有数据文件、重做日志文件和【例】把数据库的所有数据文件、重做日志文件和控制文件都备份。控制文件都备份。(1
30、)正常关闭要备份的实例正常关闭要备份的实例SQLconnect /as sysdbaSQLshutdown immediate(2)备份数据库备份数据库使用操作系统的备份工具,备份所有的数据文件、使用操作系统的备份工具,备份所有的数据文件、重做日志文件、控制文件和参数文件。重做日志文件、控制文件和参数文件。(3)启动数据库启动数据库 SQLstartup 8.1.4 脱机备份脱机备份8.1.5 联机备份联机备份联机备份联机备份又可称为又可称为热备份热备份或或ARCHIVELOG备份备份。联机备份要求数据库运行在联机备份要求数据库运行在ARCHIVELOG方式下。方式下。Oracle是以循环方式
31、写联机重做日志文件,写满第是以循环方式写联机重做日志文件,写满第一个日志后,开始写第二个,依次类推。当最后一个一个日志后,开始写第二个,依次类推。当最后一个联机重做日志文件写满后,联机重做日志文件写满后,LGWR(Log Writer)后台后台进程开始重新向第一个文件写入内容。进程开始重新向第一个文件写入内容。当当Oracle运行在运行在ARCHIVELOG方式时,方式时,ARCH后后台进程重写重做日志文件前将每个重做日志文件做一台进程重写重做日志文件前将每个重做日志文件做一份拷贝。份拷贝。8.2RMAN技术技术 p基本概念基本概念 p将数据库设置为归档日志模式将数据库设置为归档日志模式 p创
32、建恢复目录所使用的表空间创建恢复目录所使用的表空间 p创建创建RMAN用户并授权用户并授权 p创建恢复目录创建恢复目录 p注册目标数据库注册目标数据库 pRMAN备份和恢复备份和恢复 RMAN技术技术 RMAN(Recovery Manager)恢复管理恢复管理器,是器,是Oracle提供的用来备份和恢复数据提供的用来备份和恢复数据库的工具。库的工具。能够备份整个数据库或数据库部件,能够备份整个数据库或数据库部件,包括:表空间、数据文件和归档文件。包括:表空间、数据文件和归档文件。RMAN技术的优点技术的优点(1)允许进行增量)允许进行增量数据块级数据块级的备份。的备份。(2)RMAN只备份数
33、据文件中只备份数据文件中使用使用的的数据块,忽略空的、未用的数据块。数据块,忽略空的、未用的数据块。(3)含有数据块的逻辑检查与备份可用)含有数据块的逻辑检查与备份可用性的检查。保证备份的性的检查。保证备份的最大可靠性最大可靠性。基本概念基本概念 p备份片(备份片(Backup pieces)p备份集合(备份集合(Backup sets)p通道(通道(channel)p多文件备份(多文件备份(File multiplexing)p全备份集合(全备份集合(Full backup sets)p镜像复制(镜像复制(Image copies)p增量备份集合(增量备份集合(Incremental bac
34、kup sets)p恢复目录(恢复目录(catalog)p恢复目录同步(恢复目录同步(Recovery catalog resyncing)基本概念基本概念 备份片(备份片(Backup pieces)一个备份集由若干个备份片组成。每个备一个备份集由若干个备份片组成。每个备份片是一个单独的输出文件。份片是一个单独的输出文件。一个备份片的大小是有限制的;备份片的大一个备份片的大小是有限制的;备份片的大小小不能大于不能大于使用的文件系统所支持的文件长使用的文件系统所支持的文件长度的最大值。度的最大值。基本概念基本概念备份集合(备份集合(Backup sets)由若干个备份片组成。由若干个备份片组成
35、。备份集包括备份集包括数据库文件数据库文件或或归档日志归档日志,并以并以Oracle专有的格式保存。专有的格式保存。通道(通道(channel)一个通道是一个通道是 RMAN和目标数据库之间的和目标数据库之间的一个一个连接连接,allocate channel命令在目标数命令在目标数据库启动一个服务器进程,同时必须定据库启动一个服务器进程,同时必须定义服务器进程执行备份或者恢复操作使义服务器进程执行备份或者恢复操作使用的用的 I/O类型。类型。基本概念基本概念多文件备份(多文件备份(File multiplexing)将不同的多个数据文件的数据块混合备将不同的多个数据文件的数据块混合备份在一个
36、备份集中。份在一个备份集中。基本概念基本概念 全备份集合(全备份集合(Full backup setsFull backup sets)全备份:对数据文件中全备份:对数据文件中使用过使用过的数的数据块的备份。没有使用过的数据块据块的备份。没有使用过的数据块不进行备份。不进行备份。基本概念基本概念 镜像复制(镜像复制(Image copies)镜像复制是独立文件(数据文件、归档日镜像复制是独立文件(数据文件、归档日志、控制文件)的复制。志、控制文件)的复制。它类似于操作系统级的文件复制。它类似于操作系统级的文件复制。它不是备份集或备份片,也没有被压缩它不是备份集或备份片,也没有被压缩基本概念基本
37、概念增量备份集合(增量备份集合(Incremental backup sets)增量备份是指备份数据文件自从上增量备份是指备份数据文件自从上一次同一级别的或更低级别的备份以一次同一级别的或更低级别的备份以来来被修改过被修改过的数据块。的数据块。基本概念基本概念 恢复目录(恢复目录(catalog)恢复目录是由恢复目录是由RMAN使用、维护的,使用、维护的,用来放置备份信息的仓库。用来放置备份信息的仓库。基本概念基本概念 恢复目录同步(恢复目录同步(Recovery catalog Recovery catalog resyncingresyncing)使用恢复管理器执行使用恢复管理器执行 ba
38、ckupbackup、copycopy、restore restore 或者或者 switch switch 命令时,恢复目录自命令时,恢复目录自动进行更新,但是有关日志与归档日志信息动进行更新,但是有关日志与归档日志信息没有自动记入恢复目录。需要进行目录同步。没有自动记入恢复目录。需要进行目录同步。使用使用 resyncresync catalog catalog命令进行同步。命令进行同步。基本概念基本概念了解恢复目录了解恢复目录 对于重要的数据库,建议创建恢复目对于重要的数据库,建议创建恢复目录,恢复目录也是一个录,恢复目录也是一个数据库数据库,只不过,只不过这个数据库用来保存备份信息,一
39、个恢这个数据库用来保存备份信息,一个恢复目录可以用来备份多个数据库。复目录可以用来备份多个数据库。如果没有建立恢复目录,则备份信如果没有建立恢复目录,则备份信息将保存在控制文件中,安全性低。息将保存在控制文件中,安全性低。步步 骤骤 将数据库设置为归档模式将数据库设置为归档模式 创建恢复目录所使用的表空间创建恢复目录所使用的表空间 创建创建RMANRMAN用户并授权用户并授权 创建恢复目录创建恢复目录 注册目标数据库注册目标数据库 RMANRMAN备份和恢复备份和恢复 步骤步骤1:将数据库设置为归档日志模式:将数据库设置为归档日志模式 p查看到当前数据库实例的查看到当前数据库实例的编号编号、名
40、称名称、日志日志模式模式和和平台平台信息:信息:select dbid,name,log_mode,platform_name from v$database;步骤步骤1:将数据库设置为归档日志模式:将数据库设置为归档日志模式 p修改日志模式修改日志模式(1)以)以SYSDBA的身份登录的身份登录:connect /as sysdba(2)关闭数据库:)关闭数据库:shutdown immediate(3)启动数据库,但不打开实例:)启动数据库,但不打开实例:startup mount(4)切换实例为归档日志模式:)切换实例为归档日志模式:alter database archivelog;(
41、5)将数据库修改到打开状态:将数据库修改到打开状态:alter database open;步骤步骤2:创建恢复目录所使用的表空间:创建恢复目录所使用的表空间 创建表空间创建表空间(存放与存放与RMAN相关的数据)相关的数据)create tablespace rman_ts datafile D:oracle rman_ts.dbf size 200M;步骤步骤3:创建:创建RMAN用户并授权用户并授权 p创建用户创建用户【例】创建用户【例】创建用户rman,口令为,口令为rman,默认表空间,默认表空间为为rman_ts,临时表空间为,临时表空间为temp:create user rman
42、 identified by rman default tablespace rman_ts temporary tablespace temp;p为用户授予权限:为用户授予权限:grant connect,recovery_catalog_owner,resource to rman;步骤步骤4:创建恢复目录:创建恢复目录 打开恢复管理器。打开恢复管理器。rman命令的主要参数:命令的主要参数:target。后面跟目标数据库的连接字符串。后面跟目标数据库的连接字符串。catalog。后面跟恢复目录。后面跟恢复目录。nocatalog。指定没有恢复目录。指定没有恢复目录。【例】打开【例】打开m
43、yoracle数据库实例恢复管理器,恢复数据库实例恢复管理器,恢复目录为目录为rman:C:rman catalog rman/rman target myoracle【例】使用【例】使用rman_ts表空间创建恢复目录:表空间创建恢复目录:C:create catalog tablespace rman_ts;步骤步骤5:注册目标数据库:注册目标数据库 p对数据库进行注册对数据库进行注册(register database命令命令)RMAN register database;只有注册的数据库才能进行备份只有注册的数据库才能进行备份和恢复操作。和恢复操作。步骤步骤6:RMAN备份和恢复备份和
44、恢复 prun命令定义一组要执行的语句。命令定义一组要执行的语句。p【例】执行全数据库备份:【例】执行全数据库备份:RMAN run 2 allocate channel dev1 type disk;3 backup database;4 release channel dev1;5 RMAN备份和恢复备份和恢复 p【例】单独备份归档日志文件:【例】单独备份归档日志文件:RMAN run 2 allocate channel dev1 type disk;3 backup archivelog all;6 release channel dev1;7 p查看备份集的信息。查看备份集的信息。l
45、ist backup;步骤步骤5:RMAN备份和恢复备份和恢复 p恢复归档日志信息。恢复归档日志信息。RMAN run 2 allocate channel dev1 type disk;3 restore archivelog all;6 release channel dev1;7 8.3闪回(闪回(Flashback)技术)技术 p 闪回技术概述闪回技术概述 p 闪回数据库闪回数据库 p 闪回表闪回表 p 闪回回收站闪回回收站 p 闪回查询(闪回查询(Flashback Query)p 闪回版本查询闪回版本查询 p 闪回事务查询闪回事务查询 闪回技术概述闪回技术概述 p闪回恢复区是用来存
46、储恢复相关文件的存储空间闪回恢复区是用来存储恢复相关文件的存储空间目录。目录。文件系统。文件系统。自动存储管理(自动存储管理(ASM)磁盘组。)磁盘组。p可以在闪回恢复区中存储如下几种文件:可以在闪回恢复区中存储如下几种文件:控制文件。控制文件。归档的日志文件。归档的日志文件。闪回日志。闪回日志。控制文件和控制文件和 SPFILE 自动备份。自动备份。RMAN 备份集。备份集。数据文件拷贝。数据文件拷贝。闪回数据库闪回数据库 p 查看闪回恢复区的初始化参数查看闪回恢复区的初始化参数 闪回表闪回表 p使用使用flashback table语句可以对表进行闪语句可以对表进行闪回操作:回操作:Fla
47、shback table To before drop rename to|scn|timestamp Enable|disable triggers;闪回回收站闪回回收站【例】如何查看和使用【例】如何查看和使用Oracle回收站。回收站。(1)查看回收站中的数据。)查看回收站中的数据。(2)从回收站中恢复数据。)从回收站中恢复数据。(3)删除回收站中的数据。)删除回收站中的数据。闪回查询(闪回查询(Flashback Query)p要 实 现 闪 回 查 询,必 须 将 初 始 化 参 数要 实 现 闪 回 查 询,必 须 将 初 始 化 参 数UNDO_MANAGEMENT设置为设置为AU
48、TO,这是此参,这是此参数的默认值。数的默认值。p初始化参数初始化参数UNDO_RETENTION决定了能往前决定了能往前闪回查询的最大时间,值越大可以往前闪回查询闪回查询的最大时间,值越大可以往前闪回查询的最大时间越长,但占用的磁盘空间也越大。的最大时间越长,但占用的磁盘空间也越大。闪回版本查询闪回版本查询【例】演示闪回版本的查询。【例】演示闪回版本的查询。(1 1)首先创建一个测试用的表)首先创建一个测试用的表testtest,它由一个,它由一个numbernumber类型字段类型字段scorescore组成。组成。11:28:47 SQL create table test(score
49、number);(2 2)在表中插入一条记录。)在表中插入一条记录。11:29:06 SQL insert into test values(100);11:29:13 SQL commit;闪回版本查询闪回版本查询(3 3)更新表中的数据。)更新表中的数据。11:29:15 SQL update test set score=110 where score=100;11:29:28 SQL commit;(4 4)删除表中的数据。)删除表中的数据。13:32:13 SQL delete from test where score0;13:32:24 SQL commit;闪回版本查询闪回版本
50、查询(5 5)使用闪回版本查询。)使用闪回版本查询。11:29:45 SQL select versions_starttime,versions_operation,score11:29:52 2 from test versions between timestamp minvalue and maxvalue;闪回事务查询闪回事务查询 p闪回事务保存表闪回事务保存表flashback_transaction_query 13:52:23 SQL select table_name,undo_sql from flashback_transaction_query where rownum