文档库 最新最全的文档下载
当前位置:文档库 › [Oracle 10g] 闪回恢复区 (Flash Recovery Area)

[Oracle 10g] 闪回恢复区 (Flash Recovery Area)

[Oracle 10g] 闪回恢复区 (Flash Recovery Area)
[Oracle 10g] 闪回恢复区 (Flash Recovery Area)

[O RACLE 10G]闪回恢复区(F LASH R ECOVERY A REA)

何为闪回恢复区

Oracle 10g 有一项新功能称为:自动的基于磁盘的备份与恢复( Automatic Disk-Based Backup and Recovery )。实现该功能的基础为本文要讲述的闪回恢复区( Flash Recovery Area )。闪回恢复区是Oracle 10g 中的新事物。简单的说,闪回恢复区是一块用以存储恢复相关的文件的存储空间。允许用户集中存储所有恢复相关的文件。

闪回恢复区可以放在如下几种存储形式上:

?目录

?一个文件系统

?自动存储管理(ASM)磁盘组

在RAC 环境中,这个该位置必须为集群文件系统(cluster file system) 或是ASM 磁盘组亦或是通过NFS 控制的文件共享目录,还要注意的是,所有实例的位置和操作系统的磁盘限额(disk quota) 必须一致。

如下几种文件可以放到闪回恢复区中:

?控制文件

?归档的日志文件(注:Oracle 手册上所说的在设定flash recovery area之后,

LOG_ARCHIVE_DEST_10的值将自动设定为flash recovery area的位置,这个变化在笔者测试过程中观察不到)

?闪回日志

?控制文件和SPFILE 自动备份

?RMAN 备份集

?数据文件拷贝

为何要用闪回恢复区?

如前所述,闪回恢复区提供了一个集中化的存储区域,很大程度上减小了管理开销。这是其最主要的优点。与RMAN 结合使用可以进行快速恢复。

近年来随着存储技术的发展,单个磁盘的存储能力已经加强。这使自动的基于磁盘的备份与恢复的技术实现成为可能。而闪回恢复区恰是基于磁盘的备份与恢复的基础。把闪回恢复区和OMF 与ASM 结合运用看起来是比较完美的方案。当然,不可否认的是,自动备份恢复技术还远远不够成熟。

设定闪回恢复区

如果您使用DBCA创建的数据库,在安装时可以设定闪回恢复区的位置以及大小(点击这里查看安装截图)--这也是Oracle 10g OUI 的新功能之一。如果在开始的时候没有启用闪回恢复区,可以通过如下方式设定。

调整如下两个动态初始化参数(无需重新启动实例):

SQL> ALTER SYSTEM SET db_recovery_file_dest_size=2g SCOPE=BOTH;

System altered.

SQL>

SQL> ALTER SYSTEM SET

db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'

2 SCOPE=BOTH;

System altered.

SQL>

之后查看所作的修改是否生效:

SQL> SHOW parameter db_recovery_file_dest

NAME TYPE VALUE

-------------------------------- -----------

-----------------------------------

db_recovery_file_dest string

/u01/app/oracle/flash_recovery_area

db_recovery_file_dest_size big integer 2G

SQL>

如上所示,我们设定了闪回恢复区,位置在/u01/app/oracle/flash_recovery_area,上限为2G。如果要撤销闪回恢复区,把初始化参数DB_RECOVERY_FILE_DEST 的值清空即可。

注意: DB_RECOVERY_FILE_DEST_SIZE 只有在DB_RECOVERY_FILE_DEST 清空之后才可以清空。

初始化参数db_recovery_file_dest_size 的设定有一点点需要注意的地方:

?文件的第0块和操作系统数据块头的空间大小不包含在内

?该参数并不代表实际占用的空间大小。如果空间被压缩、镜像、RAID 的话,该参数的值意义是不一样的

管理并监控闪回恢复区

我们先看看闪回恢复区内的文架结构层次

SQL> host tree /u01/app/oracle/flash_recovery_area

/u01/app/oracle/flash_recovery_area

|-- DEMO

| |-- archivelog

| | |-- 2004_12_07

| | | |-- o1_mf_1_10_0vbwz2fm_.arc

| | | |-- o1_mf_1_11_0vc1yj14_.arc

| | | |-- o1_mf_1_12_0vc6vvws_.arc

| | | |-- o1_mf_1_13_0vcbv6cg_.arc

| | | |-- o1_mf_1_14_0vchlxb3_.arc

| | | |-- o1_mf_1_15_0vcnh2bz_.arc

| | | |-- o1_mf_1_5_0vbk8goo_.arc

| | | |-- o1_mf_1_6_0vbkq6dk_.arc

| | | |-- o1_mf_1_7_0vbktl5f_.arc

| | | |-- o1_mf_1_8_0vbo97xp_.arc

| | | `-- o1_mf_1_9_0vbrrlo6_.arc

| | `-- 2004_12_08

| | |-- o1_mf_1_16_0vcnyqvf_.arc

| | |-- o1_mf_1_17_0vcp58bj_.arc

| | |-- o1_mf_1_18_0vcv4qxb_.arc

| | |-- o1_mf_1_19_0vczcsl0_.arc

| | |-- o1_mf_1_20_0vd34svw_.arc

| | |-- o1_mf_1_21_0vd7tg4h_.arc

| | |-- o1_mf_1_22_0vddq7lc_.arc

| | |-- o1_mf_1_23_0vdk0nbh_.arc

| | |-- o1_mf_1_24_0vdojjky_.arc

| | |-- o1_mf_1_25_0vdtg1rq_.arc

| | |-- o1_mf_1_26_0vdz23h2_.arc

| | |-- o1_mf_1_27_0vf3nlnw_.arc

| | |-- o1_mf_1_28_0vf6hon5_.arc

| | |-- o1_mf_1_29_0vf867lt_.arc

| | |-- o1_mf_1_30_0vf86pkg_.arc

| | `-- o1_mf_1_31_0vfjphqm_.arc

| `-- backupset

| |-- 2004_12_07

| | |-- o1_mf_ncsn1_TAG20041207T150715_0vboq7kv_.bkp

