Oracle数据库REDO管理

一、什么是REDO LOG

REDOLOG文件是十分重要的文件,它记录了Oracle的所有变化,是数据库实例恢复机制中最为关键的组成部分。

sys@OCM> select * from v$log;

GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME     NEXT_CHANGE# NEXT_TIME

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

1          1         49   52428800        512          1 YES INACTIVE               2701394 09-3 -13   2711001 09-3 -13

2          1         50   52428800        512          1 YES INACTIVE               2711001 09-3 -13   2732482 10-3 -13

3          1         51   52428800        512          1 NO  CURRENT                2732482 10-3 -13       2.8147E+14

sys@OCM> col member for a50 sys@OCM> select * from v$logfile;

GROUP# STATUS  TYPE    MEMBER                                             IS_

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

3         ONLINE  /u01/app/oracle/oradata/ocm/redo03.log             NO

2         ONLINE  /u01/app/oracle/oradata/ocm/redo02.log             NO

1         ONLINE  /u01/app/oracle/oradata/ocm/redo01.log             NO

二、REDO LOG的作用

1、记录ORACLE数据库的变化

2、可以避免数据提交后直接写入数据文件

3、实例恢复和介质恢复

三、REDO LOG的块

1、块的大小

(1)dbfsize redo01.log

(2)SELECT DISTINCT BLOCK_SIZE FROM V$ARCHIVED_LOG;

(3)SELECT MAX(LEBSZ) FROM X$KCCLE;

(4)日志文件头的内容

ALTER SESSION SET EVENTS 'immediate trace name redohdr level 10';

2、REDO的内容

(1)改变矢量(Change Vector)

(2)重做记录(Redo Record)

(3)一条插入的产生的日志

create table t5(id int,name varchar2(100));

select max(ktuxescnw * power(2,32)+ktuxescnb) from x$ktuxe;--[K]ernel [T]ransaction [U]ndo Transa[x]tion Entry

insert into t5 values(1,'AAAAAA');

commit;

select max(ktuxescnw * power(2,32)+ktuxescnb) from x$ktuxe;

alter system dump logfile '/u01/app/oracle/oradata/ocp/redo02.log' scn min 1694394 scn max 1693357;

时间: 2024-10-30 10:22:29

Oracle数据库REDO管理的相关文章

Oracle数据库安全性管理基本措施简介

数据安全性是指保护数据以防止非法的使用,避免造成数据有意或无意的丢失.泄露或破坏.由于数据库系统中集中存放有大量的数据,这些数据又为众多用户所共享,所以安全约束是一个极为突出的问题. Oracle数据库系统在实现数据库安全性管理方面采取的基本措施有: ◆通过验证用户名称和口令,防止非Oracle用户注册到Oracle数据库,对数据库进行非法存取操作. ◆授予用户一定的权限,例如connect,resource等,限制用户操纵数据库的权力. ◆授予用户对数据库实体(如表.表空间.过程等)的存取执行

Oracle数据库Redo故障的恢复

一.丢失inactive日志文件组的恢复: 由于inactive日志文件组表示已经完成了检查点(dirty数据已经被写入数据文件).数据库本身不会发生数据库丢失,如果在这个时候相应的redo丢失/损坏,可以通过clear重建日志文件组恢复. 通过命令: alter database clear logfile group n 如果数据库模式是archived的,则需要强制清除 alter database clear unarchived logfile group n 二.丢失active或c

【C/C++学院】(24)Oracle数据库编程--管理oracle

一.启动和停止oracle 停止和启动oracle需要切换到oracle用户才可以,其他用户都没有权限启动和停止oracle(包括root也没有权限). 1.运行sqlplus但不登录到oracle: sqlplus /nolog2.以系统管理员的权限连接到oracle服务器conn /as sysdba;3.启动oracle服务startup4.停止oracle服务shutdown immediate; oracle的listener相当于oracle的TCPserver,liestener会

Oracle数据库UNDO管理

一.Undo表空间和回滚段 1.Undo段的主要作用 (1)事务回滚 (2)事务恢复(实例恢复,利用回滚来恢复未提交的数据) (3)读一致性(构造CR) (4)闪回查询 2.查与undo相关的参数: sys@OCM> show parameter undo NAME                                 TYPE        VALUE ----------------------------------------------- ------------------

Oracle数据库10g的安全性和身份管理

Oracle数据库10g的安全性和身份管理 作者:Michael Miley Oracle数据库10g为Oracle身份管理提供了一种安全.可伸缩的基础.Oracle互联网目录(OID)是作为一个运行在Oracle数据库10g上的应用程序来实施的,使 OID能够在一个单一服务器上或者某个网格中的各个节点上支持数T字节的目录信息. Oracle数据库10g凭借诸如虚拟私有数据库等这样强大的功能来保护原始数据.重要的数据库安全性特性包括: 企业用户安全性.Oracle数据库10g的企业用户安全性特性

Oracle数据库的空间管理技巧

oracle|技巧|数据|数据库 在Oracle数据库中,DBA可以通过观测一定的表或视图来了解当前空间的使用状况,进而作出可能的调整决定. 一.表空间的自由空间 通过对表空间的自由空间的观察,可用来判断分配给某个表空间的空间是太多还是不够.请看下列的语句 SQL > select a.file_id "FileNo",a.tablespace_name "Tablespace_name", 2 a.bytes "Bytes",a.byte

Oracle数据库中表空间的基本管理操作小结_oracle

DB存储层次结构 (画了个草图,将就看一下...XD) 管理表空间         -system 存放数据字典信息,必须的,创建数据库时第一个创建         -sysaux 10g新,必须的,辅助分担system的负荷,系统管理如oem等三方工具等         -undo 存储回滚段信息,提供事务回滚功能         -temp 存放用户排序的临时数据         -index 存放用户表上的索引信息         -other 不同用户表数据 获取表空间和数据文件信息  

Oracle数据库的空间管理技巧_oracle

正在看的ORACLE教程是:Oracle数据库的空间管理技巧. 在Oracle数据库中,DBA可以通过观测一定的表或视图来了解当前空间的使用状况,进而作出可能的调整决定.  一.表空间的自由空间  通过对表空间的自由空间的观察,可用来判断分配给某个表空间的空间是太多还是不够.请看下列的语句  可以看出,在FileNo为12的表空间RBS中,只有0.19%的分配空间未被使用,这个比例太小了,而在SYSTEM及TEMP等表空间中,高达80%以上的空间未被利用,对于生产型数据库,这个表空间的设置有些偏

如何利用脚本文件来管理Oracle数据库

  如可以降低命令的输入量;如可以将调试测试通过的命令保存起来以便于下次需要的时候再次使用;如可以避免输入上的错误等等.虽然说,Oracle数据库提供的SQL*Plus程序编辑工具提供了一定程度的现实.编辑.修改SQL缓冲区命令的功能,但是,其对命令的编辑能力是非常弱小的,操作起来也不如脚本文件那么方便.故很多数据库管理专家喜欢把一些常用的命令制作成脚本文件.在以后需要用的时候,直接调用脚本文件即可.如笔者现在保存的有用脚本文件已有近百个.在需要用的时候,只要把脚本文件拿过来,有的可以直接拿来执