ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:22.43KB ,
资源ID:6858295      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6858295.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(oracle的备份和恢复.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

oracle的备份和恢复.docx

1、oracle的备份和恢复一、 概述 1.1 备份的概念 所谓备份,就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库拷贝的磁带或磁盘。 能够进行什么样的恢复依赖于有什么样的备份。作为 DBA ,有责任从以下三个方面维护数据库的可恢复性: 使数据库的失效次数减到最少,从而使数据库保持最大的可用性; 当数据库不可避免地失效后,要使恢复时间减到最少,从而使恢复的效率达到最高; 当数据库失效后,要确保尽量少的数据丢失或根本不丢失,从而使数据具有最大的可恢复性。 灾难恢复的最重要的工作是设计充足频率的硬盘备份过程。备份过程应该满足系统要求的可恢复性。例如,如果数据库可有较长的关机时间,则

2、可以每周进行一次冷备份,并归档重做日志,对于 24*7 的系统,或许我们考虑的只能是热备份。 如果每天都能备份当然会很理想,但要考虑其现实性。企业都在想办法降低维护成本,现实的方案才可能被采用。只要仔细计划,并想办法达到数据库可用性的底线,花少量的钱进行成功的备份与恢复也是可能的。 1.2 ORACLE 数据库的运行方式 ORACLE 数据库有两种运行方式:一是归档方式( ARCHIVELOG ),归档方式的目的是当数据库发生故障时最大限度恢复数据库,可以保证不丢失任何已提交的数据;二是不归档方式 (NOARCHIVELOG) ,只能恢复数据库到最近的回收点(冷备份或是逻辑备份)。我们根据数据

3、库的高可用性和用户可承受丢失的工作量的多少,对于生产数据库,强烈要求采用为归档方式;那些正在开发和调试的数据库可以采用不归档方式。 如何改变数据库的运行方式,在创建数据库时,作为创建数据库的一部分,就决定了数据库初始的存档方式。一般情况下为 NOARCHIV ELOG 方式。当数据库创建好以后,根据我们的需要把需要运行在归档方式的数据库改成 ARCHIVELOG 方式。 Oracle10g 之前,你还需要修改初始化参数使数据库处于自动归档模式。 在 pfile/spfile 中设置如下参数: log_archive_start = true; 重启数据库此参数生效,此时数据库处于自动归档模式。

4、也可以在数据库启动过程中,手工执行: archive log start 使数据库启用自动归档,但是重启后数据库仍然处于手工归档模式。从 Oracle10g 开始, log_archive_start 参数已经废除 a. 启用归档模式 SQLshutdown immediate SQLstartup mount SQL alter database archivelog SQLalter database open b. 停止归档模式 SQLshutdown immediate SQLstartup mount SQLalter database noarchivelog SQLalter d

5、atabase open c. 修改相应的初始化参数 1.3 ORACLE 备份的分类 简单的按照备份进行的方式,可以分为逻辑备份、冷备份(脱机备份)、热备份(联机备份),其实冷备份与热备份又可以合称为物理备份 按照备份的工具,可以分为 EXP/IMP 备份、 OS 拷贝、 RMAN 、第三方工具,如 VERITAS 1.3.1. EXP/IMP 逻辑备份 导入 / 导出是 ORACLE 幸存的最古老的两个命令行工具了,正确的说法是 Exp/Imp 只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小的功劳。当然,我们也可以把它作为小型数据库的

6、物理备份后的一个逻辑辅助备份,也是不错的建议。 RGIN: 0cm 0cm 6pt; TEXT-INDENT: 21pt对于越来越大的数据库,特别是TB级数据库和越来越多数据仓库的出现,EXP/IMP越来越力不从心了,这个时候,数据库的备份都转向了RMAN和第三方工具。1.3.2. 冷备份 ( 脱机备份) 在文件级备份开始前数据库必须彻底关闭。关闭操作必须用带有 normal 、 immediate 、 transaction 选项的 shutdown 来执行。 数据库使用的每个文件都被备份下来,这些文件包括: 所有数据文件 所有控制文件 所有联机 REDO LOG 文件 INIT.ORA 文

7、件 ( 可选 ) 作冷备份一般步骤是: a. 正常关闭要备份的实例 (instance); b. 备份整个数据库到一个目录 c. 启动数据库 如 SQLconnect internal SQLshutdown immediate SQL! cp 或 SQL!tar cvf /dev/rmt/0 /u01/oradata/prod SQLstartup 注意:如果利用脚本对数据库进行冷备份,必须对关闭数据库的命令进行逻辑检查,如果发生关闭数据库的命令不能正常执行而导致数据库没有正常关闭,那么,所有的冷备份将 会 是无效的。 1.3.3. 热备份(连机备份) mal; FONT-FAMILY: 宋

8、体; mso-fareast-font-family: 楷体 热备份是当数据库打开并对用户有效是的 OS 级的数据备份。热备份只能用于 ARCHIVELOG 方式的数据库。在数据文件备份之前,对应的表空间必须通过使用 ALTER TABLESPACE BEGIN BACKUP 以备份方式放置。然后组成表空间的数据文件可以使用类似冷备份的操作系统命令进行拷贝。在数据文件用操作系统命令拷贝后,应使用 ALTER TABLESPACE END BACKUP 命令使表空间脱离热备份方式。 热备份没有必要备份联机日志,但必须是归档状态,在实例恢复的时候,可能需要用到归档日志。当前联机日志一定要保护好或是

9、处于镜相状态,当前联机日志的损坏,对于数据库的损坏是巨大的,只能以数据的丢失来进行数据库的恢复工作。 对于临时表空间,存放的是临时信息,在热备份是也可以考虑不用备份,如果临时文件发生故障,可以删除该数据文件与表空间,重建一个临时表空间。 热备份的优点: a 可在表空间或数据文件级备份,备份时间短。 b 备份时数据库仍可使用。 c 可达到秒级恢复(恢复到某一时间点上)。 d 可对几乎所有数据库实体作恢复。 e 恢复是快速的,在大多数情况下在数据库仍工作时恢复。 在热备份的时候,因为用户还在操作数据库,所以,最好是每个表空间处于备份状态的时间最短,这样就要求一个表空间一个表空间的备份,不要一起使表

10、空间处于备份状态而同时拷贝数据文件。 注意:如果在热备份的时候如果数据库中断(如断电),那么在重新启动数据库的时候,数据库将提示有数据文件需要恢复,你需要把正在断电时候的处于备份状态的数据文件通过 ALTER TABLESPACE END BACKUP 结束备份方式。具体哪个数据文件或表空间处于备份状态,可以通过 v$backup 与 v$datafile 来获得。 1.3.4. RMAN 进行备份 采用数据库提供的 RMAN 备份工具有以下的优点: a. 支持在线热备份 是指备份不需要关闭数据库进行,在备份的同时可以进行正常的数据库的各种操作, 满足了 7*24 的系统的需要 , 对于本系统

11、而言,数据库的备份将不会影响 INTERNET 或 INTRANET ew Roman用户对数据库的访问。 b. 支持多级增量备份 多级增量备份是指第 N 级的备份只需要备份最后一次同级或 N-1 级备份以后发生的改变的数据。可以通过下图来说明: 上图是一个增量备份的例子,即在第一个星期天做一个增量的 0 级备份,然后在星期一,星期二做一个增量的 2 级备份,在星期三做一个增量的 1 级备份,然后类推。假设现在在星期五数据库需要做恢复,则可以先恢复第一个星期天的 0 级备份,然后恢复星期三的 1 级备份,再恢复星期四和星期五的 2 级备份就可以完成数据库的恢复。 因为在本系统录入后的数据数据进

12、入数据库后将大部分变为只读状态,所以采用对这些表空间只备份一次或比经常改变的表空间备份次数更少的方法,将能够很大地减少备份的数据量。具体的方案如下: 对于表 PROD_CONTENT_CN_TBL , PROD_VALUE_TBL 由于做了关于序列号的分区,采取的当一个分区满了以后,在数据库里把该分区改成只读状态,然后做一个该表空间的备份,然后在做数据库的日常增量备份时忽略该表空间的数据则能够大大减少要备份的数据量。 c. 支持并行备份,恢复 RMAN 是通过启动数据库的 SERVER 进程来进行备份和恢复,而且支持启动多个 SERVER 进程来进行备份和恢复,在同一个 SERVER 进程内还

13、支持多个 BACKUPSET (备份集)的同时产生。主要是通过设置多个通道及 filesperset ily: Times New Roman参数来达到并行的目的。 分配多个通道的语句(以下语句分配两个通道) Allocate channel dev_1 type disk; Allocate channel dev_2 type disk; 设置在一个通道同时打开的备份文件语句 ( 以下语句设置在一个通道下同时打开 3 个文件 ) backup filesperset 3 。 d. 减小所需要备份量 因为 RMAN 是工作在数据快一级,所以能够只备份分配的数据快,这样就大大地减少了所需要的备

14、份的数据量,特别是对于预先分配空间的数据库而言。 e. 备份,恢复使用简单 RMAN 的使用特别简单,在进行备份和恢复时都不需要指定需要备份或需要恢复的数据文件, RMAN 会自动地把备份或恢复所需要的数据文件进行备份或进行恢复。减少了人为操作可能产生的错误。 如以下是备份整个数据库的语句 backup full tag basicdb format /bak/bak/basic/basic%u_%p_%c database ; 以下是备份一个表空间的语句 backup tag tsusers format /bak/bak/basic/basic%u_%p_%c tablespace use

15、rs ; 以下是备份归档文件的语句 backup filesperset 3 archivelog all delete input; 归档文件会在备份后自动删除。 1.4 RMAN 的配置 /span配置 RMAN 包括配置 CATALOG 数据库,配置数据库与媒体管理软件的接口,制定 RMAN 的多级备份方案,写 RMAN 备份脚本 1.4.1 CATALOG 数据库 因为 RMAN 自动维护备份和恢复所需要的各种信息,所以 RMAN 必须把这些以某种形式保存。 RMAN 支持两种形式保存这些信息,数据库的控制文件或创建一个单独的数据库来保存 RMAN 的信息。 当选择把 RMAN 的信息

16、存储在控制文件时,控制文件的丢失时将导致备份将不能进行恢复。所以若采用 RMAN 做备份,推荐一定采用 RMAN CATALOG 数据库来单独存放备份信息。这个单独的数据库(称为 CATALOG 数据库)只需要很小的空间,既可以和被备份的数据库( E10K )放在同一主机上,也可以单独放在另一台主机上(如果条件允许,推荐放在一台单独的主机上来确保最大的可恢复性)。 备份 CATALOG 数据库:因为 CATALOG 数据库包含了所有的备份信息,所以该数据库本身也是需要通过某种方法进行备份,但因为该数据库很小(一年内可能才增加十几二十兆),所以既可以对它进行冷备份,也可以进行逻辑的输出( EXP

17、ORT )。 配置 CATALOG 数据库: 用 dbassist 创建数据库。 在该数据库创建 RMAN 数据库用户: lang=EN-US style=FONT-FAMILY: 宋体; mso-hansi-font-family: Times New Roman create user rman identified by rman default tablespace ts_rman temporary tablespace temp; grant connect ,resource , RECOVERY_CATALOG_OWNER to rman. 连接到目标数据库和 CATALOG

18、数据库 rman target system/managertarget_tnsname rcvcat rman/rmancatalog_tnsname 创建 CATALOG 用户的表: rmancreate catalog 登记目标数据库: rmanregister database 这样就可以利用该 RMAN 数据库来备份目标数据库了。 1.4.2 磁带接口 当使用专用的磁带管理工具时,必须配置数据库与磁带的接口,一般是管理工具提供一个动态连接库与数据库进行连接。 以下是一个测试的 RMAN 脚本: run allocate channel dev1 type disk resync ca

19、talog; backup format /archive/ctl%u_%p_%c current controlfile; release channel dev1; 二、 备份策略 -t-family: Times New Roman; mso-fareast-language: ZH-CN2.1 物理备份 采用多级备份是为了减少了恢复所需要的时间和减少每天备份所需要的时间,而又保证系统有很好的恢复性。但是在恢复时间和备份时间要有一个权衡。比如只要开始的一个全备份和备份所有产生的归档文件就可以保证把数据库恢复到最新的状态,但是一般来说实际上并不会这么进行(因为在恢复时将需要很长很长的时间)

20、,多级备份就是为了解决这样的问题。以下是一种建议的方案。 每半年做一个数据库的全备份(包含只读表空间) 每个月做一次零级备份(不包含只读表空间) 每个星期做一次一级备份 每天做一个二级备份 任何表空间改成只读状态后做一个该表空间的备份。 当需要时(如四个小时归档文件系统就要接近满了)备份归档文件 数据库全备份脚本: run allocate channel dev1 type disk ; allocate channel dev2 type disk ; allocate channel dev3 type disk ; backup full tag dbfull format /o9i/

21、testrman/full%u_%p_%c database ; sql alter system archive log current ; backup filesperset 3 archivelog all delete input; release channel dev1; release channel dev2; release channel dev3; 零级备份脚本(只读表空间除外) run allocate channel dev1 type disk ; allocate channel dev2 type disk ; allocate channel dev3 ty

22、pe disk ; backup incremental level 0 tag dbL0 format /o9i/testrman/basic%u_%p_%c database skip readonly; sql alter system archive log current ; backup filesperset 3 archivelog all delete input; release channel dev1; m 0cm 0pt; TEXT-INDENT: 21.2pt; mso-char-indent-count: 2.02release channel dev2;rele

23、ase channel dev3; 一级备份脚本 run allocate channel dev1 type disk ; allocate channel dev2 type disk ; allocate channel dev3 type disk ; backup incremental level 1 tag dbL1 format /o9i/testrman/basic%u_%p_%c ddatabase skip readonly; sql alter system archive log current ; backup filesperset 3 archivelog al

24、l delete input; release channel dev1; release channel dev2; release channel dev3; 二级备份脚本 run allocate channel dev1 type disk ; allocate channel dev2 type disk ; allocate channel dev3 type disk ; backup incremental level 2 tag dbL2 format /o9i/testrman/basic%u_%p_%c ddatabase skip readonly; sql alter

25、 system archive log current ; backup filesperset 3 archivelog all delete input; release channel dev1; release channel dev2; release channel dev3; 表空间备份脚本(以 users 表空间为例) run allocate channel dev1 type disk ; allocate channel dev2 type disk ; allocate channel dev3 type disk ; backup tag tsusers format

26、 /o9i/testrman/basic%u_%p_%c tablespace users; sql alter system archive log current ; pt; mso-char-indent-count: 2.02backup filesperset 3 archivelog all delete input;release channel dev1;release channel dev2;release channel dev3; 归档文件备份脚本run allocate channel dev1 type disk ;allocate channel dev2 typ

27、e disk ;allocate channel dev3 type disk ;backup filesperset 3 archivelog all delete input;release channel dev1;release channel dev2;release channel dev3; 则每天所需要备份的数据量只有一天的改变量。而做恢复时最多只要恢复当月的一个零级备份+三个一级备份+6个二级备份+当天的归档文件。如果不能接受这样的恢复时间,就只能够减少零级备份之间的时间间隔(如可以每个星期做一个零级备份,这样恢复时最多只需要恢复一个星期的数据量)。 备份CATALOG数据库

28、(数据库逻辑输出)exp pafile=exp.dat其中exp.dat如下userid=rman/rmanfile=rmanexp.dmp 2.2 逻辑备份 采用ORACLE 提供的IMPORT和EXPORT工具进行数据的备份和恢复。ang=EN-USrman run allocate channel dev1 type disk ; allocate channel dev2 type disk ; allocate channel dev3 type disk ; restore tablespace users ; recover tablespace users ; release

29、channel dev1 ; release channel dev2 ; release channel dev3 ; 3.2 逻辑恢复 逻辑恢复情况一般有两种情况,一种是是进行全库的恢复,这个需要通过使用下面方法进行恢复: imp system/manager inctype=RESTORE FULL=y FILE= filename 另外一种情况是只恢复部分对象,这个可以从数据库全备份中来抽取出来进行恢复,该恢复操作恢复时间比较快。例如客户资料信息表由于异常数据丢失,我们可以通过备份来快速恢复。 size=3 该备份我们也是采用3种方式进行备份: 全库备份 增量备份 一些重要数据库对象的备份。 逻辑备份的目的主要是为了防止人为的操作而导致系统故障,需要恢复对数据进行的备份。如果是部分对象需要恢复时,它能够快速完成,使系统恢复正常。 逻辑备份实现 脚本说明: l管理员可以使用expfull.sh脚本备份数据库。如:$expfull.sh l脚本所

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

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