oracletopic10数据库备份与恢复_第1页
oracletopic10数据库备份与恢复_第2页
oracletopic10数据库备份与恢复_第3页
oracletopic10数据库备份与恢复_第4页
oracletopic10数据库备份与恢复_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库备份与恢复数据库备份与恢复涂利明涂利明 主要内容数据库备份数据库备份1数据库恢复数据库恢复2344数据库备份与恢复概念数据库备份与恢复概念v 备份与恢复是数据库管理中最重要的方面之备份与恢复是数据库管理中最重要的方面之 一。如果一。如果数据库崩溃却没有办法恢复它,那么会对企业造成毁灭数据库崩溃却没有办法恢复它,那么会对企业造成毁灭性的结果。性的结果。v 数据库的备份是数据库中数据的副本,它可以保护数据数据库的备份是数据库中数据的副本,它可以保护数据在出现意外损失时最大限度的恢复。在出现意外损失时最大限度的恢复。v OracleOracle数据库使用几种结构来保护数据:数据库后备、数据库使

2、用几种结构来保护数据:数据库后备、日志、回滚段和控制文件。日志、回滚段和控制文件。数据库系统故障类型v 导致数据库操作中止的故障包括四种类型导致数据库操作中止的故障包括四种类型故障类型 语句故障介质故障实例故障用户进程故障在执行 SQL 语句过程中发生的逻辑故障可导致语句故障。如果用户编写的 SQL 语句无效,就会发生逻辑故障当用户程序出错而无法访问数据库时发生用户进程故障。导致用户进程故障的原因是异常断开连接或异常终止进程 当 Oracle 的数据库实例由于硬件或软件问题而无法继续运行时,就会发生实例故障在数据库无法正确读取或写入某个数据库文件时,会发生介质故障 备份与恢复的策略1.1.多路

3、复用控制文件及多个并发备份多路复用控制文件及多个并发备份2.2.多路复用联机重做日志文件多路复用联机重做日志文件3.3.在在ARCHIVELOG ARCHIVELOG 模式下运行数据库,并将重做日志模式下运行数据库,并将重做日志存档至多个位置存档至多个位置4.4.时常备份物理数据文件,尽可能创建多个副本到可时常备份物理数据文件,尽可能创建多个副本到可靠的位置靠的位置备份与恢复的几类重要数据结构1.1.数据文件数据文件2.2.联机重做日志文件联机重做日志文件3.3.控制文件控制文件4.4.自动管理的撤销自动管理的撤销5.5.可选的备份文件可选的备份文件( (参数文件、密码文件参数文件、密码文件)

4、 )归档模式的设置v Oracle Oracle 数据库可以运行在两种模式:数据库可以运行在两种模式: 非归档日志模式非归档日志模式 归档日志模式归档日志模式v 非归档日志方式可以避免实例故障,但无法避免介质故非归档日志方式可以避免实例故障,但无法避免介质故障。在此方式下,数据库只能实施冷备份。障。在此方式下,数据库只能实施冷备份。v 归档日志方式产生归档日志,用户可以使用归档日志完归档日志方式产生归档日志,用户可以使用归档日志完全恢复数据库。全恢复数据库。非归档模式下数据库工作原理表空间脱机 备份表空间恢复表空间 表空间联机 归档模式下数据库工作原理日志文件1填满 清空日志文件 2 向日志文

5、件2写入信息准备向日志文件 2 写入信息 备份日志文件2归档模式的设置v 关闭数据库:关闭数据库:shutdown immediateshutdown immediatev 以以mountmount启动数据库:启动数据库:startup mountstartup mountv 设置为归档模式:设置为归档模式:alter database archivelog;alter database archivelog;v 打开数据库:打开数据库: alter database open;alter database open;v 查看归档信息:查看归档信息:archive log listarchiv