| | `-- o1_mf_nnnd1_TAG20041207T150715_0vboo3t2_.bkp

| `-- 2004_12_08

| |-- o1_mf_ncsnf_TAG20041208T161219_0vffxv2n_.bkp

| |-- o1_mf_ncsnf_TAG20041208T165456_0vfjcvgl_.bkp

| `-- o1_mf_nnndf_TAG20041208T161219_0vffv40q_.bkp

`-- tracking.dbf

7 directories, 33 files

闪回恢复区中添加或删除文件等变化都将记录在数据库的alert 日志中,Oracle 10g 也针对该新特性提供了一个新的视图,DBA_OUTSTANDING_ALERTS,通过该视图可以得到相关的信息。

DBA_OUTSTANDING_ALERTS 视图的存在体现了Oracle 愈加人性化的一面。我们先来看一下该视图的基本结构,后面会用到。

SQL> DESC dba_outstanding_alerts

Name Null? Type

----------------------------------------- --------

----------------------------

SEQUENCE_ID NUMBER

REASON_ID NOT NULL NUMBER

OWNER VARCHAR2(30)

OBJECT_NAME VARCHAR2(513)

SUBOBJECT_NAME VARCHAR2(30)

OBJECT_TYPE VARCHAR2(64)

REASON VARCHAR2(4000)

TIME_SUGGESTED TIMESTAMP(6) WITH TIME ZONE CREATION_TIME TIMESTAMP(6) WITH TIME ZONE SUGGESTED_ACTION VARCHAR2(4000)

ADVISOR_NAME VARCHAR2(30)

METRIC_VALUE NUMBER

MESSAGE_TYPE VARCHAR2(12)

MESSAGE_GROUP VARCHAR2(64)

MESSAGE_LEVEL NUMBER

HOSTING_CLIENT_ID VARCHAR2(64)

MODULE_ID VARCHAR2(64)

PROCESS_ID VARCHAR2(128)

HOST_ID VARCHAR2(256)

HOST_NW_ADDR VARCHAR2(256)

INSTANCE_NAME VARCHAR2(16)

INSTANCE_NUMBER NUMBER

USER_ID VARCHAR2(30)

EXECUTION_CONTEXT_ID VARCHAR2(60)

ERROR_INSTANCE_ID VARCHAR2(142)

SQL>

10g 的新视图V$RECOVERY_FILE_DEST 包含闪回恢复区的相关信息:

SQL> desc V$RECOVERY_FILE_DEST

Name Null? Type

----------------------------------------- --------

----------------------------

NAME VARCHAR2(513)

SPACE_LIMIT NUMBER

SPACE_USED NUMBER

SPACE_RECLAIMABLE NUMBER

NUMBER_OF_FILES NUMBER

SQL> SELECT NAME, space_limit, space_used, space_reclaimable space_rec,

2 number_of_files file_num

3 FROM v$recovery_file_dest;

NAME SPACE_LIMIT SPACE_USED SPACE_REC FILE_NUM

----------------------------------- ----------- ---------- ----------

----------

/u01/app/oracle/flash_recovery_area 2147483648 1106849280 602410496 30

SQL>

在一些10g 的动态视图里( V$CONTROLFILE, V$LOGFILE, V$ARCHIVED_LOG, V$DATAFILE_COPY 等)的新的列IS_RECOVERY_DEST_FILE ,指明相关的文件是否在恢复区内。

SQL> SELECT recid, blocks, is_recovery_dest_file

2 FROM v$archived_log

3 WHERE recid < 5;

RECID BLOCKS IS_RECOVERY_DEST_FILE

---------- ---------- ----------------------------------------

1 2007

2 YES

2 19566 YES

3 19566 YES

4 19566 YES

SQL>

闪回恢复区中文件的保持策略

?持久文件从不会被删除。

?通过RMAN 配置策略过期的文件会被删除。

?已经拷贝到磁带上的临时性文件会被删除。

?在Data Guard 环境中,当已归档的重作日志文件可以从闪回恢复区中删除的时候,可以应用归档的重作日志删除策略进行自动删除(在恢复管理器中CONFIGURE ARCHIVELOG DELETION

POLICY TO ......)

在闪回恢复区中的空间使用超过85% 的时候,数据库将会向alert 文件中写入告警信息。而当超过97% 的时候将会写入严重告警信息。当闪回恢复区空间不够的时候,Oracle将报告如下类似的错误:

ORA-19809: limit exceeded for recovery files

ORA-19804: cannot reclaim 52428800 bytes disk space from 1258291200 limit

这个时候查询dba_outstanding_alerts:

SQL> select reason,object_type,suggested_action from dba_outstanding_alerts;

REASON OBJECT_TYPE SUGGESTED_ACTION

------------------------------ --------------------

----------------------------------------

db_recovery_file_dest_size of RECOVERY AREA Add disk space and increase db_recovery_

1258291200 bytes is 88.20% use file_dest_size, backup files to tertiary

d and has 148509184 remaining device, delet

e files from recovery area

bytes available. using RMAN, consider changing RMAN rete

ntion policy or consider changing RMAN a

rchivelog deletion policy.

1 rows selected.

SQL>

会给出相关的原因和建议的操作。

注意事项

自动化的东西总是给人不确定性。如果您在测试环境中启用了闪回恢复区,那么一定要注意监控空间的使用。在生产数据库上使用(如果有这样的人的话),必须要把闪回恢复区放到单独的磁盘上。

结束语

本文介绍了闪回恢复区-- Oracle 10g 的又一个华而不实的新功能-- 的基本功能。在后续的文档中我会结合RMAN的新特性展示闪回恢复区的其他方面。

Oracle发展历程

