Oracle Database 11G 完全备份[Whole Database Backups]概述

  • RMAN 的完全备份(Whole Database Backups using RMAN)
  • Oracle数据库的状态查询
  • 使用 RMAN 进行数据库完全备份
    • 归档模式下执行完全备份
    • 非归档模式下,执行全库备份
  • 引用

RMAN 的完全备份(Whole Database Backups using RMAN)


完全备份(Whole Database Backups),包括数据文件、控制文件、归档文件(归档模式)和初始化参数文件。完全备份的数据库既可以是归档模式(archivelog),也可以是非归档模式(noarchivelog),但备份是否有效,取决于备份时数据库的状态。

归档模式下:

  • 数据库正常打开状态(open read write)下创建的备份是不一致性的有效备份(常用)
  • 数据库在只读模式(mount, open read only)下创建的备份是一致性的有效备份
  • 数据库正常关闭状态(shutdown normal, shutdown transational, shutdown immediate)下创建的备份都是一致性的有效备份
  • 数据库异常关闭(shutdown abort, 故障停机)下创建的备份是不一致性的备份,不建议使用!

非归档模式下:

  • 数据库正常打开状态(open read write)下创建的不一致性备份是无效备份
  • 数据库在只读模式(mount, open read only)下创建的备份是一致性的有效备份(常用)
  • 数据库正常关闭状态(shutdown normal, shutdown transactional, shutdown immediate)下创建的备份都是有效备份
  • 数据库异常关闭(shutdown abort, 故障停机)下创建的备份是不一致性的备份,不建议使用!

Oracle数据库的状态查询


表 Oracle数据库的状态查询 (引用-1)

启动状态 语句 结果
shutdown SQL> select status from v$instance; ORA-01034: ORACLE not available
SQL> select open_mode from v$database; ORA-01034: ORACLE not available
RMAN> backup database; ORA-01034: ORACLE not available
nomount SQL> select status from v$instance; STARTED
SQL> select open_mode from v$database; ORA-01507: database not mounted
RMAN> backup database; ORA-01507: database not mounted
mount SQL> select status from v$instance; MOUNTED
SQL> select open_mode from v$database; MOUNTED
RMAN> backup database; [runnable]
open SQL> select status from v$instance; OPEN
SQL> select open_mode from v$database; READ WRITE 或者 READ ONLY
RMAN> backup database; [runnable]

综上,RMAN 只有在数据库可访问的状态: mount, open read only, open read write,才能实施数据库完全备份。其中,非归档状态下,只能在 mount, open read only 模式下实施数据库完全备份。

使用 RMAN 进行数据库完全备份

归档模式下:

  • BACKUP DATABASE” 数据库完整备份
  • INCLUDE CURRENT CONTROLFILE” 子句,等同于 “CONFIGURE CONTROLFILE AUTOBACKUP ON;” 的 RMAN 备份配置,将在 “BACKUP DATABASE” 数据库完全备份后,备份控制文件(control files)和参数文件(spfile);如果没有该子句和 开启 AUTOBACKUP 的RMAN备份配置,“BACKUP DATABASE” 数据库完全备份只会备份控制文件(control files).
  • PLUS ARCHIVELOG DELETE INPUT” 子句,在归档模式下,将归档日志文件备份后,删除这些已备份的归档日志文件。

归档模式下执行完全备份

SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     90
Next log sequence to archive   92
Current log sequence           92

通过指令 “archive log list” 查看数据库已启用归档。

