收藏 分享(赏)

Oracle11g 新特性及常用维护工具详解V1.0.doc

上传人:精品资料 文档编号:11044292 上传时间:2020-02-05 格式:DOC 页数:75 大小:2.56MB
下载 相关 举报
Oracle11g 新特性及常用维护工具详解V1.0.doc_第1页
第1页 / 共75页
Oracle11g 新特性及常用维护工具详解V1.0.doc_第2页
第2页 / 共75页
Oracle11g 新特性及常用维护工具详解V1.0.doc_第3页
第3页 / 共75页
Oracle11g 新特性及常用维护工具详解V1.0.doc_第4页
第4页 / 共75页
Oracle11g 新特性及常用维护工具详解V1.0.doc_第5页
第5页 / 共75页
点击查看更多>>
资源描述

1、资料编码 产品名称 Oracle11g 新特性及常用维护工具详解使用对象 客服产品工程师 产品版本编写部门 业务与软件运营支撑 资料版本 V1.0Oracle11g 新特性及常用维护工具详解拟 制: 安建国 日 期: 2009-06-25审 核: 日 期:审 核: 日 期:批 准: 日 期:华 为 技 术 有 限 公 司版权所有 侵权必究Oracle11g 新特性及常用维护工具详解 V1.0 内部公开华为机密,未经许可不得扩散修订记录日期 修订版本 描述 作者2009-06-25 V1.0 安建国Oracle11g 新特性及常用维护工具详解 V1.0 内部公开华为机密,未经许可不得扩散目 录第

2、 1 章 ORACLE11g 体系结构介绍 .11.1 ORACLE11g 的后台进程介绍 .11.2 ORACLE11g 的内存结构 2第 2 章 ORACLE11g 新特性及新功能使用 42.1 Oracle11g 自动共享内存管理(ASMM) 42.1.1 SGA 自动调整原理 .42.1.2 自动调整参数构成 .42.1.3 相关视图 .52.1.4 如何设置使用自动内存管理 52.2 Oracle11g 日志管理 62.2.1 Oracle11g 日志概述 62.2.2 Oracle11g 日志路径 62.2.3 ADR Command Interpreter (ADRCI)介绍及使

3、用: .72.3 Oracle 11g 逻辑备份和恢复 82.3.1 Data Pump 导出 .82.3.2 Data Pump 导入 .112.4 Oracle11g Flashback 特性 122.4.1 闪回版本 .122.4.2 闪回事务 .132.4.3 闪回丢弃 .132.4.4 闪回表 .152.4.5 闪回数据库 162.4.6 闪回数据存档 172.5 Oracle11g ASM.242.5.1 ASM 概述 242.5.2 ASM 实例 242.5.3 关于 ASM 文件 .262.5.4 ASM 磁盘组 272.5.5 ASM 局限性 272.5.6 使用 SQL*P

4、lus 配置 ASM.282.6 Oracle11g AWR 和 ADDM 292.6.1 Oracle11g AWR 概述 .292.6.2 使用 AWR 进行信息采集需要的空间占用 .302.6.3 Snapshots(快照) 30Oracle11g 新特性及常用维护工具详解 V1.0 内部公开华为机密,未经许可不得扩散2.6.4 基线管理 .312.6.5 基线模板管理 322.6.6 AWR 数据传递 332.6.7 AWR 报表生成 352.6.8 ADDM( Automatic Database Diagnostic Monitor)概述 .372.6.9 设置初始化参数启用 AD