Oracle数据库发展历程 一、oracle数据库的发展历程 本节中,我们主要介绍Oracle的发展历程。 1977年,Larry Ellison、Bob Miner和Ed Oates等人组建了Relational软件公司(Relational Software Inc.,RSI)。他们决定使用C语言和SQL界面构建一个关系数据库管理系统(Relational Database Management System,RDBMS),并很快发布了第一个版本(仅是原型系统)。 1979年,RSI首次向客户发布了产品,即第2版。该版本的RDBMS可以在装有RSX-11操作系统的PDP-11机器上运行,后来又移植到了DEC VAX系统。 1983年,发布的第3个版本中加入了SQL语言,而且性能也有所提升,其他功能也得到增强。与前几个版本不同的是,这个版本是完全用C语言编写的。同年,RSI更名为Oracle Corporation,也就是今天的Oracle公司。 1984年,Oracle的第4版发布。该版本既支持VAX系统,也支持IBM VM操作系统。这也是第一个加入了读一致性(Read-consistency)的版本。 1985年,Oracle的第5版发布。该版本可称作是Oracle发展史上的里程碑,因为它通过SQL*Net引入了客户端/服务器的计算机模式,同时它也是第一个打破640KB内存限制的MS-DOS 产品。 1988年,Oracle的第6版发布。该版本除了改进性能、增强序列生成与延迟写入(Deferred Writes)功能以外,还引入了底层锁。除此之外,该版本还加入了PL/SQL和热备份等功能。这时Oracle已经可以在许多平台和操作系统上运行。 1991年,Oracle RDBMS的6.1版在DEC VAX平台中引入了Parallel Server选项,很快该选项也可用于许多其他平台。 1992年,Oracle 7发布。Oracle 7在对内存、CPU和I/O的利用方面作了许多体系结构上的变动,这是一个功能完整的关系数据库管理系统,在易用性方面也作了许多改进,引入了SQL*DBA工具和database角色。

ORACLE数据备份与数据恢复方案

O R A C L E数据备份与数据恢 复方案 Prepared on 24 November 2020

摘要 结合金华电信IT系统目前正在实施的备份与恢复策略,重点介绍电信业务计算机管理系统(简称97系统)和营销支撑系统的ORALCE数据库备份和恢复方案。 Oracle数据库有三种标准的备份方法,它们分别是导出/导入 (EXP/IMP)、热备份和冷备份。要实现简单导出数据(Export)和导入数据(Import),增量导出/导入的按设定日期自动备份,可考虑,将该部分功能开发成可执行程序,然后结合操作系统整合的任务计划,实现特定时间符合备份规划的备份应用程序的运行,实现数据库的本级备份,结合ftp简单开发,实现多服务器的数据更新同步,实现数据备份的异地自动备份。 关键字:数据库远程异地集中备份 目录

一、前言 目前,数据已成为信息系统的基础核心和重要资源,同时也是各单位的宝贵财富,数据的丢失将导致直接经济损失和用户数据的丢失,严重影响对社会提供正常的服务。另一方面,随着信息技术的迅猛发展和广泛应用,业务数据还将会随业务的开展而快速增加。但由于系统故障,数据库有时可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如做了备份,恢复数据就显得很容易。由此可见,做好数据库的备份至关重要。因此,建立一个满足当前和将来的数据备份需求的备份系统是必不可少的。传统的数据备份方式主要采用主机内置或外置的磁带机对数据进行冷备份,这种方式在数据量不大、操作系统种类单一、服务器数量有限的情况下,不失为一种既经济又简明的备份手段。但随着计算机规模的扩大,数据量几何级的增长以及分布式网络环境的兴起,将越来越多的业务分布在不同的机器、不同的操作平台上,这种单机的人工冷备份方式越来越不适应当今分布式网络环境。 因此迫切需要建立一个集中的、自动在线的企业级备份系统。备份的内容应当包括基于业务的业务数据,又包括IT系统中重要的日志文件、参数文件、配置文件、控制文件等。本文以ORACLE数据库为例,结合金华电信的几个相关业务系统目前正在实施的备份方案,介绍ORACLE数据库的备份与恢复。 二、金华电信ORACLE数据库的备份与恢复方案 由于金华电信IT系统以前只采用逻辑备份方式进行数据库备份,速度较慢并且数据存储管理都很分散,甚至出现备份数据不完整的现象。为了提高备份数据的效率,提供可靠的数据备份,完善备份系统,保证备份数据的完整性,降低数据备份对网络和服务器的影响,对每个IT系统的备份数据进行集中管理,我们对备份工作进行了改进,将逻辑备份与物理备份相结合,在远程建立了一个异地集中、自动在线的备份系统即网络存储管理系统。(这里用到的物理备份指热备份)其具备的主要功能如下:(1)集中式管理 :网络存储备份管理系统对整个网络的数据进行管理。利用集中式管理工具的帮助,系统管理员可对全网的备份策略进行统一管理,备份服务器可以监控所有机器的备份作业,也可以修改备份策略,并可即时浏览所有目录。所有数据可以备份到同备份服

oracle数据库恢复方案

目录 数据库恢复方案 (1) 文档控制 (1) 一、相关概念 (3) 1,恢复的两个阶段 (3) 2,Oracle实例启动的三个阶段 (3) 3,RMAN信息的保存位置 (3) 二、完全恢复 (3) (一) 控制文件 (3) 1) 丢失部分控制文件: (3) 2) 丢失全部控制文件 (3) (二) 重做日志文件 (4) 1) 非当前使用的重做日志文件: (4)

2) 当前使用的重做日志文件(未归档): (4) (三) 数据文件 (4) 1) 无归档模式下的完全恢复 (4) 2) 归档模式下的完全恢复 (5) 三、不完全恢复 (6) (一) 基于SCN的不完全恢复 (6) 1) 准备工作 (6) 2) 使用RMAN进行恢复 (7) (二) 基于时间点的不完全恢复 (8) 1) 准备工作 (8) 2) 使用RMAN进行恢复 (8) 四、高级篇 (9)

(一) 使用RMAN进行异机同目录 (9) 1) 准备工作 (9) 2) 通过RMAN进行异机恢复 (10) (二)使用RMAN进行异机异目录 (11) 1) 准备工作 (11) 2) 通过RMAN进行异机恢复 (11) (三)使用RMAN进行在线数据块恢复 (14) 一、相关概念 1,恢复的两个阶段 数据库无论采取哪种方式进行恢复都分为Restore和Recover两个步骤。Restore(还原):把控制文件、重做日志文件和数据文件还原到正确位置。Recover(恢复):恢复还原后的数据文件,使数据库达到一致状态。