6、e log list归档模式关键系统参数v log_archive_startlog_archive_start 自动存档启用还是禁用。自动存档启用还是禁用。 Oracle 9iOracle 9i这个参数一定要设置为这个参数一定要设置为truetrue,Oracle 10gOracle 10g可以省略可以省略不设置,把该参数设置和归档模式设置绑定在一起。不设置,把该参数设置和归档模式设置绑定在一起。v Log_archive_formatLog_archive_format 指定归档日志命名格式。指定归档日志命名格式。 log_archive_format=arc%t%s.arclog_arc

7、hive_format=arc%t%s.arc。%t%t是线程号是线程号(thread)(thread),%s%s是序号是序号( (产生日志的序号产生日志的序号) )。 v log_archive_destlog_archive_dest 指定归档日志文件存储位置。指定归档日志文件存储位置。v 可以通过数据字典视图查看归档日志信息可以通过数据字典视图查看归档日志信息 V$ARCHIVE_DEST:V$ARCHIVE_DEST:显示当前所有归档日志存储位置及其状态显示当前所有归档日志存储位置及其状态 SQL select dest_id,dest_name,status,destinationS

8、QL select dest_id,dest_name,status,destination from v$archive_dest from v$archive_dest where status=valid; where status=valid; V$ARCHIVE_LOG :V$ARCHIVE_LOG :显示历史归档日志信息显示历史归档日志信息 SQL select dest_id,name,archived SQL select dest_id,name,archived from v$archived_log; from v$archived_log;主要内容数据库备份数据库备份1

9、数据库恢复数据库恢复2344数据库备份与恢复概念数据库备份与恢复概念常见的备份类型v 联机数据库备份联机数据库备份 -使用使用archivelogarchivelog模式模式,SCN,SCN不一致不一致v 脱机数据库备份脱机数据库备份 -使用使用noarchivelognoarchivelog模式模式,SCN,SCN保持一致保持一致v 整个数据库整个数据库 -可以在不同的时间段来备份,减轻可以在不同的时间段来备份,减轻I/OI/O压力,从而构建整个数据库压力,从而构建整个数据库v 表空间表空间 -在在archivelogarchivelog模式下,当处于模式下,当处于noarchivelogn

10、oarchivelog模式下,则该表空间必须为只读或脱机模式下,则该表空间必须为只读或脱机v 数据文件数据文件 -同表空间备份同表空间备份v 控制文件控制文件 -可以使用可以使用SQLSQL语句或语句或RMANRMAN来备份来备份v 归档日志归档日志 v 参数文件参数文件备份分类v OracleOracle数据库的备份包括以下两种类型数据库的备份包括以下两种类型备份物理备份逻辑备份 对数据库的操作系统物理文件(如数据文件、控制文件和重做日志文件等)的备份 有脱机备份(冷备份)和联机 备份(热备份) 对数据库逻辑组件(如表、视 图和存储过程等数据库对象) 的备份 有导出/导入(EXPORT/IM

11、PORT)物理备份v 是所有物理文件的一个副本,比如数据文件,控制文件,是所有物理文件的一个副本,比如数据文件,控制文件,归档日志等。该副本能被存储在本地磁盘或磁带等等。归档日志等。该副本能被存储在本地磁盘或磁带等等。v 物理备份是备份或恢复的基础物理备份是备份或恢复的基础v 包括冷备份包括冷备份( (非归档模式非归档模式) )或热备份或热备份( (归档模式归档模式) )逻辑备份v 将表、存储过程等数据使用将表、存储过程等数据使用OracleOracle的的exportexport等工具等工具导出到二进制文件,后续根据需要再使用导出到二进制文件,后续根据需要再使用importimport工工具

12、导入数据库。具导入数据库。v 逻辑备份则是对物理备份的方式的一种补充,多用逻辑备份则是对物理备份的方式的一种补充,多用于数据迁移。于数据迁移。备份的分类v 1.1.全部备份与部分备份全部备份与部分备份 全部备份:包含所有的数据文件及至少一个控制文件,参数文全部备份:包含所有的数据文件及至少一个控制文件,参数文件,密码文件等。件,密码文件等。 部分备份:包含零个或多个表空间,零个或多个数据文件,可部分备份:包含零个或多个表空间,零个或多个数据文件,可能包含控制文件等。部分备份仅在归档模式下才有效。能包含控制文件等。部分备份仅在归档模式下才有效。v 2.2.映像副本与备份集映像副本与备份集 映像副

