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

学习《Oracle 9i10g编程艺术》的笔记 (三)

 1.多版本:读一致查询  非阻塞查询
Oracle 采用了一种
多版本、读一致(read-consistent)的并发模型。再次说明,我们将在第7 章更详细地介绍有关的技术。
不过,实质上讲,Oracle 利用这种机制提供了以下特性:
读一致查询:对于一个时间点(point in time),查询会产生一致的结果。
非阻塞查询:查询不会被写入器阻塞,但在其他数据库中可能不是这样。
Oracle 数据库中有两个非常重要的概念。多版本(multi-versioning)一词实质上指Oracle 能够从
数据库同时物化多个版本的数据。如果你理解了多版本如何工作,就会知道能从数据库得到什么。在进一
步深入讨论Oracle 如何实现多版本之前,下面用我认为最简单的一个方法来演示Oracle 中的多版本:
( p_resource_name, p_start_time, p_end_time );
end schedule_resources;
ops$tkyte@ORA10G> create table t
2 as
3 select *
4 from all_users;
Table created.
ops$tkyte@ORA10G> variable x refcursor
ops$tkyte@ORA10G> begin
2 open :x for select * from t;
3 end;
4 /
PL/SQL procedure successfully completed.
ops$tkyte@ORA10G> delete from t;
28 rows deleted.
ops$tkyte@ORA10G> commit;
Commit complete.
ops$tkyte@ORA10G> print x
USERNAME USER_ID CREATED
------------------------------ -------------- ---------------
BIG_TABLE 411 14-NOV-04
OPS$TKYTE 410 14-NOV-04
DIY 69 26-SEP-04
...
OUTLN 11 21-JAN-04
SYSTEM 5 21-JAN-04
在前面的例子中,我创建了一个测试表T,并把ALL_USERS 表的一些数据加载到这个表中。然后在这
个表上打开一个游标。在此没有从该游标获取数据,只是打开游标而已。
注意要记住,Oracle 并不“回答”这个查询。打开游标时,Oracle 不复制任何数据,你可以想想看,
即使一个表有十亿条记录,是不是也能很快就打开游标?没错,游标会立即打开,它会边行进边
回答查询。换句话说,只是在你获取数据时它才从表中读数据。
在同一个会话中(或者也可以在另一个会话中;这同样能很好地工作),再从该表删除所有数据。甚
至用COMMIT 提交了删除所做的工作。记录行都没有了,但是真的没有了吗?实际上,还是可以通过游标获
取到数据。OPEN 命令返回的结果集在打开的那一刻(时间点)就已经确定。打开时,我们根本没有碰过表
中的任何数据块,但答案已经是铁板钉钉的了


相关文档:

学习《Oracle 9i10g编程艺术》的笔记 (一)

1.位图索引
最近我参与了一个项目。开发人员正饱受性能问题之苦,看上去他们的系统中许多事务在串行
进行。他们的做法不是大家并发地工作,而是每个人都要排一个长长的队,苦苦等着前面的人完成后才能
继续。应用架构师向我展示了系统的体系结构,这是经典的三层方法。他们想让Web 浏览器与一个运行JSP
(JavaServer Pa ......

学习《Oracle 9i10g编程艺术》的笔记 (二)

 一.锁
数据库使用锁(lock) 来保证任何给定时刻最多只有一个事务在修改给定的一段数据。实质上讲,
正是锁机制才使并发控制成为可能。例如,如果没有某种锁定模型来阻止对同一行的并发更新,数据库就
不可能提供多用户访问。不过,如果滥用或者使用不当,锁反倒会阻碍并发性。如果你或数据库本身不必
要地对数据 ......

ORACLE启动

 
ORACLE主要由两部分组成:Instance和Database。Instance是指一组后台进程/线程和一块共享内存区域,而Database是指存储在磁盘上的一组物理文件。
ORACLE数据库的启动主要分3个步骤:
1、启动到nomount状态;
2、启动到mount状态;
3、启动到open状态。
下面分析一下启动的各个步骤:
一、启动到nomount状态
......

争先体味Oracle 11g的新特点

 跟着这几天Oracle OpenWorld大会的举行,Oracle11g的新特征越来越多的被展现出来。
  以前,我曾经引见过Oracle11g将可能在10月份的这个大会上推出,当初至于Alpha版的信息已经可以见到,现时出现的已经是Beta版,离Oracle11g的正式版已经不远。
  Laurent Schneider 在他的Blog中谈到,对于Oracle11g的名字还 ......

Oracle SQL*Loader数据装载

SQL*Loader 用于将大量数据装入数据库。
⑴、定宽数据
创建数据文件control.txt:
aaa,bbb
ccc,ddd
eee,fff
创建控制文件control.ctl:
load data
infile 'c:\loader.txt'
append
into table tester.mm(
m1 position(1:3) char,
m2 position(5:7) char)
批量加载数据:
sqlldr tester/test control=c:\loade ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号