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  
相关文档:
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; ......
今天遇到一个问题,PERL 引起Oracle数据库100% CPU,系统是enterprise linux 4 update 7 64 bit
查看进程原来是grid的agent。只有先停掉grid
./emctl stop agent
./opmn stopall
pkill -9 perl
然后再看看有没有什么bug。 这是个bug, 打了patch 5908032后好像正常了。
oracle 549 &nbs ......
今天遇到这样的问题,修改主机名后oracle agent 服务突然无法启动,上网找了一会做如下操作。可以正常使用了
1、将%oracle_home\ora92\network\admin下的listener.ora和tnsnames.ora内的所有原主机名改为现有主机名或者固定IP地址(以便客户端机器能够访问Server),当然如果系统重启后自动改正,可忽略此步骤。
2、将%o ......
Oracle 主要配置文件介绍(转帖)
Oracle 主要配置文件介绍:
profile文件,oratab 文件,数据库实例初始化文件 initSID.ora,监听配置文件, sqlnet.ora
文件,tnsnames.ora 文件
1.2 Oracle 主要配置文件介绍
1.2.1 /etc/profile 文件
  ......