ORACLE中一个UPDATE的操作流程
前阵子看到一篇关于DELETE操作的具体的流程,今天无意间又看到一个UPDATE的操作流程,挺有趣的,转过来学习学习!
================================================================================
1,用户提交一个update语句
2,server process检查内存缓存
i 如果没有有效内存空间,启动DBWR,将缓存中未写入磁盘的脏数据块写入
ii 如果有有效空间,从磁盘读入数据
3,在缓存内更新数据
i 申请一个回滚段入口,将旧数据写入回滚段
ii 加锁更新数据
iii 并同时将修改记录在Redo log buffer 中
4,用户提交一个Commit
i SCN增加
ii 将Redo log buffer 写入Redo log file
iii 告诉用户 Commit完成
相关文档:
今天在戴明明同学的一个回帖里给了个关于Shrink命令的帖子,转过来学习学习~
=============================================================================================
从10g开始,oracle开始提供Shrink的命令,假如我们的表空间中支持自动段空间管理 (ASSM),就可以使用这个特性缩小段,即降低HWM。这里需要强调 ......
--1:无ORDER BY排序的写法。(效率最高)
--(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!)
SELECT *
from (Select ROWNUM AS ROWNO, T.*
from k_task T &s ......
Oracle使用标准、可变长度的内部格式来存储数字。这个内部格式精度可以高达38位。
NUMBER数据类型可以有两个限定符,如:
column NUMBER ( precision, scale)
precision表示数字中的有效位。如果没有指定precision的话,Oracle将使用38作为精度。
&nb ......
declare
STR VARCHAR2(400);
begin
-- 重建ORACLE索引
FOR TMP_IDX IN (SELECT TABLESPACE_NAME, OWNER, TABLE_NAME, INDEX_NAME
&nb ......
1.流程如下
用户可以使用Oracle安装程序从Windows NT框中删除所需要的产品,但是这可能有点费劲。
若不想保留任何N T的Oracle产品,可以按以下指令删除所有的Oracle产品:
1) 首先,用控制面板上的 Services 应用程序停止所有的Oracle服务。
所有的Oracle服务都应有一个包含“O R C L”、“Oracle&rdqu ......