5、DM382.6.10 ADDM 结果分析 382.6.11 使用 ADDM 诊断数据库性能问题 392.7 Oracle11g 强大的企业管理器功能(OEM) 412.7.1 使用 EMCA 工具配置数据库控制 412.7.2 使用 EMCA 配置 RAC 数据库控制 .422.7.3 使用 emctl 命令启动、停止 .422.7.4 OEM 使用及功能介绍 .43第 3 章 ORACLE11g 使用过程中常见问题 533.1 Oracle11g 默认安装使用保留的 11g 增强安全设置(包括审记和默认的口令概要文件 .533.1.1 oracle 数据库时提示 “ORA-28002: 7

6、天之后口令将过期 ” .533.1.2 Oracle11g 版本中密码大小写敏感 543.1.3 数据库 alert 日志中报 ORA-1654: unable to extend index SYS.I_AUD1错误 543.2 oracle 11G SYSAUX 空间严重不足,alter 日志报 ORA-1683 和 ORA-1688 错 .553.3 ORACLE 11g 如何启用客户端 web 管理 .573.4 解决 ORACLE 11G RAC VIP 资源切换时间过长 583.5 如何卸载 Oracle Clusterware 58第 4 章 常用命令说明 .624.1 附一:e

7、xpdp 624.2 附二:Impdp .644.3 附三:adrci 664.4 附四 :emctl 684.5 附五:asmcmd 68Oracle11g 新特性及常用维护工具详解 V1.0 内部公开华为机密,未经许可不得扩散关键词:Oracle11g ASMM Flashback ASM AWR ADDM OEM expdp impdp adrci emctl ADR 新特性 摘 要:本文主要针对 Oracle11g 常用新特性、新功能(主要包括 Oracle11g 的体系结构、自动共享内存管理、日志管理、逻辑备份和恢复、Flashback 特性、 ASM、AWR 和 ADDM、强大的企

8、业管理器功能(OEM))进行介绍,使具有 Oracle9i 基础的工程师能在较短的时间内掌握 Oracle11g 的新功能。缩略语清单:ASMM : Auto Shared Memory ManagementASM : Automatic Storage ManagementAWR : Automatic Workload Repository ADDM : Automatic Database Diagnostic MonitorOEM : Oracle Enterprise ManagementADR : Automatic Diagnostic Repository参考资料清单:Orac

9、le11g 维护培训课件.pptSM oracle online document(11g)Oracle11g 新特性及常用维护工具详解 V1.0 内部公开2009-07-02 华为机密,未经许可不得扩散 第 1 页, 共 70 页第 1 章 ORACLE11g 体系结构介绍1.1 ORACLE11g 的后台进程介绍ORACLE11g 的后台进程如下图:上面的三个箭头为 instance 与 RECO, PMON, SMON 三个进程之间的交互;下面主要包括与 buffer cache 交互的 DBW0 进程,该进程同时也和数据文件交互; 与 redo log buffer 交互的 LGWR

10、进程,该进程同时也与 redo log files 交互。上面的插图也包括其他进程,例如 ARC0,该进程主要完成 redo log 的归档; CKPT 是指数据 DBWx 进程在从 db buffer 写入 datafile 时,Oracle11g 新特性及常用维护工具详解 V1.0 内部公开2009-07-02 华为机密,未经许可不得扩散 第 2 页, 共 70 页CKPT 进程完成数据文件和控制文件标记更新,以保证数据文件和控制文件的一致性。另外在 11g 中增加了如下进程: ASMB 进程在使用了 ASM 的数据库实例中运行。它负责与管理存储的ASM 实例通信、向 ASM 实例提供更新

11、的统计信息,并向 ASM 实例提供一个“心跳”,让 ASM 实例知道它还活着,而且仍在运行; RBAL 重新平衡(Rebalance,RBAL)进程,RBAL 进程也在使用了 ASM 的数据库实例中运行。向 ASM 磁盘组增加或去除磁盘时,RBAL 进程负责处理重新平衡请求(即重新分布负载的请求); MMAN 内存管理器(memory manager ,MMAN)进程,在启用了自动设置 SGA 大小后,完成内存参数的自动调节。 MMNL 可管理性监视器灯( manageabilitymonitor light,MMNL ) 完成频繁的与权重相关的任务,包括历史会话获取及度量计算。 MMON 可

12、管理性监视器(manageability monitor,MMON) 完成各种后台管理任务,例如当某一个给定的参数值超过了阀值就给出内部告警。在 RAC 数据库中,主要包括如下进程: LMON(Global Enqueue Service Monitor) LMON 进程通过 cluster 监控全局排队等待和资源并且完成排队等待恢复工作。 LMD(Global Enqueue Service Daemon)LMD 进程管理每个 instance 内部引入的远端资源请求。 LMS(Global Cache Service Process)LMS 进程通过在 GRD 中记录信息来维护数据文件状态

13、和每个缓冲块的信息;该进程同时也控制远端 instance的消息流和管理全局的数据块访问和数据块影象在不同的实例 buffer cache中迁移(这个也即我们通常所说的 cache fusion 特性)。1.2 ORACLE11g 的内存结构ORACLE11g 的内存结构如下图:中间的圆角矩形框代表 SGA,主要包括,the Java pool, the buffer cache, the redo buffer, the shared pool, the Streams pool, and the large pool, Other Components(主要包括: Keep buffer

14、cache, Recycle buffer cache,nK Block Size buffer cache);在圆角矩形框之外主要包括: server processes, background processes, 和 Oracle processes, 每一个进程都有自己的 PGA。Oracle11g 新特性及常用维护工具详解 V1.0 内部公开2009-07-02 华为机密,未经许可不得扩散 第 3 页, 共 70 页Oracle11g 新特性及常用维护工具详解 V1.0 内部公开2009-07-02 华为机密,未经许可不得扩散 第 4 页, 共 70 页第 2 章 ORACLE11g

15、 新特性及新功能使用2.1 Oracle11g 自动共享内存管理(ASMM)2.1.1 SGA 自动调整原理Auto Memory Management 是 Oracle10g 提出来的一个新特性,在最新的Oracle11g 数据库中又得到了进一步的发展。Oracle 新引入了一个名为 MMAN(Memory Manager)的后台进程 ,每隔很短的一段时间,MMAN 进程就会启动,然后去询问一下 Oracle 提供的各个内存组件顾问,顾问则将这 5 个可以自动调整的内存池的、建议的大小尺寸,返回给 MMAN。于是,MMAN 进程就会根据该返回的值,来设置各个内存池,建议使用 spfile,

16、使用了 spfile,还会将这些顾问得出的建议值写入 spfile里,下次启动实例时,就可以直接把顾问得出的建议值拿来作为启动内存池的依据了。 2.1.2 自动调整参数构成通过使用自动内存管理,Oracle 数据库中的 PGA 和 SGA 内存之间可以互相转换,根据当前的工作负载来自动设定 Oracle 内存区域中的 PGA 和 SGA的大小。这种间接的内存转换依赖于操作系统的共享内存的释放机制来获得内部实例的调优。目前这种技术可以应用于 Linux, Solaris, HPUX, AIX 和Windows 等操作系统上。 在 Oracle10g 的数据库中,只有SHARED_POOL_SIZ

17、E、DB_CACHE_SIZE、LARGE_POOL_SIZE、JAVA_POOL_SIZE、STREAMS_POOL_SIZE 五个 SGA 组件可以被自动调整,其中 PGA 的最大值由初始化参数 PGA_AGGREGATE_TARGET 决定,SGA 的最大值由初始化参数 SGA_TARGET 决定。在 Oracle11g 数据库中,使用自动内存管理特性不再需要设定参数PGA_AGGREGATE_TARGET 和 SGA_TARGET,因为这两个参数都已经被修改成自动调优的,除非想指定 PGA 和 SGA 的最小值才需要设定这两个参数。在 Oracle11g 数据库中,则需要设置一个叫做

18、MEMORY_TARGET 的初始化参数,这个参数是指整个 Oracle 实例所能使用的内存大小,包括 PGA 和SGA 的整体大小,在 MEMORY_TARGET 的内存大小之内, PGA 和 SGA所用的内存可以根据当前负载情况自动相互转换。如果当初始设定的 MEMORY_TARGET 的内存不够当前数据库使用的时候,Oracle11g 还提供了另外一个初始化参数 MEMORY_MAX_TARGET,当原Oracle11g 新特性及常用维护工具详解 V1.0 内部公开2009-07-02 华为机密,未经许可不得扩散 第 5 页, 共 70 页始设定的内存不够使用的时候,可以手工来动态 调节

19、 MEMORY_TARGET的大小,但是不允许超过 MEMORY_MAX_TARGET 的值。下面这张图简单明了的描述出了 Oracle11g 数据库内存大小的设定参数。 2.1.3 相关视图此外,Oracle11g 数据库还提供了几个用于监控自动内存管理的视图: V$MEMORY_DYNAMIC_COMPONENTS:描述当前所有内存组件的状态 V$MEMORY_RESIZE_OPS:循环记录最后 800 次的 SGA 大小调整请求 X$KMGSTFR:循环记录最后 800 次的 SGA 的转换地址 _MEMORY_MANAGEMENT_TRACING=23:对于所有的内存转换调整行为均记录

20、保存为跟踪文件 说明:如果 LOCK_SGA 参数为 TRUE,则不能使用自动存储管理。2.1.4 如何设置使用自动内存管理ALTER SYSTEM SET MEMORY_MAX_TARGET = nM SCOPE = SPFILE;ALTER SYSTEM SET MEMORY_TARGET = nM;ALTER SYSTEM SET SGA_TARGET = 0;Oracle11g 新特性及常用维护工具详解 V1.0 内部公开2009-07-02 华为机密,未经许可不得扩散 第 6 页, 共 70 页ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0; 说明

21、:在设置自动内存管理时,如果 db_cache_size、shared_pool_size 等不为 0,则表示该参数的最小值。2.2 Oracle11g 日志管理2.2.1 Oracle11g 日志概述Oracle11g 日志文件有两种格式:1)与以前一样为文本格式 ;2)为 xml 格式,使用 adrci 查看。警告日志文件:警告日志文件记录了数据库运行中的一些操作命令和主要事件结果 它被用来诊断日常数据库运行错误信息. 每条都对应有时间戳信息.后台跟踪文件:后台跟踪文件记录有被后台进程检测到的错误信息. 当后台进程遇到错误时才被创建用户跟踪文件:用户跟踪文件当用户进程通过服务器进程连接到