RMAN> BACKUP DATABASE INCLUDE CURRENT CONTROLFILE PLUS ARCHIVELOG DELETE INPUT;
---------------- 启动备份 ----------------
Starting backup at 23-MAY-19
---------------- 归档当前联机重做日志 ----------------
current log archived
---------------- 使用控制文件管理 RMAN 备份集信息 ----------------
using target database control file instead of recovery catalog
---------------- 分配通道 ----------------
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=136 device type=DISK
---------------- 启动归档日志文件的备份 ----------------
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=92 RECID=1 STAMP=1009034905
channel ORA_DISK_1: starting piece 1 at 23-MAY-19
channel ORA_DISK_1: finished piece 1 at 23-MAY-19
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2019_05_23/o1_mf_annnn_TAG20190523T152827_ggdlwxsh_.bkp tag=TAG20190523T152827 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:08
---------------- 删除已归档的归档日志文件 ----------------
channel ORA_DISK_1: deleting archived log(s)
archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2019_05_23/o1_mf_1_92_ggdlwrwd_.arc RECID=1 STAMP=1009034905
---------------- 完成归档日志文件的备份 ----------------
Finished backup at 23-MAY-19---------------- 启动备份 ----------------
Starting backup at 23-MAY-19
---------------- 使用已分配的通道 ----------------
using channel ORA_DISK_1
---------------- 启动全库备份 ----------------
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00002 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf
input datafile file number=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/orcl/example01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: starting piece 1 at 23-MAY-19
channel ORA_DISK_1: finished piece 1 at 23-MAY-19
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2019_05_23/o1_mf_nnndf_TAG20190523T152837_ggdlx6ro_.bkp tag=TAG20190523T152837 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:11:38
---------------- 对控制文件和参数文件进行备份 ----------------
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 23-MAY-19
channel ORA_DISK_1: finished piece 1 at 23-MAY-19
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2019_05_23/o1_mf_ncsnf_TAG20190523T152837_ggdmm22j_.bkp tag=TAG20190523T152837 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 23-MAY-19---------------- 对备份过程中产生的联机重做日志文件进行归档 ----------------
Starting backup at 23-MAY-19
current log archived
---------------- 对刚归档的日志文件进行备份 ----------------
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=93 RECID=2 STAMP=1009035619
channel ORA_DISK_1: starting piece 1 at 23-MAY-19
channel ORA_DISK_1: finished piece 1 at 23-MAY-19
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2019_05_23/o1_mf_annnn_TAG20190523T154019_ggdmm396_.bkp tag=TAG20190523T154019 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
---------------- 删除已归档的归档日志文件 ----------------
channel ORA_DISK_1: deleting archived log(s)
archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2019_05_23/o1_mf_1_93_ggdmm35l_.arc RECID=2 STAMP=1009035619
Finished backup at 23-MAY-19

归档模式下,全库备份的执行步骤:

  1. 归档当前的联机重做日志(online redo logs)
  2. 备份归档日志文件(archive logs)
  3. 删除已备份的归档日志文件
  4. 备份数据库的数据文件(datafiles)
  5. 备份控制文件与参数文件(control files, spfile)
  6. 归档备份过程中产生的联机重做日志(online redo logs)
  7. 备份新归档的归档日志文件
  8. 删除已归档的归档日志文件

非归档模式下,执行全库备份

SQL> select open_mode from v$database;OPEN_MODE
------------------------------------------------------------
READ ONLYSQL> archive log list
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     90
Current log sequence           92

通过语句 “select open_mode from v$database;” 和 “archive log list” 确定当前数据库处于只读状态,并且未开启归档。

RMAN> BACKUP DATABASE INCLUDE CURRENT CONTROLFILE PLUS ARCHIVELOG DELETE INPUT;---------------- 使用控制文件管理 RMAN 备份集 ----------------
Starting backup at 23-MAY-19
using target database control file instead of recovery catalog---------------- 分配通道 ----------------
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=129 device type=DISK---------------- 数据库未启用归档 ----------------
specification does not match any archived log in the repository
backup cancelled because there are no files to backup
Finished backup at 23-MAY-19---------------- 备份数据文件 ----------------
Starting backup at 23-MAY-19
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00002 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf
input datafile file number=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/orcl/example01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: starting piece 1 at 23-MAY-19
channel ORA_DISK_1: finished piece 1 at 23-MAY-19
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2019_05_23/o1_mf_nnndf_TAG20190523T220607_ggfb6j45_.bkp tag=TAG20190523T220607 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:07:35---------------- 备份控制文件和参数文件 ----------------
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 23-MAY-19
channel ORA_DISK_1: finished piece 1 at 23-MAY-19
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2019_05_23/o1_mf_ncsnf_TAG20190523T220607_ggfbnr4m_.bkp tag=TAG20190523T220607 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 23-MAY-19---------------- 数据库未启用归档 ----------------
Starting backup at 23-MAY-19
using channel ORA_DISK_1
specification does not match any archived log in the repository
backup cancelled because there are no files to backup
Finished backup at 23-MAY-19

