oracle联机数据库备份详解

所属分类: 数据库 / oracle 阅读数: 93
收藏 0 赞 0 分享

尽管很多时候数据库系统运行缓慢,但对数据库数据的丢失而言,显然后者损失的代价是不言而喻的。因此DBA至少在保证数据不丢失的情况下来提高系统的性能是最起码的要求
联机数据库备份
一旦数据库运行在archivelog方式,在打开并对用户可用时就可以进行备份。这一特性允许连续运转的数据库可以归档并能保证其恢复性。联机热备份应该安排在用户活动最少的时间段进行。
联机热备份包括三个过程,即逐个表空间地备份数据文件、备份归档重做日志文件和备份控制文件。
1. 逐个表空间地备份数据文件
该过程又可以分为四个步骤,即查询表空间包括哪些数据文件、设置表空间为备份状态、备份表空间的数据文件、将表空间恢复到正常状态。
(1) 查询表空间包括哪些数据文件
执行命令select tablespace_name,file_name from dba_data_files可以获得系统中所有数据文件以及其归属的表空间。
(2) 设置表空间为备份状态
执行命令alter tablespace tablespace_name begin backup将表空间tablespace_name设置为备份状态。
(3) 备份表空间的数据文件
执行操作系统的文件备份命令将表空间的数据文件备份。
(4) 将表空间恢复到正常状态
执行命令alter tablespace tablespace_name end backup将表空间tablespace_name恢复到正常状态。
2. 备份归档重做日志文件
该过程又可以分为三个步骤,即暂停归档进程ARCH、备份归档重做日志文件。
(1) 暂停归档进程ARCH
执行命令archive log stop暂停归档进程ARCH。
(2) 记录归档目标目录中已归档日志文件的列表
可以查询V$LOG动态字典视图。如果日志已完全归档, V$LOG的archived列将含有YES值。可以从V$LOG选择最高的归档日志(使用sequence#列)并将其用作备份文件清单的基础。例如,如果V$LOG表明sequence#2334是最后一个被归档的日志文件,就可以成功地备份归档重做日志目标目录中所有序号在2334以下的文件。如果试图备份2335,可以在操作系统级成功备份,但由于这个文件还没有完全归档,这个备份可能只写入一半,因而在恢复操作期间不可能有用。
(3) 重新启动归档进程ARCH
执行命令archive log start启动归档进程ARCH。
(4) 备份归档重做日志文件
执行操作系统的文件备份命令备份归档重作日志文件。
(5) 从归档目标目录中删除已经备份的归档日志文件
3. 备份控制文件
执行命令alter database backup controlfile to destinantion/control.bak进行在线备份控制文件。也可以执行alter database backup controlfile to trace将create controlfile的命令写入到数据库的跟踪文件中

联机热备份失败后,如何打开数据库
因为表空间还处在热备份状态。
  
模拟现象及解决方法:
  
先将数据库设置为归档模式

复制代码 代码如下:

C:>svrmgrl
svrmgrl>connect internal
svrmgrl>alter tablespace 表空间名 begin backup;
--表空间热备模式没结束就强行关闭数据库,造成错误
svrmgrl>shutdown abort
svrmgrl>startup mount
--将此表空间的数据文件在没打开数据库时置成end backup模式
svrmgrl>alter database datafile '表空间的数据文件名' end backup;
--或执行表空间介质恢复
svrmgrl>recover tablespace 表空间名;
svrmgrl>alter database open;

更多精彩内容其他人还在看

Oracle固定执行计划之SQL PROFILE概要文件详解

概要文件,就是一份描述如何使用系统的资源(主要是CPU资源)的配置文件,这篇文章主要介绍了Oracle固定执行计划之SQL PROFILE概要文件 ,需要的朋友可以参考下
收藏 0 赞 0 分享

Oracle 12CR2查询转换教程之表扩展详解

Oracle 12cR2版本已经发布有一段时间,下面这篇文章主要给大家介绍了关于Oracle 12CR2查询转换教程之表扩展的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Oracle 12CR2查询转换教程之cursor-duration临时表详解

这篇文章主要给大家介绍了关于Oracle 12CR2查询转换教程之cursor-duration临时表的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Oracle 12CR2查询转换教程之临时表转换详解

这篇文章主要给大家介绍了关于Oracle 12CR2查询转换教程之临时表转换的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Oracle中字符串截取常用方法总结【推荐】

这篇文章主要介绍了Oracle中字符串截取常用方法总结,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

关于expdp任务异常的处理案例详析

这篇文章主要给大家介绍了关于expdp任务异常处理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

oracle中的一些常用函数及示例

这篇文章主要给大家介绍了关于oracle中的一些常用函数及示例的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

oracle实现一对多数据分页查询筛选示例代码

这篇文章主要给大家介绍了关于oracle实现一对多数据分页查询筛选的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Oracle数据库新装之后出现的监听程序无法正常启动和运行(Oracle-12514)问题

这篇文章主要介绍了Oracle数据库新装之后出现的监听程序无法正常启动和运行(Oracle-12514)问题,需要的朋友可以参考下
收藏 0 赞 0 分享

Oracle中定义以及使用同义词的方法

这篇文章主要给大家介绍了关于Oracle中定义以及使用同义词的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多