22、Oracle 服务器时产生。 一个用户跟踪文件包含跟踪到的 SQL 执行语句或用户通讯错误信息. 当用户会话过程中遇到错误信息时产生. 它的大小定义在 MAX_DUMP_FILE_SIZE 中 ,缺省为 10M.2.2.2 Oracle11g 日志路径可以通过查询 V$DIAG_INFO 视图获取相关日志路径:NAME VALUE- Diag Enabled TRUEADR Base f:appa37403ADR Home f:appa37403diagrdbmsora11gora11gDiag Trace f:appa37403diagrdbmsora11gora11gtraceDiag A

23、lert f:appa37403diagrdbmsora11gora11galertDiag Incident f:appa37403diagrdbmsora11gora11gincidentDiag Cdump f:appa37403diagrdbmsora11gora11gcdumpHealth Monitor f:appa37403diagrdbmsora11gora11ghmOracle11g 新特性及常用维护工具详解 V1.0 内部公开2009-07-02 华为机密,未经许可不得扩散 第 7 页, 共 70 页Default Trace Filef:appa37403diagrdbm

24、sora11gora11gtraceora11g_ora_7492.trcActive Problem Count 0Active Incident Count 0日志路径比较:诊断数据 以前的位置 ADR 位置 前台进程跟踪 USER_DUMP_DEST $ADR_HOME/trace 后台进程跟踪 BACKGROUND_DUMP_DEST $ADR_HOME/trace 预警日志数据 BACKGROUND_DUMP_DEST $ADR_HOME/alert接下来,我们将导出数据:expdp icdmain/icd directory= dump_dir dumpfile=icdmain09

