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完成
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
下面是CMD命令窗口下的操作,看看是怎么导入的。
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\oeg2006>imp
Import: Release 9.2.0.1.0 - Production on 星期三 11月 25 19:24:12 2009
Copyright (c) 1982, 2002, Oracle Corporation. A ......
对日常工作中用到的感觉有用的sql语句做个归纳,用于今后温故知新。
*复制表:
create table tablename as select * from table_src;
create table tablename as select * from table_src where 1 <> 1; --只复制表结构 ......
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 ......