2,Oracle实例启动的三个阶段 Oracle实例启动经过三个阶段: l NOMOUNT(未装载):读入参数文件,验证参数文件中的目录是否存在。 l MOUNT(装载):读入参数文件指定位置的控制文件。 l OPEN(打开):验证控制文件中指定的重做日志文件和数据文件是否正确、数据文件是否一致,然后读入数据文件中的数据。 所以按照如下顺序使数据库正确打开。 1) SHUTDOWN(关闭)状态下,确保参数文件指定的文件夹存在,启动到NOMMUNT 状态。 2) NOMOUNT状态下,保证控制文件的位置和命名与参数文件中相同,控制文件中指定的重做日志文件和数据文件存在,然后启动到MOUNT状态。 3) MOUNT状态下,执行RMAN还原和恢复操作。

数据库要求明细

(1) 基本要求: 1) 支持事务的多版本读一致性与回滚段机制。 2) DML操作只能有行级锁,任何情况下不允许有锁定过多资源的锁升级,以降低死锁的可能性,若出现死锁,能自动解锁。 3) 多个用户操作同一条记录时,任何情况下读、写互不影响,并且不能有读取其他用户未提交数据的脏读。 4) 支持对非结构化数据采用统一数据类型进行管理,可以应用统一的管理策略如智能压缩、透明加密等功能。 5) 必须支持数据库闪回技术,能保障数据库准确恢复到以前的某个时间点,支持库级、表级、行级的回滚技术。 6) 对数据库伸缩性的支持具有从单服务器到多服务器的扩充能力,必须支持基于共享存储的真正应用集群系统。 7) 支持数据分区优化的大数据量处理功能;要求支持范围、列表、哈希、组合、引用、间隔等多种表分区方式;支持分区向导功能。 8) 应具有强的容错能力、错误恢复能力、错误记录及预警能力,能在不影响数据库运行的条件下快速恢复已提交的修改。可以在秒级别将整个数据库、表、表中的记录或是事务恢复到指定时间点。 9) 支持存储关系型数据和对象型数据 10) 支持网格计算和资源的虚拟化 11) 支持主流的网络协议,(如:TCP/IP、IPX/SPX、NETbios 及混合协议) 12) 支持同构、异构数据源的访问,包括文件数据源;能和异构数据库互相复制 13) 支持存储过程、触发器。触发器支持语句执行前、执行后和可替换型三种方式。支持行级触发器。触发器的触发操作和事件包括DML、DDL、数据库启停、错误信息、登录/注销 14) 支持在一台机器的浏览器界面中统一管理不同平台的多个数据库 ★15) 能够将原有异种数据库向本数据库无损失移植 16) 内嵌支持存储、管理、查询和提取半结构化的数据,如XML文档,支持XML 数据类型,直接把XML存储于数据库中 17) 支持不依赖于第三方软件和存储的异地双机和多机热备 18) 支持大规模数据加载和更新,数据库的数据文件能跨平台互相交换 19) 支持用户对数据库内存管理(如,将用户指定的数据库对象常驻内存),支持SSD作为数据库的二级缓存 20)需购买厂家1CPU授权 (2) 成熟度要求: 1) 支持当前最流行的数据库技术标准; 2) 完全支持中文国家标准中文字符的存储处理,支持UNICODE通用编码格式; 3) 支持ANSI/ISO SQL:2003标准 4) 数据库厂商能够提供集群文件系统,可用于数据库文件和操作系统文件统一管理的文件系统 (3) 高效性要求: 1) 支持大到TB级数据量的存储管理; ★2) 提供并发控制机制, 必须支持数据库多版本读写一致性及自动的死锁处理能力。支持行级锁,而且行级锁不升级

Oracle Export/Import数据库备份与恢复的三种方法

Oracle数据库备份与恢复的三种方法 Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。 一、导出/导入(Export/Import) 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。 1、简单导出数据(Export)和导入数据(Import) Oracle支持三种方式类型的输出: (1)、表方式(T方式),将指定表的数据导出。 (2)、用户方式(U方式),将指定用户的所有对象及数据导出。 (3)、全库方式(Full方式),瘵数据库中的所有对象导出。 数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。 2、增量导出/导入 增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。 增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,比如: exp system/manager inctype=complete file=040731.dmp (2)、“增量型”增量导出 备份上一次备份后改变的数据,比如: exp system/manager inctype=incremental file=040731.dmp

Oracle数据库10g备份与恢复(技术白皮书)

Oracle数据库10g备份和恢复:RMAN和闪回技术 Oracle 白皮书 2004 年 6 月

发展和革命 (3) 恢复管理器 (3) 快速恢复区 (4) 自动存储管理 (6) 更改跟踪文件 (6) 增量更新备份 (7) Oracle 建议的策略 (7) 备份管理 (9) 跨平台的传输 (10) 革命还未结束 (11) RMAN 比对用户管理的恢复 (11) 网格集群 (13) 人为错误的挑战 (13) 人为错误纠正—闪回技术 (13) 人为错误的传统恢复 (14) 恢复时间目标 (14) 何时使用闪回与传统恢复的对比 (14) 闪回数据库 (15) 闪回表 (17) 闪回删除 (18) 什么是回收站? (18) 闪回查询 (18) 闪回版本查询 (20) 闪回事务查询 (20) 实例 (21) 结论 (22)

