1 简介
本手册描述Oracle数据库的备份还原机制,帮助应用Oracle数据库,为了保证数据库的安全,避免外界因素造成数据库中数据丢失,有效的备份可以更好的重建数据库,在修改删除表或者表空间以前或者以后执行适当的备份是相当必要的,备份时建议使用直接登录服务器或者利用ssh工具登录服务器利用相关的系统命令进行操作,避免使用PLSQL工具进行操作,影响备份的结果,本文档适合有一定Oracle经验人员进行阅读,以OracleLinux 6.5为环境基础,oracle 版本为11.2.0.4,其他的版本请自行测试,避免出现其他的问题。
2 备份的种类
而对于ORACLE数据库的备份方法主要分为两大类。第一类是物理备份,第二类是逻辑备份。而物理备份又分为冷备份和热备份。
2.1 物理备份
2.1.1 冷备份:
冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。
优点:能简单快速地备份。能简单快速地恢复。执行简单。
缺点:必须关闭数据库,不能进行点恢复。
2.1.2 热备份:
热备份是在数据库运行的情况下,采用archivelogmode方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。
优点:备份时数据库可以是打开的。热备份可以用来进行点恢复。初始化参数文件、归档日志在数据库正常运行时是关闭的,可用操作系统命令拷贝。
缺点:执行过程复杂。由于数据库不间断运行,测试比较困难。不能用操作系统实用工具拷贝打开的文件。必须使用Oracle提供的ocopy工具来拷贝打开的文件。热备份可能造成CPU、I/O过载,应在数据库不太忙时进行。
2.2 逻辑备份
逻辑备份是利用export进行数据备份。这个直接根据提示来就可完成。
优点:能执行对象或者行恢复。备份和恢复速度更快。能够跨操作系统平台迁移数据库。数据库可一直运行。
缺点:export并不是冷备份和热备份的替代工具。冷、热备份可保护介质失效。export备份可保护用户或应用错误。
3 备份方案
3.1冷备份方案的实施
3.1.1冷备份数据库的步骤
1、关闭数据库;
使用命令 shutdown immediate;
2、备份所有相关的数据库文件:
- 初始化参数文件 $ORACLE_HOME/dbs/*.ora
- 控制文件(可用select name from v$controlfile;列出所有控制文件)
- 数据文件(可用select name from v$datafile;列出所有数据文件)
- Redo日志(可用select member fromv$logfile;列出所有redo日志文件)
- 归档的Redo日志(可用select sequence#,first_timefrom v$loghist;列出所有归档redo日志文件的顺序号和产生时间)。
1)root用户登录服务器
mkdir /backup/ctl /backup/dbf /backup/redo/backup/dbs #新建Oracle数据库备份目录 chown -Roracle:oinstall /backup/ #设置目录权限为oinstall用户组的oracle用户 (用户oracle与用户组oinstall是在安装Oracle数据库时设置的)
2) 备份相关的文件
su- oracle #跳转到oracle用户 cp /oradata/orcl/control01.ctl /u01/app/oracle/fast_recovery_area/orcl/control02.ctl/backup/ctl#复制控制文件到指定目录/backup/ctl cp /oradata/orcl/*.dbf /backup/dbf#复制数据文件到指定的目录/backup/dbf cp /oradata/orcl/redo*.log /backup/redo #复制redo日志文件到指定目录/backup/redo cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/*/backup/dbs #复制参数文件到指定目/backup/dbs