13、本:是某个文件的完整拷贝,未经过任何压缩处理,每映像副本:是某个文件的完整拷贝,未经过任何压缩处理,每个字节都与源文件相同。不支持增量备份也不能备份到磁带。个字节都与源文件相同。不支持增量备份也不能备份到磁带。 备份集:备份集: 由一个或多个称为由一个或多个称为piecepiece的物理文件组成的逻辑结构。备份片中的物理文件组成的逻辑结构。备份片中可以是数据文件,控制文件以及归档日志文件。可以是数据文件,控制文件以及归档日志文件。 支持数据的压缩,支持增量备份。支持数据的压缩,支持增量备份。 可以备份到磁盘,也可以备份到磁带。可以备份到磁盘,也可以备份到磁带。v 3.3.完整备份与增量备份完整

14、备份与增量备份 完整备份:一个或多个数据文件的一个完整副本,包含从备完整备份:一个或多个数据文件的一个完整副本,包含从备份开始处所有的数据块。份开始处所有的数据块。 增量备份:包含从最近一次次备份以来被修改或添加的数据增量备份:包含从最近一次次备份以来被修改或添加的数据块。块。 差异增量:是备份上级及同级备份以来所有变化的数据块,差差异增量:是备份上级及同级备份以来所有变化的数据块,差异增量是默认增量备份方式异增量是默认增量备份方式 累计增量:是备份上级备份以来所有变化的块累计增量:是备份上级备份以来所有变化的块v 4.4.脱机备份与联机备份脱机备份与联机备份 脱机备份:在数据库关闭阶段发生的

15、备份,又称为一致性备份脱机备份:在数据库关闭阶段发生的备份,又称为一致性备份或冷备份。在一致性关闭数据库后,控制文件或冷备份。在一致性关闭数据库后,控制文件SCNSCN与数据文件与数据文件头部头部SCNSCN一致一致 联机备份:联机备份: 在数据库使用阶段发生的备份,又称为非一致性备份或热备份。在数据库使用阶段发生的备份,又称为非一致性备份或热备份。联机备份一个数据文件不与任何特定的联机备份一个数据文件不与任何特定的SCNSCN以及控制文件同步以及控制文件同步 可以是全部备份,也可以是部分备份,能够使用可以是全部备份,也可以是部分备份,能够使用RMANRMAN或操作系统或操作系统命令完成命令完

16、成 仅仅在仅仅在archivelogarchivelog模式下模式下导出工具expv 它是操作系统下一个可执行的文件它是操作系统下一个可执行的文件 存放目录存放目录/ORACLE_HOME/bin/ORACLE_HOME/binv expexp导出工具将数据库中数据备份压缩成一个二进制系统文导出工具将数据库中数据备份压缩成一个二进制系统文件件. .可以在不同可以在不同OSOS间迁移间迁移v 它有三种模式:它有三种模式: a.a.用户模式:导出用户所有对象以及对象中的数据;用户模式:导出用户所有对象以及对象中的数据; b.b.表模式:导出用户所有表或者指定的表;表模式:导出用户所有表或者指定的表