发展和革命 数据库备份可能是防止 Oracle 数据库发生介质故障的唯一方式。使用提供给 DBA 的大量工具和方法来恢复关键数据的重要性是毋庸置疑的。保护 Oracle 数据的成本和复杂性包括,从简单的每周备份到磁带,到记录更加繁复的文件快照或备用数据库。Oracle Data Guard1.的体系结构有助于企业恢复对 Oracle 数据库造成不利影响的灾难、人为错误和损坏。每个工具和选项都有其自己的持续可用性优势,并且可以快速备份和/或恢复 Oracle 数据库。 为了保护和恢复数据所采纳的方法或工具应该具有: 可靠性。所有需要恢复的文件都进行了备份,且通过恢复操作能够方便地恢复文件。 灵活性。Oracle 数据库可以在数据库、表空间、数据文件和块级上备份或恢复。 可管理性组织和管理备份文件以便用于恢复操作。 可用性。备份操作不应该干扰数据库事务处理过程同时恢复操作应该快速、有效。 Oracle 恢复管理器通过新的版本和 Oracle 数据库 10g 包含的革命性技 术进步继续得以完善,并提供您一直期待的简单、可靠和自动的恢复工具。此白皮书列出了 Oracle 数据库 10g 用于备份和恢复文件管理的新功能,增强的增量备份和异构平台上相同表空间数据的共享。让革命开始吧! 恢复管理器 恢复管理器 (RMAN) 是管理备份和更重要的数据库恢复的 Oracle 公用程序。提供数据库高级的性能和可用性的同时消除了操作的复杂性。从 Oracle8 开始,恢复管理器为 DBA 提供了集成的备份和恢复解决方案。 1有关 Data Guard 的详细信息,请访问 https://www.wendangku.net/doc/958254781.html,/deploy/availability/htdocs/odg_overview.html。

Oracle数据库恢复

Oracle 数据库恢复 一、停止ORACLE数据库 用oracle用户登录,用sqlplus的sysdba用户登录,执行shutdown immediate oracle@JSBC-SIHUA-DB01:~> sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Mon Feb 6 14:02:45 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> conn /as sysdba Connected. SQL> shutdown immediate SQL>quit 停止监听 oracle@JSBC-SIHUA-DB01:~> lsnrctl stop oracle@JSBC-SIHUA-DB01:~> ps -ef |grep ora root 4655 4524 0 Nov11 ? 00:00:48 hald-addon-storage: polling /dev/sr0 (every 16 sec) root 42514 42162 0 11:40 pts/0 00:00:00 su - oracle oracle 42515 42514 0 11:40 pts/0 00:00:00 -bash root 42853 42815 0 12:02 pts/2 00:00:00 su - oracle oracle 42854 42853 0 12:02 pts/2 00:00:00 -bash root 42924 42889 0 12:03 pts/1 00:00:00 su - oracle oracle 42925 42924 0 12:03 pts/1 00:00:00 -bash oracle 42975 42854 0 12:09 pts/2 00:00:00 ps -ef oracle 42976 42854 0 12:09 pts/2 00:00:00 grep ora 二、数据库备份 #root用户,创建sihua.bak目录 JSBC-SIHUA-DB01:/oradata # mkdir sihua.bak JSBC-SIHUA-DB01:/oradata # chown oracle:dba /oradata/sihua.bak JSBC-SIHUA-DB01:/oradata # ll total 24 drwx------ 2 root root 16384 Sep 16 11:53 lost+found drwxr-x--- 4 oracle dba 4096 Nov 8 14:16 sihua drwxr-xr-x 2 oracle dba 4096 Nov 28 12:15 sihua.bak #oracle用户 JSBC-SIHUA-DB01:/oradata # su - oracle oracle@JSBC-SIHUA-DB01:~> cd /oradata oracle@JSBC-SIHUA-DB01:/oradata> cp -r sihua sihua.bak oracle@JSBC-SIHUA-DB01:/oradata> cd sihua.bak/ oracle@JSBC-SIHUA-DB01:/oradata/sihua.bak> cd sihua/

Oracle的闪回特性

Oracle的闪回特性 在Oracle 9i之前的版本中,如果用户因为误操作delete或update了数据并最终提交,为了恢复这些用户错误,我们必须通过逻辑备份或者物理备份进行恢复来纠正这些错误,这种方法是极其复杂和低效的。 为了提高数据库的可用性,简化用户的数据恢复,从Oracle 9i开始,Oracle将闪回flashback引入到数据库中,闪回功能类似播放机中的回退功能,通过回退,我们可以找会正确的数据,纠正犯下的错误。 从Oracle 9i到Oracle 10g以及Oracle 11g,Oracle在不停地增加和强化闪回功能,在这一章中,我们将全面介绍Oracle的闪回特性。 1.Oracle 9i的闪回查询特性 从Oracle 9i开始Oracle 引入了闪回查询(Flashback Query)的特性,通过闪回查询我们可以按照时间戳或SCN来向前查询,获取修改之前的数据镜像,再通过insert等操作就可以恢复数据。 闪回查询依赖于回滚段中存储的数据前镜像,在Oracle 9i以前的版本中,通常只要事务提交后,前镜像数据就可以被覆盖,空间可以重用;在Oracle 9i中Oracle引入了自动回滚段管理(Automatic Undo Management,简称AUM)的新特性,在AUM模式下,我们可以通过调整undo_retention参数来设置数据库UNDO信息的保留时间,只要前镜像没有被覆盖,那么闪回就是可能的,但是需要注意的是,UNDO信息的保留还同UNDO表空间中的空间有关,如果空间紧张,为了满足事务的需要,非会动的前镜像信息是可以被覆盖的。 可以使用select 语句的as of子句来进行闪回查询,具体语法如下: As of scn/timestamp expr 通过关键词as of 可以对表、视图、物化视图进行Flashback Query,可以指定SCN或者timestamp,其中timestamp是9i中引入的新的数据类型,精确到毫秒的时间单位。 2.闪回查询的使用 以下通过一个示例来说明如何使用Oracle 的这个新特性。 首先记录一下当前的时间戳,然后删除测试表中的两条数据并提交: SQL> create table test as select * from dba_users; 表已创建。 SQL> select count(*) from dba_users; COUNT(*) ---------- 8 SQL> select systimestamp from dual; SYSTIMESTAMP ---------------------------------------------------------------------------

实验8 Oracle数据库备份与恢复

实验8 Oracle数据库备份与恢复 1 实验目的 (1)掌握Oracle数据库各种物理备份方法。 (2)掌握Oracle数据库各种物理恢复方法。 (3)掌握利用RMAN工具进行数据库的备份与恢复。 (4)掌握数据的导入与导出操作。 2 实验要求 (1)对BOOKSALES数据库进行一次冷备份。 (2)对BOOKSALES数据库进行一次热备份。 (3)利用RMAN工具对BOOKSALES数据库的数据文件、表空间、控制文件、初始化参数文件、 归档日志文件进行备份。 (4)利用热备份恢复数据库。 (5)利用RMAN备份恢复数据库。 (6)利用备份进行数据库的不完全恢复。 3 实验步骤 (1)关闭BOOKSALES数据库,进行一次完全冷备份。 select file_name from dba_data_files; select member from v$logfile; select value from v$parameter where name='control_files';

