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

Oracle 块清除(block cleanout)


今天在网上看到一篇关于BLOCK CLEANOUT不错的文章,虽然里面的有个别地方比较难懂,可还是先转过来,等以后懂得多一些了自己也做做实验操作操作。
=========================================================
Oracle (block cleanout)
Cleanout有2种,一种是fast commit cleanout,另一种是delayed block cleanout.
 
Oracle的每个事务(transaction)修改不超过10%buffer cache的数据块时,oracle做的是fast commit cleanout。如果一个事务(transaction)修改的块超过10% buffer cache,那么超过的块就执行delayed block cleanout,还有一种情况,就是当事务还未commit时,修改的数据块已经写入硬盘,当发生commit时oracle并不会把block重新读入做cleanout,而是把cleanout留到下一次对此块的访问是完成。
 
下面构造环境来测试
每个数据块一条数据(数据块为8k)
 
 
SQL> create table test (id int,
name char(600))
pctfree 99 pctused 1;

表已创建。

SQL> insert into test select object_id,object_name from all_objects where rownum< 1000;
已创建999行。
SQL> show parameters db_cache_size;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------
db_cache_size big integer 32M
SQL> l
1 select rownum, dbms_rowid.rowid_relative_fno(rowid) "file#",dbms_rowid.rowid_block_number(rowid) "block#" from test
ROWNUM file# block#
---------- ---------- ----------
1 1 60762
….
999 1 62064

--Delay clean out 的表象

SQL> update test set id=id + 1;
已更新999行。
SQL> commit;
提交完成。
SQL> set autot on
SQL> select count(*) from test;
COUNT(*)
----------
999
--执行计划
----------------------------------------------------------
Plan hash value: 1950795681
-------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
-------------------------------------------------------------------
| 0


相关文档:

ORACLE审计

1、什么是审计
审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计跟踪结果存放到OS文件(默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/)或数据库(存储在system表空间中的 SYS.AUD$表中,可通过视图dba_audit_trail查看)中。默认情况下审计是没有开启的。
不管你是否打开数据库的审计功能,以下这些 ......

在ORACLE和sql server中简单备份table的方法

如果temp_t1不存在,
oracle:
create table temp_t1
as
select * from t1
sql server:
select * into temp_t1 from t1
如果temp_t1存在,
oracle:
insert into table temp_t1
select * from t1
sql server:
insert into table temp_t1
select * from t1 ......

oracle 10g pl/sql 学习

选择10g是因为对网格技术比较好奇,好像还没得到广泛应用,也就无所谓与前面版本有很大区别了。
在迅雷上下了个软件,运行sqlplusw,然后照着书,狂敲了一翻,有在网上下了个视频教程(MLDN魔乐科技_Oracle课堂),讲得挺好的,就是时间长了点,不如看书来得快。反正现在只是想熟悉一下基本语句。
看了两天书了。了解了一 ......

Oracle 更改表空间位置的具体步骤

[oracle]> sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 – Production on Tue Aug 19 03:46:29 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected.
SQL> shutdown immediate
ORA-01109: database not open
Da ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号