这是本人学习Oracle 10g备份与恢复的系列学习笔记,分享出来供大家参考。
一、备份的方法:
1.
用户管理的备份与恢复
SQL
命令结合
OS
命令的备份与恢复方法。
2.RMAN
的备份与恢复
RMAN
是
Oracle
的恢复管理器(
Recovery Manager
),可以将多个数据文件备份到一个备份集中,备份时只备份数据文件中已经使用了的数据块,节省空间、便于管理。
3.
逻辑备份与恢复
可以将数据库部分或全部对象的结构和数据导出到
OS
文件进行存贮,要求必须数据库必须在
OPEN
状态下转贮。
Orace 10g
之前,传统导出、导入使用
EXP
、
IMP
工具完成。从
Orace 10g
开始,又增加了数据泵导出导入工具(
EXPDP
、
IMPDP
)。
EXP
、
IMP
是客户端工具,可以在客户机和服务器上使用。
EXPDP
、
IMP DP
是服务器端工具,只能在服务器上使用。
EXPDP
、
IMPDP
和
EXP
、
IMP
的导出、导入文件不可互用,而且前者的速度要明显优于后者。
二、恢复策略
二、恢复策略
1.用户错误恢复策略。
主要是为防止用户误操作丢失数据。
1)规律性地导出重要表的数据。
2)基于SCN的不完全恢复,要求“恢复点到失败点的归档日志和重做日志必须完整”。
3)FLASHBACK快速恢复表数据,发确保“被误删的表在数据库的回收站中,且要激活表的ROW MOVEMENT特性”
2.存贮介质失败的恢复策略
存贮介质失败的发生机会远远少于用户的误操作,但必须制定相应的恢复策略。控制文件、SYSTEM表空间、数据表空间的恢复策略是不同的。
3.数据块恢复策略
一个数据文件的少量数据块损坏,为了避免较大数据库完全恢复消耗时间,可以执行数据块介质损坏的恢复。使用PL/SQL数据包DBMS_REPAIR,或RMAN的BLOCKRECOVER。
三、备份策略
数据恢复策略是备份策略的基础,除了要为恢复策略提供必要的备份外,还要充分考虑“业务、操作、技术、软件、硬件”等各方面的要求,必须牢记“有备才能无患”。
1.多元化重做日志
将同一日志组的成员放在不同的磁盘上。
2.多元化控制文件
要包含多个控制文件,且分放在不同的磁盘上。
3.确定日志操作模式
(1)ARCHIVELOG模式的特点:
需要为归档日志分配专门的空间,且需要管理生成的归档日志;
在数据库打开时可以执行联机备份,不影响数据库的业务;
可以使用多种恢复技术,如:完全恢复、FLASHBACK、DBPITR、TSPITR
(2)NOARCHIVELOG模式的特点:
不能执行联机备份,要备份必须关闭数据库;
不能使用归档日志的任何技术,如:完全恢复、FLASHBACK、DBPITR、TSPITR;
当某个数据文件的存贮介质出现失败,有二种处理方法:删除其上包含的所有数据库对象,然后删除该数据文件,数据库的其它部分仍然可以正常工作,但是损坏了的数据文件上存贮的内容全部丢失;第二种方法,转贮最近的完全备份,备份点到失败点的所有数据修改全部丢失。
4.选择备份保留策略
备份保留策略用于设置满足恢复和其它要求需要保留备份的规则,可使用RMAN设置基于冗余度(REDUNDANCY)和恢复窗口(RECOVERY WINDOW)备份保留策略。
5.保留旧备份
当数据库恢复到备份点之前的时间点时,必须使用早期备份的数据文件和归档日志。
如果最近的备份损坏且数据库也出现了介质失败,可以使用早期备份出来的数据文件和所有归档日志,可以完全恢复数据库。
6.确定备份周期
适当的备份周期可以降低介质恢复周期,应根据数据库的变化频率确定备份周期。
7.备份频繁使用的表空间
如果表空间上频繁执行DML操作,应增加此表空间的备份次数,以降低恢复时间。
8.在数据库物理结构发生改变时备份数据库
当发生删除表空间、啬数据文件、改变数据库名称等时,数据库的物理结构发生了变化。在ARCHIVELOG模式下发备份控制文件,在NOARCHIVELOG模式下进行数据库的完整备份。
9.在NOLOGING操作之后要备份
当装载数据、建立表或索引,为了回忆数据的装载速度,可以指定NOLOGING选项,此时数据不会被记入重做日志中,要备份相应的表空间。
10.使用EXP或EXPDP导出数据
为了防止对象被意外删除或截断,可以使用EXP或EXPDP导出数据。
11.不用备份重做日志。
与归档日志不同,重做日志不用备份。