(2)启动数据库后,在数据库中创建一个名为cold表,并插入数据,以改变数据库的状态。 CREATE TABLE COLD( ID NUMBER PRIMARY KEY, NAME VARCHAR2(25) );

(3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态并查看恢复后是否存在cold表。 (4)将BOOKSALES数据库设置为归档模式。 shutdown immediate 正常关闭数据 startup mount;将数据库启动到mount状态 3)、关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ora-38774错误。 alter database flashback off alter database archivelog;发出设置归档模式的命令 alter database open;打开数据库 再次正常关闭数据库,并备份所有的数据文件和控制文件 archive log list;在将数据库设置为归档模式后,可以执行此命令进行确认 Database log mode 为Archive Mode说明当前的数据库为归档模式 Automatic archival为Enable说明启动了自动归档。

Oracle闪回特性

在Oracle的操作工程中,会不可避免地出现操作失误或者用户失误,例如不小心删除了一个表等,这些失误和错误可能会造成重要数据的丢失,最终导致Oracle数据库停止。 闪回的基本概念 在Oracle的操作工程中,会不可避免地出现操作失误或者用户失误,例如不小心删除了一个表等,这些失误和错误可能会造成重要数据的丢失,最终导致Oracle数据库停止。在传统意义上,当发生数据丢失、数据错误问题时,解决的主要办法是数据的导入导出、备份恢复技术,这些方法都需要在发生错误前,有一个正确的备份才能进行恢复。为了减少这方面的损失,Oracle提供了闪回技术。有了闪回技术,就可以实现数据的快速恢复,而且不需要数据备份。闪回的类型: 闪回表(flashback table) :恢复到过去的一个是时间点 闪回删除(flashback drop) :回收站中将已删除的对象恢复到删除之前的状态 闪回版本查询(flashback version query) :查看用户提交了的增删改的操作以及相应操作时间的记录 闪回事务查询(flashback transaction query) :查询某个事务甚至撤销一个已经 提交的事务 闪回的益处 恢复中,闪回技术是革命性的进步 传统的恢复技术缓慢: ?它是整个数据库或者一个文件恢复,不只恢复损坏的数据 ?在数据库日志中每个修改都必须被检查 闪回速度快: ?通过行和事务把改变编入索引 ?仅仅改变了的数据会被恢复 闪回命令很容易: ?没有复杂棘手的多步程序 闪回表 闪回表,实际上是将表中的数据快速恢复到过去的一个是时间点或者系统改变号SCN 上。实现表的闪回,需要使用到与撤销表空间相关的undo信息,通过show parameter undo 命令可以了解这些信息。 用户对表数据的修改操作,都记录在撤销表空间中,这为表的闪回提供了数据恢复的基础。例如,某个修改操作在提交后被记录在撤销表空间中,保留时间为900秒,用户可以 在这900秒的时间内对表进行闪回操作,从而将表中的数据恢复到修改之前的状态。 闪回表的步骤: 1.执行表的闪回要设置用户权限:grant flashback any table to scott; 2. 获取要恢复的点(SCN号): select sysdate 时间, timestamp_to_scn(sysdate) SCN from dual; 3. 将表的行移动功能打开:alter table flshback_table enable row movement; 4. 执行闪回表:flashback table flashback_table to scn 945018(获取到的scn号,也可指定在某个时间段恢复); 闪回删除 闪回删除,实际上从系统的回收站中将已删除的对象,恢复到删除之前的状态。系统的回收站只对普通用户有作用。回收站是所有被删除对象及其相依对象的逻辑存储容器,例如当一个表被删除(drop)时,该表及其相依对象并不会马上被数据库彻底删除,而是被保

Oracle数据库文件及恢复方法

1参数文件 对于参数文件,启动根据如下顺序查找参数文件,先查找spfile.ora,然后查找init.ora,若两者均查找不到,则无法创建和启动instance。确认当前使用的是spfile/pfile可通过sql语句查询(show parameter spfile) 一般情况下pfile保存在$ORACLE_HOME/dbs下,其中内容制定SPFILE位置,SPFILE保存在裸设备上,主被机共享。参数文件中保存数据库启动的初始参数,如控制文件位置等。 1.1参数文件恢复: 如果损坏或丢失,从其他机器拷贝一个到$ORACLE_HOME/dbs %sqlplus / as sysdba SQL>startup pfile=’/dbs/’; 2控制文件 数据库启动到nomount状态后,可以查询v$parameter视图,获得控制文件信息,这部分信息来自启动的参数文件,oracle从参数文件spfile/pfile中获得控制文件的位置信息,找到控制文件,启动到MOUNT状态下,可以查询v$controlfile视图获得关于控制文件的信息,可以通过sql语句(select * from v$controlfile;),数据库读取控制文件controlfile 中的内容,并按照控制文件中指定的参数找到相应的数据文件,并启动数据库的归档或非归档状态。 控制文件中包含的内容 数据库的名字、ID、创建的时间戳

表空间的名字 联机日志文件、数据文件的位置、个数、名字 联机日志的Sequence号码 检查点的信息 撤销段的开始或结束 归档信息 备份信息 2.1控制文件恢复: 损坏或丢失部分控制文件: SQL>shutdown immediate; SQL>startup nomount; 修改数据库控制文件,将坏的那个排除在外: SQL>alter system set control_files='+DG_ORA/ora11g/','+DG_ORA/ora11g/' scop e=spfile"; SQL>alter database open; 损坏或丢失全部控制文件: (获取恢复脚本SQL>alter database backup controlfile to trace;) STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "ORA11G" NORESETLOGS FORCE LOGGING ARCHIVELOG MAXLOGFILES 200 MAXLOGMEMBERS 3 MAXDATAFILES 1024 MAXINSTANCES 8 MAXLOGHISTORY 2920 LOGFILE GROUP 1 '+DG_ORA/ora11g/ora_redo01_1' SIZE 1000M BLOCKSIZE 512, GROUP 2 '+DG_ORA/ora11g/ora_redo02_2' SIZE 1000M BLOCKSIZE 512, GROUP 3 '+DG_ORA/ora11g/ora_redo03_3' SIZE 1000M BLOCKSIZE 512, GROUP 4 '+DG_ORA/ora11g/ora_redo04_4' SIZE 1000M BLOCKSIZE 512, GROUP 5 '+DG_ORA/ora11g/ora_redo05_5' SIZE 1000M BLOCKSIZE 512,

