| Oracle数据库的备份及恢复策略研究 |
| it.no1edu.net 佚名 不详 2006-12-15【字体:小 大】 |
|
|
的归档日志的序列号将与RESETLOGS后的Oracle控制文件的要求值不相符(备份文件中的检查点比控制文件中的检查点旧),即在恢复中不能应用以前的归档日志文件,从而导致RESETLOGS操作之前的备份在新形体中无用。
6、避免备份联机重作日志文件
由于文中提出了多工联机重作日志文件且数据库运行于ARCHIVELOG模式,ARCH进程能够将联机重作日志归档,因此不必对其进行备份。若用备份的联机重作日志文件重建它,可能会引起日志文件序列号的混乱,从而破坏数据库,得到适得其反的结果。
7、重置联机日志
在进行了不完全恢复或用备份控制文件进行恢复后,应重置联机日志。
为了确保数据库的一致性,必须保证在恢复后所有数据文件都恢复到同一个时间点,但不完全恢复可能导致数据文件中具有一个与其它文件不同的检查点,导致数据库的一致性受到破坏。同样,备份的控制文件中保存的SCN和计数器与当前日志文件中的值可能不同,从而也破坏了数据库的一致性,因此应在进行完上述两项操作后重置联机日志。
8、数据库的逻辑备份
以上所述备份都为物理备份,是实际物理数据库文件从一处拷贝到另一处的备份,除此之外还可使用Oracle提供的导出实用程序进行数据库的逻辑备份。Oracle同时还提供了相应的导入实用程序重建逻辑备份中保存的信息。
逻辑备份只拷贝数据库中的数据,而不记录数据位置的备份过程。它利用SQL语句,从数据库中导出数据到一个存放在合适位置的外部文件中,同时并可检测到数据块的损坏,因此可用其作为物理备份的补充。
备份策略
考虑到如今大部分信息系统每周的业务是24×7操作,因此采用联机备份,否则可每隔一定时间进行一次脱机备份。
应用上述规则,可得出下述典型的备份策略:
①镜像拷贝重作日志文件;
②镜像拷贝控制文件;
③激活归档进程,即以ARCHIVELOG模式操作数据库;
④每天进行数据库的部分联机备份(每天进行数据库的完全热备份将无畏地增加数据库的负担且没有必要,同时也增加了数据库恢复时的灵活性);
⑤每隔一周或几周进行一次数据库的逻辑备份。
实际项目应用
当数据库中的文件达到一定数量后,DBA可能记不住该备份的文件的名或位置,因此,若能使备份过程自动化可有效地减轻DBA的负担,同时不会遗漏应备份的文件,应用自动批处理文件及脚本文件可实现备份、恢复的自动化。下面简介了在实际项目开发中应用本文所提出的自动备份、恢复策略,通过实际应用,证明了该策略的正确性和可行性。
(1)下述脚本实现联机重作日志的多工:
connect 账户名/密码 alter database ktgis add logfile member 日志文件的存储位置 to group 联机日志组号; shutdown immediate startup pfile=初始化文件的存放位置 exclusive mount; 装载数据库且不打开 alter database archivelog; 激活归档进程 alter database open; exit (2)下列VB代码自动建立联机备份的批处理文件及相应的脚本文件。
Set adoTmp = objConnect.Execute("select tablespace_name from sys.dba_data_files") '得到数据库中的表空间名 Dim lnum1 As Long Dim lnum2 As Long lNum = FreeFile Open 自动备份批处理文件路径 For Binary As lNum lnum1 = FreeFile Open "onlinebegin.sql" For Binary As lnum2 onlinebegin.sql为设置表空间进入热备份模式的脚本文件文件名 lnum2 = FreeFile Open "online 上一页 [1] [2] [3] [4] 下一页
|
文章录入:anycall 责任编辑:anycall |
|
上一篇文章: Oracle 连接常见错误及解决方法
下一篇文章: 如何消除Oracle数据库的安全隐患(1)
|
 |
赞助商链接 |
|