25、0522.dmp job_name=ICDMAIN_EXPORTExpdp 命令的具体使用请参考附一(EXPDP 说明)注意上面的参数 job_name,这是个特殊的参数,在原来的导出中没有。所有的 Data Pump 工作都通过作业来完成。Data Pump 作业 与 DBMS 作业不同 只是服务器进程,它代表主进程处理数据。主进程(称为主控制进程)通过高级队列 (AQ) 来协调这项工作;它通过在运行期内创建的一个特殊的表(称为主表)来实现这个目的。在我们的例子中,如果您在 expdp Oracle11g 新特性及常用维护工具详解 V1.0 内部公开2009-07-02 华为机密,未经许可不

26、得扩散 第 9 页, 共 70 页运行时检查用户 ANANDA 的模式 ,您将注意到一个表 ICDMAIN_EXPORT 的存在(对应参数 job_name)。当 expdp 结束时,这个表被丢弃。导出监控当 Data Pump Export (DPE) 运行时,按 Control-C;它将阻止消息在屏幕上显示,但不停止导出进程本身。相反,它将显示 DPE 提示符(如下所示)。进程现在被认为处于“交互式”模式: Export 这种方法允许在这个 DPE 作业上输入几条命令。要查看概要,在提示符下使用 STATUS 命令: Export status作业: ICDPUB_JOB操作: EXPOR

