oracle备份与恢复机制
第16章 Oracle备份与恢复
本 章 内 容
16.1
数 据 库 备 份 概 述
16.2
数 据 库 备 份 模 式
16.3
备 份 数 据 库
16.4
数 据 库 手 动 恢 复
采取各种措施来保证数据库的安全性和完整性, 但硬件故障、软件错误、病毒、误操作、故意破坏, 仍有可能发生,影响数据的正确性,甚至会破坏数据 库使数据部分或全部丢失。
(5)archieve log list; // 显示归档列表
16.3
备 份 数 据 库
(一)物理备份
备份:数据文件.dbf
控制文件.ctl
日志文件.log
1.脱机备份 (无成本复制 copy paste)
在数据库关闭后,备份物理文件。
脱机备份的步骤
(1)以DBA用户登录,列出各类文件 SQL>select name from v$datafile; SQL>select name from v$controlfile; SQL>select member from v$logfile;
小结
数据库的备份与恢复是保证数据库安全运 行的一项重要内容,也是数据库管理员的一项重要 职责。在实际的应用中,数据库可能会遇到一些意 外的破坏,导致数据库无法正常运行。数据库的一 个备份就是数据库中数据的一份复件,该复件包括 了数据库所有重要的组成部分,如控制文件、数据 文件、日志文件等。当数据库因意外事故而无法正 常运行时,就可以用该备份对数据进宪恢复,将意 外损失降低到最小。
(2)以DBA用户关闭数据库 SQL>connect / as sysdba SQL> shutdown immediate; (3)复制各个文件到硬盘上,“控制文件”互为镜像,复制一个即可。 SQL>host copy D:\oracle\product\10.1.0\oradata\*.dbf E:\backup\ SQL>host copy D:\oracle\product\10.1.0\oradata\*.ctl E:\backup\ SQL>host copy D:\oracle\product\10.1.0\oradata\*.log E:\backup\ (4)启动例程打开数据库 SQL> connect / as sysdba SQL> startup
oracle增量备份原理
oracle增量备份原理
Oracle增量备份的基本原理是通过读取数据块中的SCN(系统更改号)来跟踪自上次备份以来发生的数据变化。
具体过程如下:
1. 在进行增量备份时,RMAN(Oracle的恢复和备份管理器)会读取每个数据块的SCN。
2. RMAN会将读取到的SCN与上次备份的SCN进行比较,以确定数据块是否发生了变化。
3. 如果数据块发生了变化(即SCN不同),RMAN会将这些变化的数据块备份下来。
4. 通过这种方式,增量备份只备份自上次备份以来发生变化的数据块,而不是整个数据库。
这大大减少了备份所需的时间和资源。
Oracle增量备份有两种类型:差异增量备份和累积增量备份。
1. 差异增量备份:备份自上次同级或上级备份以来发生变化的数据块。
这种备份方式可以减少备份时间,但恢复时需要较多次的增量恢复和完整的恢复。
2. 累积增量备份:备份自上次上级备份以来发生变化的数据块。
这种备份方式需要更多的备份时间,但恢复时只需要较少的增量恢复和完整的恢复。
在Oracle 9i版本中,增量备份需要扫描整个数据库的数据块来确定哪些数据块发生了变化,这是一个代价较大且耗时的过程。
而在Oracle 10g及以后的版本中,Oracle对增量备份进行了改进,不再需要扫描整个数据库的数据块,从而大大提高了备份效率。
注意,虽然增量备份可以大大减少备份所需的时间和资源,但恢复数据时可能需要较多次的增量恢复和完整的恢复,这可能会增加恢复时间。
因此,在选择是否使用增量备份时,需要根据实际情况进行权衡。
Oracle备份与恢复案例.doc
Oracle备份与恢复案例By Piner一. 理解什么是数据库恢复当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。
因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。
恢复过程大致可以分为复原(Restore)与恢复(Recover)过程。
数据库恢复可以分为以下两类:1.1实例故障的一致性恢复当实例意外地(如掉电、后台进程故障等)或预料地(发出SHUTDOUM ABORT语句)中止时出现实例故障,此时需要实例恢复。
实例恢复将数据库恢复到故障之前的事务一致状态。
如果在在线后备发现实例故障,则需介质恢复。
在其它情况Oracle在下次数据库起动时(对新实例装配和打开),自动地执行实例恢复。
如果需要,从装配状态变为打开状态,自动地激发实例恢复,由下列处理:(1)为了解恢复数据文件中没有记录的数据,进行向前滚。
该数据记录在在线日志,包括对回滚段的内容恢复。
(2)回滚未提交的事务,按步1重新生成回滚段所指定的操作。
(3)释放在故障时正在处理事务所持有的资源。
(4)解决在故障时正经历一阶段提交的任何悬而未决的分布事务。
1.2介质故障或文件错误的不一致恢复介质故障是当一个文件、一个文件的部分或磁盘不能读或不能写时出现的故障。
文件错误一般指意外的错误导致文件被删除或意外事故导致文件的不一致。
这种状态下的数据库都是不一致的,需要DBA手工来进行数据库的恢复,这种恢复有两种形式,决定于数据库运行的归档方式和备份方式。
(1)完全介质恢复可恢复全部丢失的修改。
一般情况下需要有数据库的备份且数据库运行在归档状态下并且有可用归档日志时才可能。
对于不同类型的错误,有不同类型的完全恢复可使用,其决定于毁坏文件和数据库的可用性。
(2)不完全介质恢复是在完全介质恢复不可能或不要求时进行的介质恢复。
基于ORACLE应用系统的数据备份和恢复
为 了 防止 档案 管 理 系统 以外 的 其 他 用 户访 问 和使 用 本 系统 程 序 和 数 据 , 们 天 津 大 学 档 案 馆 在 Wi o s操 我 n w d 作 系统 和 S L数 据 库 管 理 系 统 的 混 合 安 全 管 理 模 式 基 Q
础之 上 , 建立 档 案馆 信 息 管 理 系统 的安 全 控 制方 案 , 即采 用 用户 账 号管 理 和用 户权 限设 定 。 () 1 档案 管 理 系统 用账 号 管理
全 的 问题将 显 得 异常 重 要 。 ⑩
参 考文 献 :
【 罗永胜, 1 】 葛利 宏. 数据安全 与数据备份 问题 探讨U. J内蒙
古 电力 技 术,052 () 8 3 2 0 , i: — 5 3 2 [ 汤 恒 耀 .QLSre 0 0的 数 据 安 全 控 制 叶 科 技 情 报 2 】 S evr 0 2
号都设 置 口令 .每 个 口令 都应 由工作 人 员本 人设 置 , 必须 定期更 改 口 令 对 于公 共查 询子 系统 . 只设一 个账 号 , 不设
口令 。这样 每个工 作人 员在 进入 集成 系统 时必须 输 入用户 账 号和 密 码 . 系统 自动 验证 账 号 和 密 码 匹配 后 , 可进 入 方
一
保 护 数据 安 全 的职 责 , 因此 , D A( 据 管 理 员 ) 讲 , 对 B 数 来 如 何保 护 好教 务管 理 系统 中存 储 的数 据 .保 证 系统 稳 定
口 靠 的运 行 , 为教 务 系统 提 供 快捷 可 靠 的访 问 . 系 统 并 是 建 设 中最 重要 的 问题 之一 。而 要 保证 系统 稳 定 可靠 的运
研 究 原 型 . 讨 了 ORACL 探 E应 用 系统 的 数 据 备 份 和
Oracle ramn 备份与恢复
ORACLE数据库的备份与恢复差异增量备份就是备份往前第一个备份级别小于或等于当前备份级别开始到现在的变化。
累计增量备份就是备份往前第一个备份级别小于当前备份级别开始到现在的变化。
0级备份也就是全备份,但0级备份可以在此基础之上再进行备份,但全备份就不可以。
Oracle rman 备份一、数据库全备份方法(nocatalog)1 注意rman有两个,要执行db_1/bin下那个(可以通过修改oracle变量来达到)2 在执行ramn之前要确认当前数据库是否处理Archive Mode模式,并处于Enabled下查看方式:如果不是可以通过如下方式打开并修改:SQL>startup mountSQL>alter database archivelogSQL>alter database open3全备份数据库:A先连接数据库HERMINGB查看备份列表中是否有以前备份的文件C执行全数据库备份4备份完之后可以查看一下备份出来的文件信息:5备份文件存放路径为:二、0级数据库备份A 以nocatalog方式使用rmanB连接数据库C执行0级数据库备份注:全备份与0级备份的相同点是都是将数据库全部备份下来。
全备份与0级备份的不同点是全备份不能作为增量备份,而0级可以作为增量备份。
1级备份就在0级备份的基础上进行的。
三、1级增量备份(基于0级备份之上)总结:可以将备份出来的文件考到其他介质上进行保存,并进行删除。
如果要恢复时请将该文件放回到这文件夹下,并要保存文件名不变。
说明:口令文件因为可以重新设置,所以不用备份,重做日志文件不能在非nocatalog中备份。
四、备份archivelog(参数文件+数据文件+控制文件+归档日志文件)先备份完再删除归档备份五、备份表空间A 查看有哪些表空间B备份名为TBS1的表空间六、备份控制文件七、镜像备份说明:5为TBS1表空间的编号,及对TBS1表空间进行镜像备份。
oracle数据库数据备份清理机制
oracle数据库数据备份清理机制
Oracle数据库有多种备份和恢复机制可以使用,其中包括:
1. 数据库完整备份:使用RMAN (Recovery Manager)工具进行
数据库完整备份。
RMAN可以创建一个完整备份集,包含数
据库中的所有数据文件、日志文件和控制文件。
通过使用RMAN进行完整备份,可以轻松地恢复数据库到一个特定的
时间点。
2. 增量备份:使用RMAN进行增量备份,只备份自上次备份
以来发生更改的数据块。
这种备份机制可以减少备份的时间和存储空间,但在恢复时需要借助完整备份。
3. 归档日志备份:在归档模式下,Oracle将数据库的已提交事
务记录到归档日志中。
通过备份归档日志,可以实现点-in-
time的恢复和恢复到特定的时间点。
4. 数据库闪回:Oracle提供了闪回数据库(Flashback Database)功能,可以快速地将整个数据库恢复到一个特定的时间点,而不是单独恢复数据文件。
这种机制可以避免备份和恢复的过程。
在备份完成后,可以根据存储空间和备份策略的要求来清理备份。
可以使用RMAN的DELETE命令来删除不需要的备份。
可以使用RMAN的RETENTION POLICY来设置RMAN应保
留的备份的时间段。
Oracle11G 备份和恢复
备份与恢复
授课教师:刘明洋
主要内容
备份与恢复概述 物理备份数据库 逻辑恢复数据库 利用RMAN备份与恢复数据库 逻辑备份与恢复数据库
14.1备份与恢复概述
备份与恢复的概念 Oracle数据库备份类型 Oracle数据库恢复类型
14.1.1备份与恢复的概念
➢ 备份与恢复是数据库的一对相反操作,备份是保存数据 库中数据的副本,恢复是利用备份将数据库恢复到故障 时刻的状态或恢复到故障时刻之前的某个一致性状态。
➢ 非归档模式下的数据库恢复是不完全恢复,只能将数据库恢复到最近 一次完全冷备份的状态。
1 7
14.3.2 归档模式下数据库的完全恢复
概述 数据库级完全恢复 表空间级完全恢复 数据文件级完全恢复 数据库完全恢复示例
1
8
(1)概 述
概念
归档模式下数据库的完全恢复是指归档模式下一个或多个数据文件损 坏,利用热备份的数据文件替换损坏的数据文件,再结合归档日志文 件和联机重做日志文件,采用前滚技术重做自备份以来的所有改动, 采用回滚技术回滚未提交的操作,以恢复到数据库故障时刻的状态。
1 6
14.3.1 非归档模式下数据库的恢复
非归档模式下数据库的恢复主要指利用非归档模式下的冷备 份恢复数据库。 步骤为:
➢ 关闭数据库。 ▪ SHUTDOWN IMMEDIATE
➢ 将备份的所有数据文件、控制文件、联机重做日志文件还原到原来所 在的位置。
➢ 重新启动数据库。 ▪ STARTUP
注意
▪ RECOVER DATABASE ➢ 打开数据库。
▪ ALTER DATABASE OPEN;
2
2
(3)表空间级完全恢复
以EXAMPLE表空间的数据文件example01.dbf 损坏为例模拟表空级的完全恢复。
Oracle数据库备份与恢复的三种方法
Oracle数据库备份与恢复的三种⽅法备份与恢复的三种⽅法Oracle数据库有三种标准的备份⽅法,它们分别是导出/导⼊(EXP/IMP)、热备份和冷备份。
导出备件是⼀种逻辑备份,冷备份和热备份是物理备份。
⼀、导出/导⼊(Export/Import) 利⽤Export可将数据从数据库中提取出来,利⽤Import则可将提取出来的数据送回到Oracle数据库中去。
1、简单导出数据(Export)和导⼊数据(Import) Oracle⽀持三种⽅式类型的输出: (1)、表⽅式(T⽅式),将指定表的数据导出。
(2)、⽤户⽅式(U⽅式),将指定⽤户的所有对象及数据导出。
(3)、全库⽅式(Full⽅式),瘵数据库中的所有对象导出。
数据导⼊(Import)的过程是数据导出(Export)的逆过程,分别将数据⽂件导⼊数据库和将数据库数据导出到数据⽂件。
2、增量导出/导⼊ 增量导出是⼀种常⽤的数据备份⽅法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。
在进⾏此种导出时,不要求回答任何问题。
导出⽂件名缺省为export.dmp,如果不希望⾃⼰的输出⽂件定名为export.dmp,必须在命令⾏中指出要⽤的⽂件名。
增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,⽐如:exp system/manager inctype=complete file=040731.dmp (2)、“增量型”增量导出 备份上⼀次备份后改变的数据,⽐如:exp system/manager inctype=incremental file=040731.dmp (3)、“累积型”增量导出 累计型导出⽅式是导出⾃上次“完全”导出之后数据库中变化了的信息。
⽐如:exp system/manager inctype=cumulative file=040731.dmp 数据库管理员可以排定⼀个备份⽇程表,⽤数据导出的三个不同⽅式合理⾼效的完成。
oracle adg 原理
oracle adg 原理
OracleADG是一种高可用性和灾备解决方案,基于 Oracle 数据库的物理备份和恢复技术,可以实现实时数据复制和故障切换。
其原理主要包括以下几个方面:
1. 数据库备份和恢复
Oracle ADG 的数据复制基于 Oracle 数据库的物理备份和恢复技术,即将原始数据库的数据文件复制到备用数据库上,并通过Oracle 数据库的恢复技术进行恢复。
这种方式可以保证数据的一致性和完整性,同时也可以保证数据的实时性和高可用性。
2. 数据复制和同步
Oracle ADG 通过 Redo Apply 技术将原始数据库的 redo 日志传输到备用数据库上,并将其应用到备用数据库的数据文件中,从而实现数据的复制和同步。
在这个过程中,Oracle ADG 可以实现数据的实时复制和同步,同时也可以保证数据的一致性和完整性。
3. 数据保护和故障切换
Oracle ADG 可以通过实时数据复制和同步实现数据的保护和灾备,当原始数据库发生故障时,可以通过故障切换将备用数据库切换为主数据库,从而实现高可用性和灾备。
在这个过程中,Oracle ADG 可以通过 Data Guard Broker 管理工具实现自动故障切换和自动故障恢复。
总之,Oracle ADG 是一种高可用性和灾备解决方案,基于Oracle 数据库的物理备份和恢复技术,可以实现实时数据复制和故
障切换,从而保障业务的连续性和稳定性。
oracle数据库备份与还原方法
oracle数据库备份与还原方法一、Oracle数据库备份方法。
1.1 冷备份。
冷备份是在数据库关闭状态下进行的备份。
这就好比是给一个睡着的人做全身检查,一切都是静止的,好操作。
你得把数据库相关的文件,像数据文件、控制文件、重做日志文件等一股脑儿地拷贝到一个安全的地方。
这种备份方法简单直接,但是呢,在备份期间数据库是不能使用的,就像你要修东西得先把它停下来一样,有点不方便。
不过它恢复起来也相对容易,就像把之前拷贝走的东西再原封不动地拿回来就好。
1.2 热备份。
热备份可就不一样啦,它是在数据库运行的时候进行备份的。
这就像是给一个正在跑步的人换鞋子,难度不小。
热备份主要是利用归档模式,对表空间或者数据文件进行备份。
这种方式不影响数据库的正常使用,就像在火车行驶的时候给它换个小零件,火车还能继续跑。
但是热备份的操作相对复杂一些,需要对Oracle数据库有比较深入的了解,不然很容易搞砸,那可就“偷鸡不成蚀把米”了。
1.3 逻辑备份。
逻辑备份呢,是通过Oracle的工具,比如EXP或者EXPDP来进行的。
这就像是把数据库里的数据按照一定的逻辑规则整理出来,打包带走。
它可以备份特定的表、用户或者整个数据库。
这种备份方式比较灵活,就像你可以从一个大仓库里挑选你想要备份的东西。
但是逻辑备份的速度可能会比较慢,特别是数据量很大的时候,就像小马拉大车,有点吃力。
二、Oracle数据库还原方法。
2.1 冷备份还原。
如果是冷备份还原,那就简单多啦。
首先把数据库关闭,然后把之前备份的文件再拷贝回原来的位置,就像把东西放回原位一样。
不过要注意文件的权限和路径,可不能张冠李戴。
一切就绪后,再启动数据库,就大功告成了。
这就像把修好的东西重新启动,又能正常工作了。
2.2 热备份还原。
热备份还原就复杂得多了。
首先要根据备份的情况,确定需要还原的表空间或者数据文件。
然后利用归档日志和备份文件进行恢复。
这过程就像走钢丝,得小心翼翼的。
Avamar备份和恢复oracle数据库操作手册
Avamar备份和恢复Oracle数据库操作手册1.1 Oracle数据库备份首先要进入Sqlplus用archive log list—查看是否开启了归档模式;Oracle做热备份必须是归档模式,同时需要进入mount或open状态。
因此当发现不是归档模式时,需要采用以下步骤先把Oracle修改为归档模式才能正常备份。
1.首先关闭数据库:2.然后重新连接进sqlplus,再把Oracle启动到mount状态,然后修改成归档日志模式,修改完成后打开数据库到open状态(用alter database open 命令):1.2 Oracle数据库恢复注意:在Oracle恢复之前有几项准备工作要做:首先,在执行恢复之前,先关闭Oracle(SQL>shutdown immediate;);然后,删除联机日志和归档日志(或者转移到另外的目录)。
在测试时为了验证Oracle可恢复,在备份完成后删除了一些表,那么恢复前需要删除现有的联机日志和归档日志。
如果不删除日志,由于在恢复时,只会恢复控制文件和数据库,不会恢复日志文件,因此为了避免恢复后控制文件再去读取现有的日志文件(导致再次做删除操作),所以需要删除联机日志和归档日志(防止删除时正好联机日志做了日志切换)。
具体操作:把D盘oracle\product\10.2.0\oradata\test目录下的REDO01.LOG、REDO02.LOG的、REDO03.LOG 三个联机日志删除,然后再把D盘oracle\product\10.2.0下的相关归档日志删除。
再把Oracle启动到nomount状态,可运行如下命令:C:\Document and Setting\Administrator>sqlplus / as sysdba或C:\Document and Setting\Administrator>sqlplus /nologSQL>conn as sysdba;SQL>Startup nomount;完成以上步骤之后,就可以在Avamar上执行恢复:1.登陆Avamar Administrator管理界面,选择“backup and restore”;2.进入“Backup and Restore”界面;1)选择客户机;2)选择Windows Oracle Rman。
手工实现Oracle数据库的自动备份与恢复方案
R s l i tn n e a d s c r y r q i me t fd t b s o l e a h e e f c iey e ut Ma ne a c n e u i e u r s t e n s o aa a e c u d b c iv d e e t l.Co cu in Daa b c u n v n lso t a k p a d
HU N aj , N u ,u Y n jn A G D -i WA G Y n T a -u e ( uaguS nt u f aj gMit yA e o mad Xa e ,ui rv c 6 0 2C ia G lny aao m o n n la raC m n ,im n F j nPoi e 10 , hn ) i r N i ir a n 3
d tb s y tm.Meh d h e h oo y o n a n g me tb c u n e o e r ce d tb s s a p id aa ae s s e t o s T e tc n lg f ma u l ma a e n a k p a d r c v r o O a l aa a e wa p l . y f e
【 国 图书 资 料 分 类号 】 R1734 T 3 9 中 9 . ;P 0 . [ 2 2 文献 标 识 码】 A [ 章 编号 ] 10 — 8 8 2 1 )8 0 6 - 2 文 0 3 8 6 (0 0 0 - 0 8 0
Oracle环境下的数据库备份与恢复策略
、
此 外 ,采 用逻 辑方 式 导 出导入 数据 的 方法 可较 好地 实现 在不 同操 作系 统平 台 、不 同数据 库 版本 之 间进行 数据 库迁 移 ,这 对于 物 理备 份是 一个 很好 的补充 备份 形式 。 三、0 a I数 据库 恢复 rc e 备份 的 目的是 数 据 的安 全 恢 复 。 结合 数 据 库 的 故 障 性 质 , O a l提 供 了不 同的恢 复模 式— — 完全 恢 复和 不完 全恢 复 。 由于 rc e 本文 的备 份策 略 以D A 备份 为主 ,因此 针对 R A 增 量备 份策 略进 JN  ̄N I 行数 据 库恢 复说 明 。 在 利用 R A 进 行完 全恢 复 时 , MN 所有 在 线和 归档 重做 日志 文件 中的记 录都 会被 用来 恢 复数据 库 , 从备 份 中恢 复 已经 损坏 的文 件 , 然 后应 用 日志 文件 将该 数据 文 件恢 复 到当前 时 间 点。下面 的例子 实现 了数据 库 的完 全恢 复 : 1关 闭 目标 数据 库 。 . 2 将 目标数 据库 启动  ̄M U T 态 。 . J ION 状 3 确保 Ns L N 环境变 量 已正确 设 置 : . L— A G . ¥ XO TN S LN =r c e E P R L — A G O a l 数据 库字 符集 4 启动 R A 恢 复管 理器 , 以具有 S S B 权 限 的用 户身 份 登录 . MN Y DA 目标 数据 库 , 同时连 接至 恢 复 目录数据 库 。 5 进行 R A 完全 恢 复 : . MN
备 份策 略确 立 ( )备份 需求 分析 一 根 据某 公 司勘 探开 发技 术数 据 管理 系统 数据 建设 现状 ,分 析 威胁数 据安 全 的主要 因素 , 出数据 备份 系 统应该 满足 如 下要 求 : 得 1具 备灵 活方 便的 可扩 展 能力 。数据 库 日益 增长 的数 据量 要 . 求数据 备份 系 统能 在现 有设 备和 运行 环境 的 基础 上顺 利进 行升 级 和 扩容 。 2 备份 数据 具 备 良好 的可 恢 复性 。可 以 实现数 据库 统 一 、集 . 中、安 全 的备份 和 管理 ,确保 备份 数据 的可靠 性和 可恢 复 性 ,为 进 行数 据恢 复操作 奠定 基 础 。 3 保持 业 务连 续性 。在满 足 油 田勘探 系统 业 务连 续性 要求 的 . 前提 下实施 数 据备 份 ,避 免 数据 存储 设备 长 时 间中断 对应 用系 统 的使用 造成 严重 的影 响 。 ( )备份设 备选 型 二 根 据 对 P E M 据 库 进 行 备 份 需 求 分 析 , 本 文 采 用 IM CD 数 B T MT v l S oa e aa e) S (io i tr g ng r 作为 备份 管理软 件系 统 ,用 于支 持 M 备 份数 据管理 。 T M 数据 传 输 格 式 为 经 过加 密 处 理 的T M S的 S 独有 的二 进 制 格 式 ,在 每次 数据 备份和 恢 复 时 ,T M S 自动进 行C C 据校 验 ,从 而 R数 保 证数据 在备 份和 恢复 过程 中 的完 整性和 安全 性 。 二 、备份 方案实 施 在 辽河油 田公 司IM 5 0  ̄ B p 2 J 务器 上安装T MS r e 作 为T M ] S vr e S 备份 服 务 器 , 在 数 据 库 服 务 器 上 安 装 TM C in 和 T v l a a S 1et io i t D P o e t o r r c e 品,通过T P/I 协议 与T M e v r r t c i nf a l 产 o O C P S r e 连接 。 S 备份存储设备采用磁盘阵列与磁带库相结合的方式 。 M X0 在E C 70 C 磁盘阵列上划分 一部 分空间作为T M S 备份存储 池,最终利用R A 方式 MN 备份的数据都备份 ̄ IM U t im 5 4 tB lr u 3 8 磁带库 。数据 库服务器本地 磁 | 盘上放置 系统数据 库进 行冷备 份和逻 辑备份 时产生的备份 文件。 ( )冷 备份 一 在数 据库 以T A S C I N L 删F I T 或N R A 方 式关 闭后 R N A T O A ,I D A F 0 M L 进行 的备 份称 为冷 备份 或脱 机备 份 ,这样 得 到 的是一 个一 致性 备 份 。在 数 据库 关 闭状态 下 ,冷备 份利 用操 作 系统 拷 贝命令 对所 有 的数据 文件 、控 制文 件 、联机 日志文 件 、初始 化参 数 文件 等进 行 备 份 。一 旦数据 库 出现故 障 ,可 以将 这些 拷 贝文件 重 新覆 盖到 原 文 件位 置 。这 种备 份 可将 数据 库恢 复到 它被 关 闭前 的状态 。 由于P E M 据库 需要 保 证7 4 h 行 ,而冷 备 份必 须在 数 C D数 X2 运 据库 关 闭 的情 况下 进行 , 因此 冷 备份在 正 常 的服务 检修 期 间进行 , 每 年2 。利 用冷 备份 一致 性 的优 点,可 保证 系统 恢复 的快速 性 。 次 ( )逻 辑备 份 二 逻辑 备 份 利用 O a l x o tE 将数 据 库 中 的模 式 对象 导 r c eE pr  ̄ 具 出到 二进 制文件 中 ,然后在 需要 时再利 用O a l m o t 具将 二 r c eI p r 工 进制 文件 中的模 式对 象 重新 导入 到数 据库 中 。 逻辑 备份 可基 于全 库模 式 、用 户模 式或 表模 式将 数据 导 出 , 较 为灵活 。 对于 一些 重要 的数 据可 以采 取该 种 方式 作为 辅助 备份 。 本例 利用 系统 的C O 计 划任 务定 时 自动运 行逻 辑 备份脚 本 。 RN
Oracle-RAC环境数据备份与恢复方案
Oracle RAC 环境数据备份与恢复方案【导读】某企业因项目需要在Oracle RAC集群环境下,根据实际情况对Oracle数据库进行备份;使用生产环境的rman全备数据,进行恢复数据搭建测试环境。
本文将详细介绍此案例中Oracle数据库rman全备份过程、Oracle RAC 环境下rman备份数据如何恢复至单机服务器。
考虑到非常的实用,将实施经验分享给更多同行进行交流学习。
一、背景环境生产环境使用两台DELL R840 服务器,安装了 linux centos 7.6操作系统,并配置多路径,使用 EMC untiy 作为共享存储,分配了2个1T LUN 存储数据库文件,1个500G LUN存放归档数据,3个30G LUN存放 OCR 、FALSH、GIMR 数据。
Oracle RAC 软件版本是19C 19.0.0.0.0。
二、数据备份1、备份策略为保障oracle rac 集群数据安全,因项目组要求设计数据库备份方案。
考虑到服务器RAC1与RAC2每台服务器自带2T本地可用容量,每次全备产生约400GB数据文件。
可将奇数天备份到RAC1,偶数天备份到RAC2,4*400GB=1.6TB,每台服务器可以备份4天的全量数据。
空间非常的富余,不计划使用rman的增量备份,直接全量备份近8天数据,恢复也较为方便。
2、备份过程在RAC1主机下执行,(RAC2同理)首先Oracle 数据库开启归档,归档模式下,才可以进行数据库的热备份、联机备份、手工备份等。
非归档模式下,只能进行冷备份。
当然我们rman备份是在线备份。
如下图:接着,创建rman脚本目录创建备份执行脚本,并加入定时任务创建备份数据清理脚本,并加入定时任务,只备份近4次数据,脚本会自动判断最近一次rman备份是否成功,不成功将不删除备份数据。
这里我调用了zabora.sh 脚本判断rman备份状态,sql语句也比较简单。
定时任务(RAC1)定时任务 (RAC2)记得重启定时任务创建rman执行脚本,用于被上述执行脚本调用3、测试验证第一次可手动执行备份任务,不等到凌晨自动执行查看日志log备份完成如下图:三、数据恢复因为本项目使用的是全备数据,无增量。
OracleRMAN的备份与恢复命令详解
还原检查与恢复测试
与备份检查一样,还原操作也可以检查是否能正常 restore 或者是否该备份集是否有效。如::
可以使用 CHECK LOGICAL 选项测试通过了物理损坏检查的数据和索引块,查看它们是否存在逻辑损坏,如行片或索引条目损坏。如果检测到任何块存在逻辑损坏,则 将该块记录到服务器进程的警报日志和跟踪文件中。
可以使用 MAXCORRUPT 参数设置逻辑和物理损坏的阈值。只要在某个文件中检测到的逻辑和物理损坏总和低于该值,则 RMAN 命令完成,同时 Oracle 将损坏块的 范围植入到 V$COPY_CORRUPTION 视图。如果超出 MAXCORRUPT,则该命令终 止,并且不植入视图。 当并行度比较高时,占用的计算机资源较多,但备份操作完成 速度较快。缺省情况下将启用对物理损坏的错误检查。有关在备份过程中遇到的损坏数据文件块的信息将记录在控制文件和警报日志中。
运行 BACKUP ARCHIVELOG ALL 命令。注意如果备份优化被启用,RMAN只会备份未备份过的日志
备份 BACKUP命令中定义的文件
运行 ALTER SYSTEM ARCHIVE LOG CURRENT 命令
备份所有的剩下的归档日志
备份完后删除归档日志RMAN> backup …… ARCHIVELOG all delete all input;修改备份集的保存策略例如:将备份设置为永久有效RMAN> backup database keep forever logs|nologs;设置为有效期 180 天RMAN> backup database keep until time='sysdate+180';重写configure exclude / noexclude通过 configure exclude 可以配置 RMAN 不备份上次备份以来没有发生变化的数据文件。如果要确保 RMAN备份这些数据文件,可以在 backup命令中添加 noexclude 选项。 例如:RMAN> backup database noexclude;
实验8-Oracle数据库备份与恢复
实验8 Oracle数据库备份与恢复1 实验目的(1)掌握Oracle数据库各种物理备份方法。
(2)掌握Oracle数据库各种物理恢复方法。
(3)掌握利用RMAN工具进行数据库的备份与恢复。
(4)掌握数据的导入与导出操作。
2 实验要求(1)对BOOKSALES数据库进行一次冷备份。
(2)对BOOKSALES数据库进行一次热备份。
(3)利用RMAN工具对BOOKSALES数据库的数据文件、表空间、控制文件、初始化参数文件、归档日志文件进行备份。
(4)利用热备份恢复数据库。
(5)利用RMAN备份恢复数据库。
(6)利用备份进行数据库的不完全恢复。
3 实验步骤(1)关闭BOOKSALES数据库,进行一次完全冷备份。
select file_name from dba_data_files;select member from v$logfile;select value from v$parameter where name='control_files';(2)启动数据库后,在数据库中创建一个名为cold表,并插入数据,以改变数据库的状态。
CREATE TABLE COLD(ID NUMBER PRIMARY KEY,NAME V ARCHAR2(25));(3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态并查看恢复后是否存在cold表。
(4)将BOOKSALES数据库设置为归档模式。
1.1 shutdown immediate 正常关闭数据1.2 startup mount;将数据库启动到mount状态3)、关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ora-38774错误。
alter database flashback off1.3 alter database archivelog;发出设置归档模式的命令1.4 alter database open;打开数据库1.5 再次正常关闭数据库,并备份所有的数据文件和控制文件1.6 archive log list;在将数据库设置为归档模式后,可以执行此命令进行确认1.6.1 Database log mode 为Archive Mode说明当前的数据库为归档模式1.6.2 Automatic archival为Enable说明启动了自动归档。
ORACLE最简单有效的备份恢复方案
ORACLE 最简单有效的备份恢复方案ORACLE备份分两种,1.逻辑备份;2.物理备份;逻辑备份又分两种:传统的exp备份;10g开始支持的expdp数据泵备份;物理备份主要就是RMAN备份;最基本的原则是:这些逻辑或物理备份和数据库文件必须放在不同的硬盘上;否者一损俱损;备份就没多大意义了;如果数据库不是很大,比如在50G以下,那么我们就考虑一些傻话化的全备方案我现在的备份方案是:两个逻辑备份和RMAN 备份全部用上;1.传统dmp逻辑备份和恢复1.1传统dmp逻辑备份,这个是最简单的备份方法;现在我提供一个简单的脚本:1.1.1首先建立一个bat文件,名字叫:exp_backup.bat内容是:set oracle_username=%1set oracle_password=%2set local_tnsname=%3set url=%oracle_username%/%oracle_password%if not %local_tnsname% == "" set url=%url%@%local_tnsname%if exist %oracle_username%_old.dmp del %oracle_username%_old.dmpif exist %oracle_username%_old.log del %oracle_username%_old.logif exist %oracle_username%.dmp ren %oracle_username%.dmp %oracle_username%_old.dmpif exist %oracle_username%.log ren %oracle_username%.log %oracle_username%_old.logexp %url% file=%oracle_username%.DMP log=%oracle_username%.LOG该脚本是一个通用的最简单的exp脚本;意思就是:备份之间,把以前的备份文件修改名字,后面加上_old ,如果本来就有old文件,就删除之;之后,就开始备份;备份的文件目录和该脚本一致(这样做最简单);所以总是会出现一新一旧两个文件;当然只要最新的就行了,所以理论上只要一份文件;但是考虑有可能备份的时候突然报错,这样old文件还在,将就着使用,否者新的是坏的,旧的也没了;有的人做一周7天逻辑循环备份,我觉得没有必要,要那么多旧的备份文件何用,浪费空间;1.1.2然后再做一个bat文件,比如是my_exp.bat内容是:call exp_backup.bat USER PASSWORD ""如果是在服务器自身上备份,就不需要写入数据库服务名;如果有多个用户数据需要备份;那么就在my_exp.bat继续添加:call exp_backup.bat USER1 PASSWORD1 ""….My_EXP.BAT可以做成windows的执行计划,每天不忙的时候执行一次;1.2 exp备份的恢复下面就是恢复的最简单方法:1.2.1.把电脑上当前用户彻底删除,用命令,这样就可以把对象彻底清除;DROP USER XXX CASCADE1.2.2.再创建该用户CREATE USER xxxxIDENTIFIED BY xxxxDEFAULT TABLESPACE xxxxTEMPORARY TABLESPACE TEMP并赋予权限:GRANT DBA TO xxxx WITH ADMIN OPTION1.2.3用IMP恢复C:\> imp xxxx/xxxx FILE=xxxx.DMP LOG=xxxx.LOG FULL=Y2.10G后的数据泵expdp备份和恢复2.1 expdp 备份据说这个比exp有很多优点,这个我就不说了,大家可以自己参考资料;不过我测试下来,如果数据量小expdp 还是不如exp的;但是还是建议是使用expdp,因为数据会慢慢变大的,用expdp更好些;我最看重的是:expdp备份的文件涵盖的东西更多;所以恢复的时候方便;删除用户后,可以不用再创建用户恢复;实现方法和exp类似:不过,它的目录不像EXP那么直接,需要使用oracle的目录对象;所以2.1.1第一步先创建一个目录对象,比如:SQL>create or replace directory LOGIC_BUCKUPas 'd:\OACLE_BACKUP\逻辑备份';2.1.2建立一个通用脚本,比如叫EXPDP_BACKUP.BAT内容是:set oracle_username=%1set oracle_password=%2set local_tnsname=%3set url=%oracle_username%/%oracle_password%if not %local_tnsname% == "" set url=%url%@%local_tnsname%if exist %oracle_username%_old_dump.dmp del %oracle_username%_old_dump.dmpif exist %oracle_username%_old_dump.log del %oracle_username%_old_dump.logif exist %oracle_username%_dump.dmp ren %oracle_username%_dump.dmp %oracle_username%_old_dump.dmpif exist %oracle_username%_dump.log ren %oracle_username%_dump.log %oracle_username%_old_dump.logEXPDP %url% DIRECTORY=LOGIC_BACKUP DUMPFILE=%oracle_username%_DUMP.DMP LOGFILE=%oracle_username%_DUMP.LOG PARALLEL=2该方法与上面的dmp备份类似;2.1.3然后再做一个bat文件,比如是my_expdp.bat内容是:call expdp_backup.bat USER PASSWORD ""如果是在服务器自身上备份,就不需要写入数据库服务名;如果有多个用户数据需要备份;那么就在my_exp.bat继续添加:call expdp_backup.bat USER1 PASSWORD1 ""……同dmp备份一样,My_EXPdp.BAT也可以做成windows的执行计划,每天不忙的时候执行一次;2.2 expdp备份的恢复下面就是恢复的最简单方法:2.2.1.把电脑上当前用户彻底删除,用命令,这样就可以把对象彻底清除;DROP USER XXXX CASCADE2.2.2.用另外一个权限较高的用户(最好不是sys,比如是YYYY) 导入:C:\>IMPDP yyyy/yyyy DUMPFILE=xxxx_DUMP.DMP LOGFILE=xxxx_DUMP.LOG DIRECTORY=LOGIC_BUCKUPPARALLEL=2(这里的LOGIC_BUCKUP是oracle的对象目录,要和xxxx_dump.dup存放的目录一致)这样就OK了,也即是说用户不需要创建,数据泵文件含有了用户以及它原来的权限;从这点来讲,是不是比IMP导入更为方便;好了,两种逻辑备份讲完了,下面重点说一下RMAN备份;因为在生产系统中,逻辑备份作用不大的,因为它不能实时的备份数据,所以逻辑备份更多的时候是给开发人员互相导入数据和存储过程之类用的;RMAN备份的原理还是有点复杂的,很多细节的我也不是很清楚,不过没关系,我们可以整理出一套最简单的备份方案:3.RMAN备份和恢复3.1. RMAN备份3.1.1 首先把数据库参数关注一下,关注下面两个参数第一个参数:db_recovery_file_dest_size,上图中的大小是默认的4G,也就是归档模式下,archivelog的所有归档日志文件大小总和,如果超过这个数,就会导致数据库出问题;所以要非常小心,因而建议修改大一些,比如修改成20G;当然最本质的方法,是要按时清理无用的归档日志;第二个参数:db_recovery_file_dest ,这个参数非常重要,是11G里,存放rman备份集和归档日志的地方;默认是放在flash_recovery_area目录下的,因为我的系统的flash_recovery_area 和数据库文件在同一个硬盘,所以修改了;3.1.2.关注redo日志文件,每组里要有两个成员,1个在数据库文件的硬盘下,1个在备份文件的硬盘下,因为日志文件写入最频繁,RMAN无法对它备份,或者说任何备份工具都无法对redo日志备份;不过redo它自己可以做冗余,两个文件只要有一个在,即可;比如:3.1.3做一个最简单的rman备份脚本;3.1.3.1首先做一个txt,比如是:autorman.txt内容是:sql 'alter system archive log current';backup database;delete noprompt obsolete;这三句话的作用分别是:1.对当前redo日志进行归档;2.备份数据库3.删除无效的archive日志和rman备份集3.1.3.2 做一个bat 调用上面的autorman.txt,比如是:autorman.bat内容是:rman target / @autorman.txt然后就在winddows下做一个执行计划,每天或没隔几天,自动执行一下这个autorman.bat当然备份之前,要用rman>show all 看一下参数设置,有没有自动备份控制文件,如果没有,要加上;3.2 rman恢复Rman恢复非常简单;下面说一下步骤:3.2.1 假如最新一次全备是3天前的,先随便建立一个新表,比如是test_rman,随便插几条数据;用来测试还原后,这个最新的对象是否也给恢复了;现在用sqlplus登陆,shutdown 数据库,然后把oracle的数据库文件全部删除(控制文件,redo日志文件,数据库文件);3.2.2 用sql> startup nomount 启动数据库的参数文件,参数文件和数据库文件不在同一个硬盘,所以没丢;这时候如果执行sql>alter database mount 会报错,因为mount会加载控制文件,而控制文件已经丢了;3.3.3.把以前控制文件所在的目录建立好,否者rman找不到控制文件恢复路径;然后执行RMAN> restore controlfile from autobackup;这样控制文件就回复了,有了控制文件就好办了;3.2.4. 以为有了控制文件,所以在sqlplus里,可以装载数据库Sql>alter database mount3.2.5 数据库被装载后,说明控制文件生效了,这时候,所有的数据库信息都出来了;所以可以用rman还原数据库了:RMAN> RESTORE database;3.2.6 恢复数据库:RMAN> recover database;2.2.7 数据库现在已经全部回复好,可以重新启动了:SQL> alter database open resetlogs;数据库已更改。
oracle数据库备份与恢复方法
oracle数据库备份与恢复方法
Oracle数据库备份与恢复是确保数据安全和可靠性的重要方面。
备份是指将数据库中的数据复制到另一个位置,以便在数据丢失或
损坏时进行恢复。
恢复则是指在发生故障或数据丢失时,通过备份
数据来恢复数据库到之前的状态。
一、备份方法:
1. 物理备份,物理备份是通过操作系统级别的工具(如RMAN)将数据库文件直接复制到备份位置。
可以使用RMAN命令行或图形界
面工具来执行物理备份。
2. 逻辑备份,逻辑备份是通过导出数据到逻辑文件(如SQL脚
本或数据泵文件)来进行备份。
可以使用expdp和impdp命令来执
行逻辑备份和恢复。
二、恢复方法:
1. 完全恢复,在数据库严重损坏或丢失时,可以使用完全备份
进行完全恢复。
这涉及将数据库恢复到备份时的状态,并应用任何
后续的归档日志以实现完整的恢复。
2. 不完全恢复,在某些情况下,可能只需恢复部分数据文件或表空间。
这可以通过RMAN进行部分恢复来实现。
除了上述备份和恢复方法外,还有一些其他注意事项和最佳实践:
定期备份,建立合理的备份策略,包括完整备份、增量备份和归档日志备份,以确保数据的及时备份和恢复。
测试恢复,定期测试备份和恢复过程,以确保备份数据的完整性和可用性。
数据库保护,使用冗余服务器、存储冗余和灾难恢复计划来保护数据库免受硬件故障、自然灾害和人为错误的影响。
综上所述,Oracle数据库备份与恢复是确保数据安全和可靠性的重要措施,通过合理的备份策略和恢复方法,可以最大程度地保护数据库免受数据丢失和损坏的影响。
ORACLE数据库数据泵备份与恢复
ORACLE数据库数据泵备份与恢复EXPDP和IMPDP是服务端的⼯具程序,他们只能在ORACLE服务端使⽤,不能在客户端使⽤。
IMP只适⽤于EXP导出的⽂件,不适⽤于EXPDP导出⽂件;IMPDP只适⽤于EXPDP导出的⽂件,⽽不适⽤于EXP导出⽂件。
⼀、expdp和impdp的使⽤1.创建⽬录create directory DBBAK as '/bak'; #DBBAK名称可以随便命名需要⼿⼯创建/bak,并且此⽬录oracle⽤户有读取写⼊权限2.查看所有⽬录select * from dba_directories;3.给test⽤户赋予在指定⽬录的操作权限,最好⽤root⽤户赋予。
grant read,write on directory DBBAK to test;4.导出数据1)按⽤户导expdp test/test@orcl schemas=test dumpfile=expdp.dmp DIRECTORY=DBBAK logfile=expdp.log2)并⾏进程parallelexpdp test/test@orcl directory=DBBAK dumpfile=expdp1.dmp parallel=10 job_name=test13)按表名导expdp test/test@orcl TABLES=table01,table02 dumpfile=expdp2.dmp DIRECTORY=DBBAK;4)按查询条件导expdp test/test@orcl directory=DBBAK dumpfile=expdp4.dmp Tables=table01 query='WHERE id=001';5)按表空间导expdp system/system DIRECTORY=DBBAK DUMPFILE=tablespace.dmp TABLESPACES=test,USERS;6)导整个数据库expdp system/system DIRECTORY=DBBAK DUMPFILE=full.dmp FULL=y;5、创建表空间及⽤户create tablespace test datafile '+data/test/datafile/data01.dbf' size 32000M;alter tablespace test add datafile '+data2/test/datafile/users02.dbf' size 32000M;create user test identified by test default tablespace TEST temporary tablespace TEMP;grant connect,resource,dba to test;grant read,write on directory DBBAK to test;6、还原数据1)导到指定⽤户下impdp test1/test1@orcl DIRECTORY=DBBAK DUMPFILE=expdp.dmp SCHEMAS=test logfile=impdp.log2)改变表的ownerimpdp system/system DIRECTORY=DBBAK DUMPFILE=expdp2.dmp TABLES=test.table01REMAP_SCHEMA=test1:table11;3)导⼊表空间impdp system/system DIRECTORY=DBBAK DUMPFILE=tablespace.dmp TABLESPACES=test;4)导⼊数据库impdb system/system DIRECTORY=DBBAK DUMPFILE=full.dmp FULL=y;5)追加数据impdp system/system DIRECTORY=DBBAK DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION7、查看数据是否⼀致select OBJECT_TYPE,COUNT(*) from all_objects where OWNER='TEST' group by OBJECT_TYPE;⼆、expdp详细参数可以通过 expdp help=y查看1.CONTENT 指定要导出的数据其中有效关键字为:(ALL), (默认)导出结构和数据DATA_ONLY:只导出数据METADATA_ONLY:只导出结构2.DIRECTORY 供转储⽂件和⽇志⽂件使⽤的⽬录对象3.DUMPFILE ⽬标转储⽂件 (expdat.dmp) 的列表例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.d4.INCLUDE 包括特定的对象类型例如 INCLUDE=PACKAGE,FUNCTION,PROCEDURE,TABLE:"='EMP'"5.EXCLUDE 排除特定的对象类型与INCLUDE相反6.TABLES 标识要导出的表的列表7.SCHEMAS 要导出的⽅案的列表可⽀持多个schemas=(user01,user02,user03)8.TABLESPACES 标识要导出的表空间的列表9.ATTACH 连接到现有作业, 例如 ATTACH [=作业名]PRESSIONALL :对导出的元数据和表数据都进⾏压缩,得到的导出⽂件是最⼩的,耗时也是最长的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
谈ORACLE备份与恢复
经常听到有人说,某数据库备份方法好,某备份方法不好,或者说现在都流行用rman 来备份了,逻辑备份已经过时了,冷备份就更不值一提了,其实数据库的备份从来没有什么好坏之分、没有过时之说,合适才是最重要的,自己好才是真的好.各种方法各有长短,谁也代替不了谁,只有根据实际情况搭配使用,才能发挥最大的作用,否则只能是东施效颦.
1 . o r ac 1 e的备份,包括no a r chi v e I og模式的备份(冷备份)、arch i velog模式的备份(热备份、rman备份)、逻辑备份(不分模式).
1.1.冷备份:
~ 1)关闭数据库
s hu t d o wn;
-一2)备份数据文件、控制文件、重做日志文件
一-A、查找备份文件的位置
SELEC T * FROM VSDATAFIL E ; —査数据文件
s el e ct * f r om v$cont r o 1 f il e ; —查控制文件
s e le c t * f r om vSlogf i 1 e; —査日志文件
~ B、备份数据文件、控制文件、重做日志文件
$ copy D:\oracle\o r a data\or a 9 \ *. dbf d: \ b a k \ *. *;
$ cop y D:\ora cle \ oradat a \ora9 \ *・ c t 1 d : \ b a k\*・ *:
$ copy D:\oracle \o r adata\o r a9\*・ I og d:\bak\*・ *;
1.2.热备份:
~ 1)查询备份的数据文件与哪一个表空间有关
SELECT V$TAF3LESPACE ・ NAME, VS DATAFILE. NAME
FROM V$TA B LES P ACE J OIN V$DATAF I LE USING(TS#);
~ 2)备份数据文件
a 1 t er tablespace 表空间BEGIN BACKUP;
$ COPY数据文件存放路径
ALTER TABLESP ACE 表空间END BACKUP ;
―3)查询是否还有表空间处于备份模式
SELECT * F ROM VSBAC KUP; —STATUS 不是ACTIV E 即可以
SELECT , V$BAC KUP・STA TUS,V$ D ATAFILE. NAME
FROM V$TABLESPACE JOIN VSDATAFILE USING (TS#) J OIN V$BACKUP USING (FILE#):
~ 4)备份控制文件
ALTER DATABASE BACKUP CONTROLF I LE TO '目标路径及文件名':
1・3・r m a n备份:
-- 1)一个简单的rman全库备份:
> rman n o c a talog t a rget " s y s / s ys"
R MAN> res t o re c ontrolf i 1 e from au t obac k u p ;
RM A N> c onf i gu r e con t rolfile a utobackup on;
RMAN> b a c ku p databas e ;
~ 2)备份数据文件、控制文件、归档日志
RMAN> BACKUP DATAFILE 数据文件名;
RMAN> BACKU P CURRE N T CONTRO LFILE;
RMAN> BACKUP ARCHIV E LOG ALL;
—- 3 )备份控制文件trace
SQL> a 1 t er se s sio n se t t race file _ident i f i e r=system ;
SQ L> a Iter da t abase b a cku p controlfil e t o t r ace;
SQL> alt e r d a tabase bac k u p co n t r o lfile t o ' d: \ t em p \ c on trolfile・ bak';
~ 4)备份表空间
RMAN> bac k up tab I e s pace 表空间名;
-rman备份比较复杂,只举些简单的例子.
1.4.逻辑备份
-- 1)数据库方式(导岀用户要具有exp_ f ull_datab a se权限)
exp scot t i ti g e r@o「a 9
f ul 1 =y f i 1 e ="D: \f u I 1. d mp〃
~ 2)用户方式
e xp us 已:r i d 二scot t / t ig e o ra 9 own e r =scott fil e =d: \ s cott .drop 1 og=d: \ s c o tt・lo g
—3)表方式
exp sc o tt / t ige 卩@o“9 t a bles= ( e mp, d ept) fil e =,z d:\emp・ dm p 〃
2. oracle的恢复(简单举例):
2.1冷备份的恢复,
1). STARTUP MOUNT;
2). ALTE R DAT AB A SE DATAFILE 数据文件OFFLIN E DROP;
3 )・ A L TER DATABAS E OPEN;
2.2热备份恢复:
1). STARTUP MOUNT;
2). ALTER DATABASE DAT AF I LE 数据文件OFFLINE; 一一/ / sys t em 0 1. dbf不能设置未OFF LI NE状态
3). AL TER DATABASE OPEN;
2. 3 rma n备份恢复:
~ 1)使用rman恢复归档数据库:
rma n t a rg e t /
rman> sta r t u p m o unt
rma n > res t ore dat a base;
rman> recover d a t abase;
rm a n> alter data b ase op e n;
—2)使用rman恢复表空间:
r man> res t ore tab 1 e s pac e
rman> recov e r tablesp a ce
rman>
run {
s ql " alter ta b lespace users o f f line immediate";
re s to r e tab 1 espa c e u s er s ;
recov er t a b 1 e s pac e u s ers;
s ql a Iter tablespace use r s onl i ne ":
}
2.4 .逻辑恢复
--1)数据库方式(导入用户要具有ex p _full_database权限)
imp s y stem/ s yst em@oralO f u 11= y f ile二"f :\full. dm p "
一2)用户方式
imp u s e r i d二scott / t iger@ora 1 0 fromus e r=sco t t t o u s er=s c ott file= d :\scott. dmp 1 og=d:\s c o t t. Io g
--3)表方式
i mp s y stem/sy s t e m@o r al 0 fromu s e r=s c o 11 to u s er 二scott file 二" f : \emp. dmp"
-一注意:导岀用户要和导入用户相同可以用上面的方法,否则用
imp sco t t/ti ger @oralO fu 1 1 =y f i 1 e二"f : \emp.dmp"
3.oracle备份与恢复方法的选择:
1).对于一些小系统、小数据虽:、没有在线要求的数据库,采用冷备份,简单方便、可靠(所有文件时间点一致),但如果是这类系统个人觉得使用oracle就是一种浪费,学习除外.
2).对于7X24小时的大系统、帐营支撑系统、客服系统的数据库,使用归档模式运行,采用全库备份与逻借备份相结合的方式.
3).对于经营分析系统、BI系统、査询系统等数据库,可采用逻辑备份与表空间备份相结合的方式,对变化数据进行增量备份.
4).对于一些字典数据库、静态数据较多的数据库,可采用逻辑备份,左期备份相关重要数据.
对于上而提到的方法,只是个表面的东西而已,要想保证数据库高效、空全、稳圧的运行, 必须要有完整的、切实可行的数据库运行管理制度,并且严格执行实施,否则再好的方法都是水中月、镜中花.。