Oracle 11g数据库管理及其开发技术(doc 8页)

Oracle 11g数据库管理及其开发技术(doc 8页)

课程摘要:本课程主要介绍Oracle数据库的基本概念、安装方法及数据库的启动与关闭、与数据库设计、开发和管理密切相关的SQL语言,以及Oracle对SQL语言应用进行增强的PLSQL语言和SQL*Plus管理工具,并结合大量的实例帮助学员学习Oracle数据库系统的相关知识;数据库的备份与恢复技术,包括基础知识、RMAN工具、闪回、OEN 及逻辑备份工具(数据泵技术)、数据库优化、SQL优化和系统调整方面的知识;

内容大纲: 数据库的基础知识 数据库的产生、数据库的特征 数据库的组成、数据库的管理系统、关系数据库 初识Oracle Oracle 数据库系统的特点、发展历史 Oracle 版本号的含义、Oracle 11g 的新特性 Oracle 11g 数据库安装/启动/关闭 Oracle 11g 在Windows 下的安装概述 在Windows 环境下安装Oracle 11g 在Linux 环境下安装前的准备、在Linux 环境下安装Oracle 11g Oracle 11g 数据库实例的创建 在Windows 环境下创建数据库 在Linux 环境下用DBCA 创建数据库 Oracle 11g 实例启动与关闭 Linux 环境下Oracle 实例的关闭、Linux 环境下Oracle 监听进程的启动和关闭 SQL 语言概述 使用SQL*Plus 用SQL*Plus 与数据库交互 SQL*Plus 的主要功能、启动SQL*Plus 连接数据库 1. 管理表 建表时的考量、列数据类型、创建表的语法、创建表的实例、查看表的信息 、修改表结构、重命名表、监控表的存储空间、修改表空间的存储设置、删除表、外部表的管理

Oracle数据库恢复案例

Oracle数据库恢复案例 当我们在使用Oracle数据库时,突然断电,造成很多问题,致使旧数据丢失,影响了数据的正确性,破坏了数据库。此时,用户急切需求恢复数据。本文以此为例,讲述数据库数据恢复。 一、案例描述: 数据库因突然断电,数据库启库报system01.dbf需要更多的恢复来保持一致性,数据库无法打开;数据库没有备份,归档日志也不连续。客户提供了数据库的在线文件,急需恢复zxfg用户下的数据。 二、恢复流程: 1 数据库的故障检测 2 尝试挂起数据库并修复数据库 3解析数据文件 4验证数据 5导出数据与交付数据(导入) 三、恢复数据 1数据库的故障检测 利用DBV 命令检测数据文件的完整性 结果如下:

分析结果发现SYSAUX01.DBF文件数据块(Data)检测失败40页,索引页(Index)检测失败29页,说明SYSAUX01.DBF存在坏块。 结论:通过dbv对数据文件的完整性检验,SYSAUX01.DBF存在坏块,其他检测的文件完整。 2 用客户的数据库本地挂起数据库,尝试修复数据库。 2.1创建新的OS :windows server 2008 x86,安装oracle 11.2.0.1.0 for 32-bit 版本数据库,挂起数据库 起库报ORA-01110错误,System01.dbf需要更多一致性恢复。使用recover database 命令,利用在线日志做介质恢复。

数据库的控制文件已被修改,需要使用控制文件恢复数据库 恢复数据库需要2016_01_19的11号归档日志。由于归档日志丢失,使用cancel 参数进行不完全恢复。 再次执行alter database open 命令,数据库打开。

oracle闪回技术

亚存整理 闪回作用 自动的基于磁盘的备份与恢复,能把表恢复到过去的某个时间点 查看闪回区 Show parameter db_recovery_file_dest 查看闪回区详细信息 Select flashback_on from v$database 查看闪回区是否开启 2,修改闪回功能 SQL> startup mount 数据库启动到mount下 SQL> alter database flashback on (off); 开启关闭闪回区 注:如遇到38706事件错误,可能是因为归档不正确。先启用归档 SQL>alter database archivelog SQL> alter system set db_flashback_retention_target=2880 修改闪回时间,默认是1440 闪回时间是指数据库能回退的时间 闪回使用实例:(注:sys用户下不可用闪回) 1,闪回drop的表 在非sys用户下创建表和表上索引,插入相关数据 create table abc (f number(9)); create index idx_test on abc(f); insert into abc values(1); insert into abc values(2); insert into abc values(3); 删除表 drop table abc; 删除表之后,表并没有被真正删除,而是重命名之后放在同一用户下的回收站内,同时表上的索引等也会被如此处理。回收站满后以先进先出的原则管理 查看表语句select * from tab; 查看索引语句select index_name, index_type, table_name from ind; 查看回收站语句show recyclebin 清空回收站语句PURGE RECYCLEBIN; 注:没有放入回收站的表不能被闪回 闪回之后,即可再次看到表 flashback table abc to before drop; 但是表闪回后相应的索引等需要重新编译 2,闪回DML语句 Flashback table abc to timestamp to_timestamp(‘2014-02-14 16:00:00’,’yyyy-mm-dd hh24:mi:ss’) 闪回可能会遇到08189错误,执行下列语句

oracle数据库闪回目录空间不足导致drop user cascade报错

