Oracle的内存结构和数据字典

上一篇 / 下一篇  2012-10-09 10:17:28 / 个人分类:数据库

7K]}%f JR4ni3Sv~ p0  当用户发出一条SQL语句时,首先由服务器进程对用户的SQL语句进行语法分析并执行,然后将数据从数据文件读入到系统数据的缓冲区,修改后的数据由服务器进程回写到数据文件中。按照系统对于内存的使用方法的不同,Oracle数据库的内存可以分为系统全局区(SGA)和程序全局区(PGA)。

N7F0B5XD"@T"} K0

C(z@1W5r6|0  Oracle在内存中存储下列信息:

]` ? Sv;Ud051Testing软件测试网A5eSj4Wy MV

  ● 执行的程序代码

q#kf8}|)UB0{051Testing软件测试网@)`,Y4pS%C4G X

  ● 连接的会话信息

e"ReO2v9]051Testing软件测试网C6HK TX ?&U~

  ● 程序执行期间所需数据和共享信息51Testing软件测试网-H^3[`po!ADo

b ]t$W5d Css0  ● 存储在外存储上的缓冲信息

!g9S Kjk5XS/JBl051Testing软件测试网Y KkI*[?] `

  Oracle具有下列基本的内存结构:51Testing软件测试网.{7II ?w6`U

1m ?8a"EzF8t0  ● SGA

*Hy*j%Kd0

6X;\n:j6n:_{A o0  ● PGA

!w%i%b$mJSc`051Testing软件测试网!Z8od0HpO1{

  ● 排序区

X|g/]3u6f0

\Ux{}Z I.Ge0  ● 软件代码区

x E6ji"fQ?/G^(`&N051Testing软件测试网Y7{#l d"w2T'C

  ● 用户存储正在执行的或者可以执行的程序代码51Testing软件测试网u;}6N*M'}R/@s,L

7| l$aUz#W${0  Oracle系统程序是可共享的,以致多个Oracle用户可以存取它,而不需要在内存存有多个副本。用户进程 可以共享也可以不共享。51Testing软件测试网L5\'_caO I!Bh\

51Testing软件测试网+m_8Z#Qg9[o

  查看PGA51Testing软件测试网*bJR:D;d%`*nNK

51Testing软件测试网 }Q!i H y9Z

  查看SGA51Testing软件测试网|:?_ g6r

+v9Y-xt.DE0

  数据字典

,AWwlrm `Mu j0

  数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的,比如一个创建者信息、创建时间信息、所属表空间信息、用户访问权限信息等。数据字典的所有者是SYS用户,其数据字典表和数据字典视图都被保存保存在SYSTEM表空间中。其主要用途为:51Testing软件测试网Cs}h)\![)^'\

  ● Oracle通过查询数据字典表或者数据字典视图来获取有关用用户、方案对象、对象的定义信息以及其他存储结构的信息,以便确认权限、方案对象的存在性和正确性。51Testing软件测试网6tHg8ch:c

51Testing软件测试网W7SWh\.C{

  ● 在每次执行DDL语句修改方案和对象后,Oracle都在数据字典中记录下所作的修改。用户可以从数据字典的只读视图中,获取各种与方案对象和对象有关的信息。51Testing软件测试网GpksQNV%?f

51Testing软件测试网wdCc5Z` {E#X

  ● DBA可以从数据字典的动态性能视图中,监视历程的运行状态,为性调整提供依据。

Gf c$L3u_RER8tR0

`OIMgx `4R4_Y2al v0  Oracle中的数据字典又分为静态和动态51Testing软件测试网A0h\c:F tE/fu q,t

s)O\[ gy j+U7tij0  静态数据字典

,wA8DW'Xc+c051Testing软件测试网i9b;_*b1J'D-Z W

  这类数据字典主要由表和视图组成。数据字典中的表式不能直接被访问的,但是可以访问数据字典中的视图。静态数据字典的视图分为三类,它们分别由三个前缀构成:USER视图、ALL视图、DBA视图。这三者的关系式权限内容逐渐缩小的关系。51Testing软件测试网 vt u]$r0F)GW

J`c}3E T yO;Lcm0  USER视图包含了该用户模式下所有对象的信息。

%uA2e/X}!ir051Testing软件测试网x4O'njLC]

  ALL视图中记录了属于该用户模式的所有对象信息,以及该用户可以访问的属于其他模式中的对象信息51Testing软件测试网.bqH9};x$U3I:^-?0s

l,K&JaTc#Y7AE0  DBA视图记录了去阿奴的数据库对象51Testing软件测试网WwVj R$T

51Testing软件测试网Nt` ctH

  动态性能表和动态性能视图51Testing软件测试网L&Rl7zF iB${#]

eO6La~!dx0  在例程的运行过程中,oracle会在数据字典中维护一系列虚拟的表,在其中记录与数据库活动相关的性能统计信息,这些表被称为动态性能表。这 些虚拟的表不是固定的表,即在例程启动时被创建,并将其向其中添加信息,而当例程消亡时,这些表也就被删除了。动态性能视图属于SYS用户,Oracle 自动在动态性能表上创建了一些视图,及动态性能视图。所有动态性能视图都已V_$开头。Oracle为这些视图创建了公用同义词。这些同义词都已V$开 头,因此动态性能视图也被成为“V$_视图”。

s A:B%W2Rk1w0

D7l+@Y"bI0

  各类数据字典成千上万,不可能全部记住,那么好了,通过命令行、OEM方式查询这些信息51Testing软件测试网0t+P#i,X.?xM1^_H9|)c

51Testing软件测试网 }'?2c ?)u:_


TAG:

Mr.南柯 引用 删除 bob123654   /   2012-10-10 11:46:02
原帖由bob123654于2012-10-09 11:10:06发表
原帖由ratankoy于2012-10-09 11:04:38发表
大致看了一下你的日志,大部分都是转载的哦。。。
吼吼 我没.

亲 我也没说请你一定要来我空间参观 我转载这些文章只是有时候自己查阅资料方便而已。至于你看与不看和我没关系
Mr.南柯 引用 删除 bob123654   /   2012-10-09 11:10:06
原帖由ratankoy于2012-10-09 11:04:38发表
大致看了一下你的日志,大部分都是转载的哦。。。

吼吼 我没说是原创的哦
QTP 学习者 引用 删除 ratankoy   /   2012-10-09 11:04:38
大致看了一下你的日志,大部分都是转载的哦。。。
 

评分:0

我来说两句

Open Toolbar