非归档模式下,全库备份的执行步骤:

  1. 未发现归档日志文件(archive files)
  2. 备份数据库的数据文件(datafiles)
  3. 备份控制文件与参数文件(control files, spfile)
  4. 未发现归档日志文件(archive files)

引用

引用-1 Oracle数据库的状态查询

Oracle Database 11G 完全备份[Whole Database Backups]概述相关推荐

  1. win10开启oracle服务器配置,Windows环境(Win10)下安装、配置服务器类Oracle Database 11g Release 2...

    该篇为服务器类Oracle Database 11gRelease 2的安装.配置,若需安装.配置桌面类(通常是选择桌面类,如果是将本机作为服务器来使用,则选择服务器类),可参考"Windo ...

  2. Oracle Database 11g Express Edition使用限制,与其他版本的区别

    Oracle Database 11g Express Edition是 Oracle 数据库的免费版本,支持标准版的大部分功能,11g Express Edition 提供 Windows 和 Li ...

  3. 使用Oracle 11g新特性 Active Database Duplication 搭建Dataguard环境

    Duplication Database 介绍 Duplicate database可以按照用途分为2种:duplicate database(复制出一个数据库)duplicate standby d ...

  4. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)

    集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...

  5. 指南:在 linux 下的 Oracle Database 11g 中安装 Oracle Enterprise Manager 10g Grid Control 第 5 版

    原文地址:http://www.oracle.com/technetwork/cn/articles/revitt-oem-096363-zhs.html 作者:Mike Revitt 逐步详解如何针 ...

  6. Oracle Database 11g数据库管理艺术(涵盖DBA必知必会的所有数据库管理知识)

    Oracle Database 11g数据库管理艺术(涵盖DBA必知必会的所有数据库管理知识) 基本信息 原书名: Expert Oracle Database 11g Administration ...

  7. 聊聊Oracle 11g的Snapshot Standby Database(上)

    Oracle 11g是Data Guard的重要里程碑版本.在11g中,Active DataGuard.Advanced Compression等特性大大丰富了Data Guard的功能和在实践领域 ...

  8. 安装Oracle Database 11g 找不到文件“WFMLRSVCApp.ear” .

    在64位Windows 7 系统下安装Oracle Database 11g 的过程中, 出现提示: "未找到文件D:\app\Administrator\product\11.2.0\db ...

  9. oracle result_cache_max_size,oracle database 11g新特性之设置result cache-Oracle

    oracle database 11g新特性之设置result  cache oracle database 11g 新特性 之设置 result  cache 如果系统以前没有使用过result c ...

最新文章

  1. bitcask存储引擎
  2. [Silverlight入门系列]实现局部元素全屏(Element部分全屏)
  3. 成功解决sklearn\grid_search.py:42: DeprecationWarning: This module was deprecated in version 0.18 in fav
  4. Java正则表达式应用详解
  5. python爬虫知识大全_Python爬虫入门有哪些基础知识点
  6. java学习笔记 --- 多线程(多线程的控制)
  7. 五大软件设计原则学习笔记3——Liskov 替换原则
  8. 如何用Html+css3写一个简单的网页
  9. iOS语言中的KVO机制
  10. 产品经理三大证书,考哪个好
  11. web前端开发常用的几种图片格式及其使用规范
  12. linux 查看 java opts,linux查看java opts
  13. 在excel中如何筛选重复数据_高级筛选,让重复的数据记录无处可逃
  14. linux reboot 实现流程
  15. kali下域名解析失败
  16. [转]浅析360的危害 我为什么推荐卸载360
  17. 慎用鲁大师 360等软件
  18. Windows平台chrome webdriver的下载与安装
  19. java导出excel 方式_java导出Excel通用方法
  20. 数据库(Mysql)的四种隔离级别

热门文章

  1. Git和Gitee的使用(仅分享一下自己成功的过程)
  2. 离散型特征编码方式:one-hot与哑变量
  3. 最快求素数(质数)详解
  4. 制作立体图像(上):红蓝眼镜原理
  5. 查手机服务器ip和端口网站,手机怎么看ip和端口
  6. 【OpenPCDet】Kitti数据集下训练PointPillars并评估可视化
  7. 解决小米远程管理下电脑出现ftp文件错误提示
  8. HTML 5 em strong dfn code samp kbd var cite 标签
  9. 游戏脚本用什么语言写_为什么要写分镜头脚本?
  10. 把梳子卖给和尚的故事