郑 福,侯校佳
国家新闻出版广电总局二九二台,山东青岛 266206
Oracle数据库备份与恢复可行性研究
郑 福,侯校佳
国家新闻出版广电总局二九二台,山东青岛 266206
现今,越来越多新的应用领域采用数据库技术来存储和处理信息资源,为了保障数据库的安全运行,数据库备份与恢复策略也变得愈加重要。本文就如何开展Oracle数据库备份与恢复进行了深入探讨,并结合数据库备份及恢复应用场景提出了数据库备份和恢复建议,供业内人士参考。
oracle;数据库;备份
传统数据库系统依据数据模型的特点分为层次数据库、网状数据库和关系数据库三种。最早出现的是网状数据库系统,美国通用电气公司在1961年成功开发的IDS(Integrated DataStore)IDS ,具有日志和数据模式的特征。但该数据库系统只能在GE主机上运行,并且只有一个数据库文件,数据库所有的表必须通过人工编码来完成。在数据库发展史上,网状数据库占有重要地位。层次型数据库系统是在网络型数据库之后而出现的,典型的层次型数据库系统是IBM 公司在1968 年开发的IMS(Information Management System)。IMS是IBM公司研制的最早的大型数据库系统。虽然网状数据库和层次型数据库已经能够很好地解决了数据的集中及共享问题,但在数据独立性上仍有很大欠缺。使用者在对这两种数据库进行数据存取操作时,仍需要了解数据的存储结构,明确数据存取路径。国际国内的主导关系型数据库管理系统有Oracle、Sybase、Informix和INGERS。这些产品都支持多平台,如UNIX、VMS、Windows,但支持程度不一样。IBM的DB2也是成熟的关系型数据库。但是,DB2是内嵌于IBM的AS/400系列机中,只支持OS/400操作系统。SQL Server则只能在windows上运行,开放性差。Access数据库则适用于数据量较小的数据应用,安全性比不上其他类型的数据库。Oracle数据库是一款为网格计算而设计的数据库系统,它集成了数据库管理技术的各种优势,又融入了网格计算的各种新的新能特点,用户可根据不同使用特点选择相应的数据库。
Oracle数据库系统的优点是支持大数据、多用户高性能事务处理,该数据库具有良好的硬件环境独立性,能够适用于各种类型的操作系统。Oracle数据库系统中数据备份分为物理备份和逻辑备份两种。其中,物理备份主要是通过转存储数据库物理文件(如数据文件、控制文件、归档日志文件等),将组成数据库的文件从一处拷贝到另一处的备份过程,通常是从一种存储介质到另一种稳定存储介质。Oracle数据库系统的物理备份可分为冷备份和热备份。而逻辑备份通常是利用数据库提供的导出工具从数据库中提取数据并另存于二进制文件的过程。逻辑备份使用导出工具EXP。
上文中所述ORACLE数据库两种数据备份方式的优缺点如表1中所示,可以看到各备份方式均存在优点和缺点,用户可根据实际应用环境的要求选择不同的备份与恢复方式,亦可组合使用,下面以某工作站数据库应用为例,尝试探讨上述几种数据备份与恢复方式的可行性。
3.1 Oracle数据库系统逻辑备份与恢复
使用exp/imp导出/导入三种方式:
1)表方式,可将指定的表导出备份。
2)用户方式,可将指定的用户的所有对象导出。
3)全库方式,将数据库中的所有对象导出。
下面介绍逻辑备份与恢复的方法:
C:〉exp system/123@orcl full=y file=d:orcl. dmp ,log=d:orcl.log
执行语句后将数据库完全导出,用户名system密码123,并将导出结果和日志保存到d盘。
C:〉copy /y d:orcl.dmp \192.168.1.1D$ orcl.dmp
C:〉copy /y d: orcl.log\192.168.1.1D$ orcl.log
执行语句后将d盘的数据库备份文件和日志文件拷贝到磁盘阵列上进行保存。
如数据库出现问题或发生故障,可将数据库备份文件放入备份数据库服务器,执行如下语句,将数据库备份文件导入到备份空数据库中。
imp system/123@orcl file=d:orcl.dmp full=y
3.2 物理备份之冷备份及恢复
冷备份是指数据库处于关闭状态,将这一稳定时刻的数据库系统相关文件转移到安全的区域,当数据库出现问题或损坏时,再将之前备份的数据库相关文件从安全区域拷贝回原来位置的备份方式。
数据库冷备份步骤如下:
1)以管理员身份登录数据库
C:〉sqlplus / as sysdba
2)关闭数据库
SQL〉shutdown immediate
3)将数据文件、控制文件和联机日志文件拷贝到安全区域,将D:oracleproduct10.2.0oradata路径下以数据库名命名的文件夹拷贝到安全区域
4)重启数据库
SQL〉startup
如数据库受损,首先关闭数据库,将安全区域的数据库文件复制到数据库服务器D:oracle product10.2.0oradata路径下,重启数据库。因数据库需要实时处于工作状态,故数据库冷备份只能在数据库初装或有备份数据库情况下适用。
3.3 物理备份之热备份及恢复
Oracle数据库的联机日志记录在数据库上进行的所有活动。后台进程将以一种循环的方式写这些日志文件。处于非归档模式下,当循环写入最后一个日志完成后,就重新写入第一个日志。因此,在非归档模式下唯一的数据库恢复办法就是使用冷备份。而处于归档模式下,当redo日志写满时,后台进程就开对写满日志进行归档。因此,可以使用热备份和点恢复。
数据库热备份步骤如下。
1)通过视图查看数据库是否在归档模式下:
SQL〉select log_mode from v$database;
如果不是归档模式,则将其改为归档模式,方法如下:
SQL〉shutdown immediate(关闭数据库)
SQL〉startup mount(开启mount模式)
SQL〉alter database archivelog;(将数据库改为归档模式)
SQL〉alter database open;(启动数据库服务)
如果Automatic archival显示为“Enabled”,则数据库为自动归档方式,无需操作,否则需要进行人工归档,或者将归档方式改为自动归档。
关闭数据库,在参数文件中加入如下参数。
LOG_ARCHIVE_DEST_1=ORACLE_HOME/admin/0816/ arch
然后,重新启动数据库,重启后的数据库将以自动归档方式工作。
注:当数据库处于归档模式时,必须要确保指定的归档路径可写,否则数据库会自动挂起停止服务,直到对所有日志信息进行归档后才可以使用。另外,为创建一个有效的数据库文件备份,当数据库创建时,必须对全数据库的数据文件进行一次冷备份。
2)直接对整个数据库进行备份,首先进入rman:
Rman〉backup database format ‘E:oracle backupackup_01’;
3)数据库归档日志备份步骤:
首先对当前日志进行归档,然后归档所有日志文件:
Rman〉Backup archivelog allformat ‘E:oracle backupackup_02’ delete input
4)数据库控制文件备份步骤:
Rman〉backup current controlfile;
通过上述步骤,完成数据库物理热备份。
数据库热备份的恢复步骤:
首先关闭数据库,然后将数据库启动至mount状态,将数据库的备份文件和归档日志的备份文件放到指定的备份目录下。
Rman〉restore database;
Rman〉recover database;
SQL〉alter database open;
通过上述步骤完成对损害数据库的数据文件恢复。
确保数据库安全稳定运行是维护工作的重点,通过对Oracle数据库备份与恢复可行性进行研究,能够看出逻辑备份一般用于有规律的日常备份场景;物理备份中的冷备份一般用于数据库能够暂时关闭或者配合热备份使用的场景;物理备份中的热备份一般用于数据库访问量小,或者需要实现表空间及库文件级的备份场景。因此,建议在数据库初装后进行物理冷备份,启动后可使用物理热备份及逻辑备份相结合的方式对数据库进行备份,并结合Oracle提供的各种工具使数据库备份和恢复变得简单。当然在实际的数据库备份和恢复应用中,会有很多复杂情况出现,这就需要在具备大量日常实践经验的同时,针对不同情况,为保障数据具有最大可恢复性和最短恢复时间的原则去进行数据库的备份与恢复方案设计及实现。
[1]秦靖,刘存勇.Oracle从入门到精通[M].北京:机械工业出版社,2011.
[2]何玉洁,王晓波,车蕾.数据库系统[M].北京:机械工业出版社,2010.
[3]潘敏,傅扬,史晓翠.Oracle数据库性能优化的分析[J].电脑编程技巧与维护,2010,10.
[4]吴冰.Oracle Database备份与恢复的应用[J].河南科技,2011,6.
G2
A
1674-6708(2015)142-0067-01