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
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
1、什么是审计
审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计跟踪结果存放到OS文件(默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/)或数据库(存储在system表空间中的 SYS.AUD$表中,可通过视图dba_audit_trail查看)中。默认情况下审计是没有开启的。
不管你是否打开数据库的审计功能,以下这些 ......
oracle认证方式分为操作系统认证和口令文件认证2种方式,操作系统认证有时候也叫本地认证。
--操作系统认证:即oracle认为操作系统用户是可靠的,即既然能登陆到操作系统那么oracle数据库你也能登陆
--口令文件认证:oracle认证认为操作系统用户是不可信任的,如果要访问数据库,必须进行再次认证。
具体实现如下:
......
server A: 10.85.10.44 SID=orcl
target server B: 10.85.10.43
oracle version:10.2.0.1
OS platform : windows XP
Data Guard默认是maximize performance, 可以用以下语句来进行模式间的切换。
ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE {PROTECTION | AV ......
oracle10g新特性:闪回恢复区(Flash recovery area)
Oracle9i开始提供闪回查询,以便能在需要的时候查到过去某个时刻的一致性数据,这是通过Undo实现的。这个功能有很大的限制,就是相关事务的undo不能被覆盖,否则就无力回天了。oracle10g大大的增强了闪回查询的功能,并且提供了将整个数据库回退到过去某个时刻的能力, ......