Oralce数据库备份与恢复方法:
- 冷备份(完全备份,安全完整)
- 导出/导出备份(通过EXP/IMP完成,部分备份)
- 热备份(归档模式下备份)
(一)冷备份
- 冷备份是一种物理备份方式
- 冷备份的备份对象是整个数据库
- 冷备份的数据库必须是关闭状态
- 冷备份使用操作系统命令
2、冷备份步骤:
- 正常关闭要备份的实例(instance)
- 备份整个数据库到一个目录
- 启动数据库
3、用冷备份进行数据库恢复
- 如果数据库是运行在非归档日志模式下,将备份文件拷贝回原来的目录即可。非归档日志模式下数据库只能恢复到备份时刻的状态。
- 如果数据库是运行在归档日志模式下,将数据文件拷回原来的目录(不包括联机redolog文件),然后依次选择相应的重做日志文件进行恢复,即可恢复冷备份后的所有操作,即是说可以恢复到系统崩溃前的状态。
4、冷备份示例
Windows环境下的冷备份与恢复
在本例中,数据库实例名wh,所有数据文件、所有控制文件和所有联机REDO LOG 文件都在文件夹D:\oracle\ora92\wh中,备份恢复的操作如下:
1、 进入 sql*plus,以sysdba的身份登录数据库
SQL>sys/oracle@wh as sysdba
2、 关闭数据库SQL>shutdown immediate
3、 拷贝D:\oracle\ora92\wh到目标备份目录E:\bacakupora\wh
数据库冷备份完成。下面对数据库中的内容进行更改:
4、启动数据库
SQL>startup
5、删除数据
SQL>delete from wh.test (删除某个用户的表)
此时进行数据库恢复。
6、SQL>shutdown immediate;
7、拷贝目标备份目录E:\bacakupora\wh到D:\oracle\ora92\wh
数据库恢复完毕。通过查询可以发现数据库恢复到进行备份时刻的状态,备份后所进行的所有操作无效。
==============================================================================
(二)导出备份
- 导出备份是一种逻辑备份方式
- 导出备份能够以全库、用户、表三种方式进行备份
- 导出备份能够备份对象定义(表,索引,视图,包等)、约束、数据
- 导出备份使用Oracle的exp.exe工具
示例:
- exp help=y
- exp username/password full=y direct=y compress=y file=%path%\filename.dmp log= =%path%\filename.log
说明:
- help 显示导出命令参数
- username/password 用户名/密码
- full 导出整个数据库
- direct 使用直接路径导出
- compress 是否压缩导出对象
- file 导出内容存放的文件
- log 导出的日志记录文件
详细的参数设定,请参照help内容,根据情况而定(全库,用户,表)。
(三)导入备份
- 导入备份指的是使用Oracle工具imp.exe将导出备份的内容装入一个准备好的数据库
- 导入备份能够以全库、用户、表三种方式进行装入
示例:
- imp help=y
- imp username/password full=y commit=y buffer=1024000 file=%path%\filename.dmp log= =%path%\filename.log
说明:
- help 显示导入命令参数
- username/password 用户名/密码
- full 导入整个数据库
- commit 自动提交
- buffer 缓存大小
- file 导入的文件
- log 导入的日志记录文件
==============================================================================
(四)热备份
-
热备份是一种物理备份方式
-
热备份以表空间的方式进行备份
-
热备份的数据库必须处于归档模式
-
在线备份数据库
-
热备份以Oracle命令和操作系统命令结合的方式进行备份