闪回目录空间不足导致drop user cascade报错 imp数据的过程中出错,所有drop user gspx cascade,但一直无法执行完毕,无奈的关闭终端,重新连接数据库后, 再次执行drop user gspx cascade ,这次报错如下: 第1 行出现错误: ORA-01940: cannot drop a user that is currently connected 从v$session中查看,没有与gspx用户相关的session conn gspx/gspx 又报错如下: 普通连接报错: ORA-00257: archiver error. Connect internal only,until freed 系统不能进行归档: SQL> select * from v$log; GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS ---------- ---------- ---------- ---------- ---------- --- ---------------- FIRST_CHANGE# FIRST_TIME ------------- --------------- 1 1 10 52428800 1 NO INACTIVE 15711794 31-MAY-07 2 1 11 52428800 1 NO CURRENT 15730194 31-MAY-07 3 1 9 52428800 1 NO INACTIVE ARC字段的值都是NO,表明数据库无法自动归档。 检查归档空间使用情况: SQL> select * from v$flash_recovery_area_usage; FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES ------------ ------------------ ------------------------- --------------- CONTROLFILE 0 0 0 ONLINELOG 0 0 0 ARCHIVELOG 99.99 0 527 BACKUPPIECE 0 0 0 IMAGECOPY 0 0 0 FLASHBACKLOG 0 查看闪回目录的路径以及空间配额 SQL> show parameter db_recovery_file_dest NAME TYPE V ALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest string /opt/oracle/flash_recovery_are a db_recovery_file_dest_size big integer 2G

Oracle数据库文件及恢复方法

1 参数文件 对于参数文件,启动根据如下顺序查找参数文件,先查找spfile.ora,然后查找init.ora,若两者均查找不到,则无法创建和启动instance。确认当前使用的是spfile/pfile可通过sql语句查询(show parameter spfile) 一般情况下pfile保存在$ORACLE_HOME/dbs下,其中内容制定SPFILE位置,SPFILE保存在裸设备上,主被机共享。参数文件中保存数据库启动的初始参数,如控制文件位置等。 1.1 参数文件恢复: 如果损坏或丢失,从其他机器拷贝一个initora01.ora到$ORACLE_HOME/dbs %sqlplus / as sysdba SQL>startup pfile=’?/dbs/initora01.ora’; 2 控制文件 数据库启动到nomount状态后,可以查询v$parameter视图,获得控制文件信息,这部分信息来自启动的参数文件,oracle从参数文件spfile/pfile中获得控制文件的位置信息,找到控制文件,启动到MOUNT状态下,可以查询v$controlfile视图获得关于控制文件的信息,可以通过sql语句(select * from v$controlfile;),数据库读取控制文件controlfile中的内容,并按照控制文件中指定的参数找到相应的数据文件,并启动数据库的归档或非归档状态。控制文件中包含的内容 数据库的名字、ID、创建的时间戳 表空间的名字

精选文档联机日志文件、数据文件的位置、个数、名字 联机日志的Sequence号码 检查点的信息 撤销段的开始或结束 归档信息 备份信息 2.1 控制文件恢复: 损坏或丢失部分控制文件: SQL>shutdown immediate; SQL>startup nomount; 修改数据库控制文件,将坏的那个排除在外: SQL>alter system set control_files='+DG_ORA/ora11g/control02.ctl','+DG_ORA/o ra11g/control03.ctl' scope=spfile"; SQL>alter database open; 损坏或丢失全部控制文件: (获取恢复脚本SQL>alter database backup controlfile to trace;) STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "ORA11G" NORESETLOGS FORCE LOGGING ARCHIVELOG MAXLOGFILES 200 MAXLOGMEMBERS 3 MAXDATAFILES 1024 MAXINSTANCES 8 MAXLOGHISTORY 2920 LOGFILE GROUP 1 '+DG_ORA/ora11g/ora_redo01_1' SIZE 1000M BLOCKSIZE 512, GROUP 2 '+DG_ORA/ora11g/ora_redo02_2' SIZE 1000M BLOCKSIZE 512, GROUP 3 '+DG_ORA/ora11g/ora_redo03_3' SIZE 1000M BLOCKSIZE 512, GROUP 4 '+DG_ORA/ora11g/ora_redo04_4' SIZE 1000M BLOCKSIZE 512, GROUP 5 '+DG_ORA/ora11g/ora_redo05_5' SIZE 1000M BLOCKSIZE 512,

ORACLE 11g 技术白皮书

ORACLE 11g 技术白皮书 1概要 过去30年来。信息技术成熟到全球经济几乎全都仰赖电子撷取、分析与分享信息的地步。 各企业持续扩大自己的信息基础架构,想要满足以更短时间存取信息而且不断成长的业务需求。然而,企图勉强结合青黄不接的技术与流程,导致各企业信息技术(IT)基础架构普遍的严重复杂性与效率不彰。由于日常作业完全仰赖信息技术基础架构,这种复杂性威胁到了企业快速应变的能力。 Oracle Database 11g提供绝佳创新,使各企业能够更快速应变。高成本的负担与瞬息万变的业务需求息息相关,各企业可以仰赖Oracle Database 11g帮助创新,以妥善掌控、具备成本效益的方式执行IT变革。 Oracle Database 11g解决阻碍各IT组织进步的核心问题:自信满怀地执行变革的能力。运用Oracle Database 11g,各企业可以统合所有信息,而简化自己的信息基层架构。Oracle Database 11g也不断地为更高价值的规划工作而释出宝贵的技术资源,使管理工作自动化进而建置崭新的业务流程。 Oracle Database 11g彻底改变了具有前瞻视野的公司对于数据库平台的需求。由于Oracle Database 11g与企业级网格运算,各企业现在可以毫无羁绊地追求创新。 2增益网格实力 Oracle倡导企业网格(enterprise grids),挑战建置和维护企业IT基础架构的高昂成本。企业网格运用Oracle Database 11g以及商用服务器和存储,让各企业能够简化自己的基础架构,进而顺应变革,而非管理昂贵的垂直扩展服务器孤岛;Oracle企业网格以最低成本独家提供效能、可用性与基础架构灵活性的绝妙组合。 Oracle企业网格包括Oracle Fusion Middleware可以扩展应用软件、Oracle Real Application Clusters (Oracle R AC)以提供扩展性和高可用性,还有Automatic Storage Management (ASM)以简化管理基本存储基础架构的工作,并使其自动化。Enterprise Manager Grid Control简化企业网格和一体化业务流程的管理,以确保快速、安全而且可靠的服务品质。 网格运算

相关文档