oracle数据缓冲区作用,ORACLE SGA之数据缓冲区(Data Buffer)

ORACLE SGA之数据缓冲区(Data Buffer)

暨上通过预编译阐述道共享池最后到SGA,这里进一步说明一下SGA中另一个大块,数据缓冲区,携带提及一点数据文件和表空间,后续专门会说明这块。

首先了解下SGA种大致有那些东西,这些东西随着数据库版本的增加会有所增加,不过大致上应该一致,这也是基本所有的体系结构都会描述的东西:

在认识数据缓冲区前,先记住几个常用的视图:

X$BH、GV$BH、V$BH、V$FIXED_TABLE、V$FIXED_VIEW_DEFINITION、DICT、DICT_COLUMNS。

以及两个包:DBMS_SPACE 和 DBMS_ROWID的一些常用内容,在后面会逐渐用到时说明部分使用方式,不过还是先要创建一个表,不然什么测试工作也做不了:

在一个用户下创建一个表:

CREATE TABLE TEST_OBJECTS

AS SELECT * from USER_OBJECTS;

如果那个用户下没有什么对象,那就多复制几次数据,才能填充一些数据,数据成倍增长:

INSERT INTO TEST_OBJECTS

SELECT * from TEST_OBJECTS;

COMMIT;

此时第一个,常规使用下,一个常用的对象就是ROWID,那么看下它由哪几部分组成:

对象编号、文件编号、文件内块号、块内部行号码,我们看下一张表内部每条数据的这些信息:

SQL>SELECT dbms_rowid.rowid_relative_fno(ROWID) "文件编号",

dbms_rowid.rowid_object(ROWID) "对象编号",

dbms_rowid.rowid_block_number(ROWID) "块编号",

dbms_rowid.rowid_row_number(ROWID) "块内部行号码"

from TEST_OBJECTS t;

文件编号   对象编号     块编号 块内部行号码

---------- ---------- ---------- ------------

4      54646        588            0

4      54646        588            1

4      54646        588      &nbsp

相关文档:

INTERVAL YEAR TO MONTH数据类型

Oracle语法:

INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}]

该数据类型常用来表示一段时间差, 注意时间差只精确到年和月. precision为年或月的精确域, 有效范围是0到9, 默认值为2.

eg:

INTERVAL '123-2' YEAR(3) TO MONTH   & ......

create or replace type mytype IS TABLE OF varchar2(20);

declare type1 mytype :=mytype('1','2','3','4');

i number:=1;

var_str varchar(20):='liaomin';

begin

type1.EXTEND;

type1(type1.COUNT):=var_str;

loop

dbms_output.put_line(type1(i));

i:=i+1;

exit when i=type1.count+1; ......

在初学Oracle时,写了一个存储过程,名称是:PROC_GET_BILL,三个参数,第1,3是in参数,第2是out参数,写完之后,想测一下,结果发现网上有多种方式(其重要是下面这两种,只是写法不同而已),刚开始把两种变量定义方式搞错了,一直执行不过,经慢慢尝试,得到了下面两种写法,希望像我这样初学者少走弯路,直接搞清两种� ......

(1)查询C01课程成绩不为Null的学生的姓名和成绩。

分析:因为涉及到课程成绩和学生姓名,需要对student表和sc表进行连接。

代码:

select sname,grade from student,sc where student.sno=sc.sno and c ......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值