17、; c.c.整个数据库:导出数据库中所有对象。整个数据库:导出数据库中所有对象。exp常用参数例子v 1 1、交互式、交互式exp test/test123appdbexp test/test123appdbEnter array fetch buffer size: 4096 Enter array fetch buffer size: 4096 回车回车Export file: expdat.dmp Export file: expdat.dmp d:m.dmp d:m.dmp 生成导出的文件名生成导出的文件名 (1)E(ntire database), (2)U(sers), or (3

18、)T(ables): (1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U (2)U 3 3Export table data (yes/no): yes Export table data (yes/no): yes 回车回车Compress extents (yes/no): yes Compress extents (yes/no): yes 回车回车v 导出工具导出工具expexp非交互式命令行方式的例子非交互式命令行方式的例子v exp scott/tiger tables=(emp,dept) file=d:/director

19、y/scott.dmp exp scott/tiger tables=(emp,dept) file=d:/directory/scott.dmp grants=y grants=y 说明说明: :把把scottscott用户里两个表用户里两个表emp,deptemp,dept导出到文件导出到文件d:/directory/scott.dmpd:/directory/scott.dmpv exp scott/tiger tables=emp query=where job=salesman and exp scott/tiger tables=emp query=where job=salesm

20、an and sal1600 file=/directory/scott2.dmp sal1600 file=/directory/scott2.dmp 说明说明: :在在expexp里面加上导出里面加上导出empemp的查询条件的查询条件job=salesman and job=salesman and sal1600 (sal d: expdat.dmp d:/tmp/m.dmp/tmp/m.dmpv 导入工具导入工具impimp非交互式命令行方式的例子非交互式命令行方式的例子 $ imp system/manager fromuser=jones tables=(accts) $ imp

21、 system/manager fromuser=jones tables=(accts) $ imp system/manager fromuser=scott tables=(emp,dept) $ imp system/manager fromuser=scott tables=(emp,dept) $ imp system/manager fromuser=scott touser=joe tables=emp $ imp system/manager fromuser=scott touser=joe tables=emp $ imp scott/tiger file = expda

22、t.dmp full=y $ imp scott/tiger file = expdat.dmp full=y $ imp scott/tiger file = /mnt1/t1.dmp show=n buffer=2048000 ignore=n $ imp scott/tiger file = /mnt1/t1.dmp show=n buffer=2048000 ignore=n commit=y grants=y full=y log=/oracle_backup/log/imp_scott.logcommit=y grants=y full=y log=/oracle_backup/l

23、og/imp_scott.log $ imp system/manager parfile=params.dat $ imp system/manager parfile=params.dat params.dat params.dat 内容内容 file=dba.dmp show=n ignore=n grants=y fromuser=scott file=dba.dmp show=n ignore=n grants=y fromuser=scott tables=(dept,emp)tables=(dept,emp)导入工具imp可能出现的问题v (1) (1) 数据库对象已经存在数据库

24、对象已经存在 一般情况一般情况, , 导入数据前应该彻底删除目标数据下的表导入数据前应该彻底删除目标数据下的表, , 序列序列, , 函数函数/ /过程过程, ,触发器等触发器等; ; 数据库对象已经存在数据库对象已经存在, , 按缺省的按缺省的impimp参数参数, , 则会导入失败则会导入失败 如果用了参数如果用了参数ignore=y, ignore=y, 会把会把expexp文件内的数据内容导入文件内的数据内容导入 如果表有唯一关键字的约束条件如果表有唯一关键字的约束条件, , 不合条件将不被导入不合条件将不被导入 如果表没有唯一关键字的约束条件如果表没有唯一关键字的约束条件, , 将引

25、起记录重复将引起记录重复v (2) (2) 数据库对象有主外键约束数据库对象有主外键约束 不符合主外键约束时不符合主外键约束时, , 数据会导入失败数据会导入失败 解决办法解决办法: : 先导入主表先导入主表, , 再导入依存表再导入依存表 disabledisable目标导入对象的主外键约束目标导入对象的主外键约束, , 导入数据后导入数据后, , 再再enableenable它们它们v (3)(3)权限不够权限不够 如果要把如果要把A A用户的数据导入用户的数据导入B B用户下用户下, A, A用户需要有用户需要有imp_full_databaseimp_full_database权限权限

26、v (4)(4)导入大表导入大表( ( 大于大于80M ) 80M ) 时时, , 存储分配失败存储分配失败 默认的默认的EXPEXP时时, compress = Y, , compress = Y, 也就是把所有的数据压缩在一个也就是把所有的数据压缩在一个数据块上数据块上. . 导入时导入时, , 如果不存在连续一个大数据块如果不存在连续一个大数据块, , 则会导入失败则会导入失败. . 导出导出80M80M以上的大表时以上的大表时, , 记得记得compress= N, compress= N, 则不会引起这种错误则不会引起这种错误. .v (5)imp(5)imp和和expexp使用的字

27、符集不同使用的字符集不同 如果字符集不同如果字符集不同, , 导入会失败导入会失败, , 可以改变可以改变unixunix环境变量或者环境变量或者NTNT注册表里注册表里NLS_LANGNLS_LANG相关信息相关信息. . 导入完成后再改回来导入完成后再改回来. .v (6)imp(6)imp和和expexp版本不能往上兼容版本不能往上兼容 impimp可以成功导入低版本可以成功导入低版本expexp生成的文件生成的文件, , 不能导入高版本不能导入高版本expexp生成的文件生成的文件脱机备份的恢复步骤v shutdown shutdown 关闭数据库关闭数据库v 将备份的数据文件和控制文

28、件复制到数据库中原来的位置将备份的数据文件和控制文件复制到数据库中原来的位置v 也可将备份的重做日志文件、参数文件、口令文件复制到也可将备份的重做日志文件、参数文件、口令文件复制到数据库中原来的位置(该操作不是必需的)数据库中原来的位置(该操作不是必需的) v startup startup 启动数据库启动数据库 闪回操作v 闪回查询闪回查询(Flashback Query)(Flashback Query) 查询过去某个指定时间、指定实体的数据。查询过去某个指定时间、指定实体的数据。v 闪回表(闪回表(Flashback TableFlashback Table) 使表返回到过去某一时间的状

29、态。使表返回到过去某一时间的状态。v 闪回删除(闪回删除(Flashback DropFlashback Drop) 恢复被恢复被dropdrop的表或者索引。的表或者索引。v 闪回数据库(闪回数据库(Flashback DatabaseFlashback Database) 使数据库迅速地回滚到以前的某个时间点或者某个使数据库迅速地回滚到以前的某个时间点或者某个SCNSCN(系(系统更改号)上,而不需要进行时间点的恢复操作。统更改号)上,而不需要进行时间点的恢复操作。 基于闪回日志。基于闪回日志。基于回滚数据(undodata)闪回查询v TO_TIMESTAMPTO_TIMESTAMP函数

30、格式为:函数格式为: TO_TIMESTAMPTO_TIMESTAMP(timepoint,formattimepoint,format) timepointtimepoint表示时间点表示时间点 formatformat表示需要把表示需要把timepointtimepoint转化为何种格式转化为何种格式v 闪回查询举例:查询某一时间点闪回查询举例:查询某一时间点A A表的数据表的数据SQLselect SQLselect * * from A as of timestamp from A as of timestamp to_timestamp(2009-07-05 14:10:00,yyy

31、y-mm-dd to_timestamp(2009-07-05 14:10:00,yyyy-mm-dd hh24:mi:ss);hh24:mi:ss);闪回表v 闪回表语法闪回表语法 FLASHBACK TABLEFLASHBACK TABLE schema. schema. TO BEFORE DROP RENAME TO table | SCN | TO BEFORE DROP RENAME TO table | SCN | TIMESTAMP expr ENABLE | DISABLE TRIGGERS TIMESTAMP expr ENABLE | DISABLE TRIGGERS TO TIMESTAMPTO TIMESTAMP:系统邮戳,包含年月日时分秒。:系统邮戳,包含年月日时分秒。 TO SCNTO SCN:系统更改号。:系统更改号。 ENABLE TRIGGERSENABLE TRIGGERS:表示触发器恢复以后为:表示触发器恢复以后为enableenable状态,而默状态,而默认为认为disabledisable状态。状态。 TO B

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论