27、T模式: SCHEMA状态: EXECUTING处理的字节: 0当前并行度: 1作业错误计数: 0转储文件: E:ORA11GBAKICDPUB.DMP写入的字节: 4,096Worker 1 状态:进程名: DW01状态: EXECUTING记住,这只是状态显示。导出在后台工作。要继续在屏幕上查看消息,从 Export 提示符下使用命令 CONTINUE_CLIENT。 并行操作 可以通过 PARALLEL 参数为导出使用一个以上的线程来显著地加速作业。每个线程创建一个单独的转储文件,因此参数 dumpfile 应当拥有和并行度一样多的项目。您可以指定通配符作为文件名,而不是显式地输入各个文

28、件名,例如: expdp icdpub/abc123 directory=DPDATA1 dumpfile=expicdpub_%U.dmp parallel=4 job_name=icdpub_Export注意 dumpfile 参数拥有一个通配符 %U,它指示文件将按需要创建,格式将为 expicdpub_nn.dmp,其中 nn 从 01 开始,然后按需要向上增加。 Oracle11g 新特性及常用维护工具详解 V1.0 内部公开2009-07-02 华为机密,未经许可不得扩散 第 10 页, 共 70 页在并行模式下,状态屏幕将显示四个工作进程。(在默认模式下,只有一个进程是可见的。)

29、所有的工作进程同步取出数据,并在状态屏幕上显示它们的进度。 分离访问数据文件和转储目录文件系统的输入/输出通道是很重要的。否则,与维护 Data Pump 作业相关的开销可能超过并行线程的效益,并因此而降低性能。并行方式只有在表的数量多于并行值并且表很大时才是有效的。 数据库监控 可以从数据库视图获得关于运行的 Data Pump 作业的更多信息。监控作业的主视图是 DBA_DATAPUMP_JOBS,显示在作业上有多少个工作进程(列 DEGREE)在工作。另一个重要的视图是 DBA_DATAPUMP_SESSIONS,当它与上述视图和 V$SESSION 结合时将给出主前台进程的会话 SID

30、。select sid, serial#from v$session s, dba_datapump_sessions dwhere s.saddr = d.saddr;这条指令显示前台进程的会话。更多有用的信息可以从警报日志中获得。当进程启动时,在警报日志中显示如下: DM00 started with pid=29, OS id=26928, job ICDPUB.ICDPUB_JOBSat May 23 10:36:58 2009DM00 started with pid=37, OS id=25968, job ICDPUB.ICDPUB_JOBSat May 23 10:37:01

