易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE REDO 《深入浅出ORACLE第六章》

Redo的内容
Oracle通过Redo来实现快速提交,一方面是因为Redo Log File可以连续、顺序地快速写出,另一个方面也和Redo记录的精简内容有关。
两个概念:
改变向量(Change Vector)
改变向量表示对数据库内某一个数据块所做的一次变更。改变向量中包含了变更的数据块的版本号、事务操作代码、变更从属数据块的地址(DBA)以及更新后的数据。例如:一个update事务包含一系列的改变向量,对于数据块的修改是一个向量,对于回滚段的修改又是一个向量。
重做记录(Redo Record)
重做记录通常由一组改变向量组成,是一个改变向量的集合,代表一个数据库的变更(INSERT、UPDATE、DELETE等操作),构成数据库变更的最小恢复单位。例如:一个Update的重做记录包括相应的回滚段的改变向量和相应的数据块的改变向量等。
 
假定发出一个更新语句:
Update emp set sal=4000 where empno=7788;
这个语句的执行如下所示:
检查empno=7788记录在Buffer Cache中是否存在,如果不存在则读取道Buffer Cache中;
在回滚段表空间的相应回滚段事务表上分配事务槽,这个操作需要记录Redo信息;
从回滚段读入或者在Buffer Cache中创建sal=3000的前镜像,这需要产生Redo信息并记入Redo Log Buffer;
修改sal=4000,这是update的数据变更,需要记入Redo Log Buffer;
当用户提交时,会在Redo Log Buffer记录提交信息,并在回滚段标记该事务为非激活。
对于数据块的修改,如果执行写出,那么通常需要写出8KB的Block,而对于Redo日志来说,重做信息却相当精简,Oracle只需要记录那些重构事务必须的信息(如事务号、文件号、块号、行号、字段等)即可,这个数据量大大减少。
 
产生多少Redo
在SQL*Plus中使用autotrace功能
当在SQL*Plus中启用autotrace跟踪后,在执行了特定的DML语句时,Oracle会显示该语句的统计信息,其中,Redo size一栏表示的就是该操作产生的Redo的数量:
SQL> set autotrace trace stat
SQL> insert into test
 2 select empno,ename from scott.emp;
已创建12行。
Statistics
----------------------------------------------------------
       189 recursive calls
         2 db block gets
        37 consistent gets
         4 physical


相关文档:

Oracle中统计契合某列条件的列总和

 最近在项目报表中需要一个查询语句,用来统计符合某一列条件的其它几列的个数
    比如有下面一个表结构:
   
    需要在列D后面增加一列,统计在列A不为空,并且列B、C、D不为空的个数
    经过自己试验,查找帮助,总算实现了上面的查询。
&nb ......

Oracle 多表连接子查询

1.求部门中哪些人薪水最高:
select ename,sal
from emp join
(
    select max(sal) max_sal, deptno
    from emp
    group by deptno
) t
on (emp.sal = t.max_sal and emp.deptno = t.deptno);
2.求部门平均薪水的等级:
select deptno, avg_sal, grade ......

Oracle存储过程,以游标的方式返回一个记录集


--创建一个包
create or replace package types
as
type cursorType is ref cursor;
end types;
--创建存储过程,游标类型返回参数
create or replace procedure SP_Fee_Instance(v_company in varchar, v_sdate in nva ......

oracle异构、同构数据库之间的同步资料(参考)

1)SQL Server链接服务器 Linked Server方式(SQLServer作为源服务器):
http://www.cnblogs.com/riccc/archive/2009/07/23/sql-server-linked-server.html
2)Oracle高级复制(oracle数据库之间复制):
http://www.chinaunix.net/bbsjh/8/54.html
其他技术方法:
  snapshot  
  Replication   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号