数据库备份与恢复
- 命令导出/导入(Export/Import);
- 冷备份;
- 热备份;
- rman数据备份与恢复
命令导入导出
imp/exp
冷备份
冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份是最快和最安全的方法。
冷备份文件内容
冷备份须拷贝的文件: 所有数据文件、所有控制文件、所有联机REDO LOG文件、Init.ora文件(可选)。
冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。
备份DBF文件
1.关闭数据库
如不知道文件位置,关闭数据库之前先查询出控制文件、数据文件、日志文件的位置。
sqlplus /nolog
connect /as sysdba
shutdown normal;
2.拷贝全部的数据文件、全部的REDO日志文件、全部的控制文件、初始化参数文件(ora文件)。
-- 控制文件
select name from v$controlfile;
-- 数据文件,查看表空间DBF物理文件位置也可以查看v$datafile
select v$tablespace.name,v$datafile.name from v$tablespace, v$datafile where v$tablespace.ts#= v$datafile.ts#;
-- 日志文件
select member from v$logfile;
-- 初始化参数文件,这个文件夹下的ora文件(可不备份)
SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER WHERE NAME ='spfile';
通过sql查看相关文件的具体位置。把全部的DBF数据文件(不用备份temp文件)、全部的CTL控制文件、全部的LOG日志文件拷贝出来。
3.重启Oracle数据库
即使服务没有启动,sqlplus也可以连接登录。
sqlplus /nolog
connect /as sysdba
startup
恢复DBF文件
sqlplus /nolog
connect /as sysdba
#关闭ORACLE数据库
shutdown immediate;
#把控制文件、数据文件、日志文件覆盖到oracle位置。
#启动ORACLE数据库
startup;
如果只恢复dbf文件,控制文件和日志文件没有放回去,会报如下错误:
#恢复文件
recover datafile 'D:\ORACLE\ORADATA\SYSTEM01.DBF';
alter database open;
冷备份优缺点
优点
●非常快速、容易的备份方法,只需简单拷贝文件;
●非常容易恢复到某个时间点上,只需将文件再拷贝回去;
●能与归档方法相结合,做数据库“最佳状态”的恢复;
●低度维护,高度安全。
缺点
●单独使用时,只能提供到“某一时间点上”的恢复;
●实施冷备份的全过程中,数据库必须是关闭状态,因此会影响正常工作;
●不能按表或按用户恢复。
热备份
热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。
更改数据库为归档模式
#查看归档模式
archive log list;
#更改数据库为归档模式
sqlplus /nolog
connect /as sysdba
shutdown immediate; #立即关闭数据库
startup mount; #启动实例并加载数据库,但不打开
alter database archivelog; #更改数据库为归档模式
alter database open; #打开数据库
alter system archive log start; #启用自动归档
exit;
热备份步骤
- 备份数据文件
#设置表空间为备份状态
alter tablespace tbl_sp begin backup;
#备份tbl_sp表空间的数据文件
select v$tablespace.name,v$datafile.name from v$tablespace, v$datafile where v$tablespace.ts#= v$datafile.ts#;
#回复表空间为正常状态
alter tablespace tbl_sp end backup
- 备份归档日志文件
最早的概要日志序列到当前日志序列的联机redo日志全部拷贝备份。
#强迫日志切换
alter system switch logfile;
#获取当前的日志顺序号
archive log list
- 备份控制文件
#获得控制文件备份
alter database backup controlfile to trace
热备份优缺点
优点
●可在表空间或数据库文件级备份,备份的时间短;
●备份时数据库仍可使用;
●可以恢复到某一时间点上;
●恢复快速。
缺点
●不能出错,否则将不能正常恢复数据;
●维护较困难,需要一定的oracle数据库知识。
rman