31、2009DW01 started with pid=26, OS id=34624, wid=1, job ICDPUB.ICDPUB_JOBSat May 23 10:40:28 2009它显示为数据泵操作启动的会话的 PID。您可以用以下查询找到实际的 SID:select sid, program from v$session where paddr in (select addr from v$process where pid in (29,37,26);PROGRAM 列将对应警报日志文件中的名称显示进程 DM (为主进程)或 DW (为工作进程)。如果一个工作进程使用了并行查询,

32、比如说 SID 29,您可以在视图 V$PX_SESSION 中看到它,并把它找出来。它将为您显示从 SID 29 代表的工作进程中运行的所有并行查询会话: select sid from v$px_session where qcsid = 29;从视图 V$SESSION_LONGOPS 中可以获得其它的有用信息来预测完成作业将花费的时间。 Oracle11g 新特性及常用维护工具详解 V1.0 内部公开2009-07-02 华为机密,未经许可不得扩散 第 11 页, 共 70 页select sid, serial#, sofar, totalworkfrom v$session_lon

33、gopswhere opname = ICDPUB_JOBand sofar != totalwork;列 totalwork 显示总工作量,该列的 sofar 数量被加和到当前的时刻 因而您可以用它来估计还要花多长时间。 2.3.2 Data Pump 导入 数据导入性能是 Data Pump 的重要特性,要导入先前导出的数据,我们将使用 impdp icdpub/icdpub directory=dump_dir dumpfile=icdpub.dmp job_name=icdpub_import导入进程的默认行为是创建表和所有相关的对象,然后在表已存在时产生一个错误。如果您想把数据添加到

34、一个现有的表中,您可以在上述命令行中使用 TABLE_EXISTS_ACTION=APPEND。 和使用 Data Pump 导出一样,在进程中按 Control-C 将进入 Date Pump Import (DPI) 的交互模式;同样,提示符是 Import。 处理特定对象 有时需要要从一个用户导出特定的过程,以在一个不同的数据库或用户中重新创建这些过程的情况,与传统的导出实用工具不同,Data Pump 允许只导出特定类型的对象。例如,以下命令让您只导出过程,而不导出其它任何东西 不导出表、视图、甚至函数: expdp icdpub/icdpub directory=dump_dir d

35、umpfile=icdpub.dmp include=PROCEDURE要只导出一些特定的对象 比如说,函数 FUNC1 和过程 PROC1 您可以使用expdp icdpub/icdpub directory=DPDATA1 dumpfile=expprocs.dmp include=PROCEDURE:“=PROC1“,FUNCTION:“=FUNC1“这个转储文件充当了源对象的一个备份。您甚至可以用它来创建 DDL 脚本,以供之后使用。一个称为 SQLFILE 的特殊参数允许创建 DDL 脚本文件。 impdp icdpub/icdpub directory=dump_dir dumpf

36、ile=icdpub.dmp sqlfile=procs.sql该指令在 DPDATA1 指定的目录中创建一个名称为 procs.sql 的文件,并将对象的脚本包含在导出转储文件中。这种方法帮助您快速地在另一个模式中创建源对象。 Oracle11g 新特性及常用维护工具详解 V1.0 内部公开2009-07-02 华为机密,未经许可不得扩散 第 12 页, 共 70 页利用参数 INCLUDE 允许您从转储文件中定义要包含或排除的对象。您可以使用子句 INCLUDE=TABLE:“LIKE TAB%“ 来仅导出那些名称以 TAB 开头的表。类似地,可以使用结构 INCLUDE=TABLE:“N

37、OT LIKE TAB%“ 来排除所有名称以 TAB 开头的表。作为另一种选择,也可以使用 EXCLUDE 参数来排除特定的对象。 通过外部表,Data Pump 还可以用来传输表空间;它非常强大,能够即时地重定义并行方式,将更多的表添加到一个现有的进程中等等。 2.4 Oracle11g Flashback 特性Oracle 数据库 10g 提供了五个新的闪回功能:闪回版本,闪回事务,闪回丢弃,闪回表和闪回数据库。Oracle 数据库 11gR1 提供了闪回数据存档,它允许一个 Oracle 数据库管理员维护一个记录,对指定时间范围内对所有表的的改变情况进行记录。2.4.1 闪回版本Orac

38、le 的闪回版本查询功能(Flashback Version Query)提供了一个审计行改变的查询功能,它能找到所有已经提交了行的记录,这样可以清楚地看到何时执行了何操作。语法:SELECT , FROM VERSION BETWEEN scn | TIMESTAMP | MAXVALUE AND | MINVALUE| AS OF SCN | TIMESTAMP 举例:SQLdelete from test where id=666;SQLcommit;SQLdelete from test where id=777;SQLcommit;对 test 表的操作进行审计查询:SQLselec

39、t id,name,versions_operation,versions_xid,versions_starttime from test versions between timestamp minvalue and maxvalue order by id;Oracle11g 新特性及常用维护工具详解 V1.0 内部公开2009-07-02 华为机密,未经许可不得扩散 第 13 页, 共 70 页2.4.2 闪回事务Oracle11g 闪回事务查询就是对过去某段时间内所完成的事务的查询和撤销,通过闪回事物分析,可以识别在一个特定的时间段内所发生的所有变化,也可以对数据库表进行事物级恢复。

40、前面提到可以审计一个事务到底做了什么,现在可以获得事务的历史操作进行撤销。举例:根据上一例查询某段时间内的操作发生情况:1、 SQLselect id,name,versions_operation,versions_xid,versions_starttime from test versions between timestamp minvalue and maxvalue order by id;2、根据 XID 对 flashback_transaction_query 进行查询SQLselect table_name,table_owner,undo_sql from flashba

41、ck_transaction_query where xid=3、运行上面找出的 sql 语句,即可将以前删除的数据恢复回来。 2.4.3 闪回丢弃闪回丢弃是指将被丢弃的数据库对象及其相依对象的拷贝保存在回收站中,以便在必要时能够及时恢复这些对象。在回收站被清空以前,被丢弃的对象并没有从数据库中删除,这就使得数据库能够恢复被意外或误操作而删除的表。Oracle11g 新特性及常用维护工具详解 V1.0 内部公开2009-07-02 华为机密,未经许可不得扩散 第 14 页, 共 70 页回收站:是所有丢弃表及其相依对象的逻辑存储容器。Oracle 回收站将用户所做的 DROP 语句操作记录在一

42、个系统表里,即将被删除的对象写到一个数据字典中,当不再需要被删除对象时,可以使用PURGE 命令对回收站空间进行清除。 举例说明:SQLdrop table test;查询 user_recyclebin 回收站SQLselect object_name,original_name from user_recyclebin;利用回收站中的记录,使用 flashback 恢复表 testSQLflashback table test to before drop; 回收站空间清除:可以使用 PURGE 命令清除回收站对象从而释放空间,有以下几种方式:1、使用 PURGE TABLE origin

43、al_table_name;这里的 original_table_name 表示未 drop 以前的名称2、使用 PURGE TABLE recyclebin_object_name;这里的 recyclebin_object_name 表示回收站中的对象名称3、使用 PURGE TABLESPACE tablespace_name从指定的表空间中清除所有的丢弃对象4、使用 PURGE TABLESPACE tablespace_name USER user_name从回收站中清除属于某个特定用户的所有丢弃对象。5、DROP USER user_name cascade 直接删除指定用户及其所

44、属的全部对象,也就是说,DROP USER 命令会绕过回收站进行直接删除。6、使用 PURGE RECYCLEBIN 命令清除用户自己的回收站7、PURGE DBA_RECYCLEBIN 从所有用户的回收站清除所有对象Oracle11g 新特性及常用维护工具详解 V1.0 内部公开2009-07-02 华为机密,未经许可不得扩散 第 15 页, 共 70 页 局限性:闪回丢弃对于如下表不生效:存放在 SYSTEM 表空间上的表;使用精细审计或虚拟私有数据库建在字典管理表空间上的表已经被手工清除或自动清除的表(即表被 DROP 后使用了 PURGE 操作)如下依赖对象不受保护:位图索引物化视图日

45、志外键一致性约束在 DROP 表前索引已经被删除2.4.4 闪回表闪回表是一种能够恢复表或设置表到过去某个特定的时间点而又不需要进行不完全恢复的闪回技术。使用闪回表时,所有的相关对象都能得到恢复。Oracle11g flashback table 特性:1、在线操作;2、恢复到指定时间点或 SCN 的任何数据;3、自动恢复相关属性、如索引、触发器等;4、满足分布式的一致性;5、满足数据一致性,所有相关对象将自动一致;6、闪回表技术是基于回滚数据(undodata) 来实现的,因此,要想闪回表到过去的某个时间上,必须确保与回滚表空间有关的参数设置合理。 闪回表语法:FLASHBACK TABLE

46、 SCHEMA. TOBEFORE DROP RENAME TO TABLE |SCN | TIMESTAMP expr RNABLE | DISABLE TRIGGERS举例:SQLdelete from test where id=7766;SQLcommit;进行恢复SQLalter table test enable row movement;SQLflashback table test to timestamp to_timestamp(2007-10-10 15:33:30,yyyyy-mm-dd hh24:mi:ss) 局限性:FLASHBACK TABLE 命令作为单独一个事

47、务执行,获取 DML 锁,统计信息不会闪回;当前索引及依赖对象被维护;Oracle11g 新特性及常用维护工具详解 V1.0 内部公开2009-07-02 华为机密,未经许可不得扩散 第 16 页, 共 70 页闪回表有如下特性:1) 不能对系统表做闪回操作;2) 在执行 DDL 操作后不能做闪回操作;3) 闪回操作命令写入 alert 日志文件;4) 闪回操作会产生 undo 和 redo 数据;2.4.5 闪回数据库闪回数据库能够使数据库讯速回滚到以前的某个时间点或某个 SCN 上。 Oracle11g 闪回数据库特点:1、使用闪回数据库不能解决媒介故障;2、如果控制文件已被重建,不能使用

48、闪回数据库;3、不能完成删除表空间的恢复。 配置闪回数据库:1、配置闪回恢复区;2、数据库要求运行在归档模式下;3、需要在 Mount 状态下使用 alter database flashback on 启动。 闪回数据库使用语法:FLASHBACK STANDBY DATABASE TO SCN | TIMESTAMP | TO BEFORE SCN | TIMESTAMP 举例:使用 FLASHBACK DATABASE 闪回数据库到 SCN 55444mount 模式下SQLflashback database to scn 55444;用 resetlogs 选项打开数据库SQLalt

49、er database open resetlogs 闪回数据库局限性:如下情形不能进行闪回数据库操作:1)控制文件被恢复或重新创建2)表空间被 drop 掉3)数据文件被压缩Oracle11g 新特性及常用维护工具详解 V1.0 内部公开2009-07-02 华为机密,未经许可不得扩散 第 17 页, 共 70 页2.4.6 闪回数据存档2.4.6.1 概览Oracle 引入闪回技术使得一些逻辑误操作不再需要利用归档日志和数据库备份进行时间点恢复,在前面介绍的诸多闪回技术中,除了 Flashback Database 依赖于闪回日志外,其它闪回技术都是依赖于 Undo 撤销数据,都与数据库初始化参数 undo_retention 密切

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报