【转】Oracle的内存结构和数据字典
上一篇 /
下一篇 2012-10-17 20:13:45
/ 个人分类:测试的分类
当用户发出一条SQL语句时,首先由服务器进程对用户的SQL语句进行语法分析并执行,然后将数据从数据文件读入到系统数据的缓冲区,修改后的数据由服务器进程回写到数据文件中。按照系统对于内存的使用方法的不同,Oracle数据库的内存可以分为系统全局区(SGA)和程序全局区(PGA)。
Oracle在内存中存储下列信息:
● 执行的程序代码
● 连接的会话信息
● 程序执行期间所需数据和共享信息
● 存储在外存储上的缓冲信息
Oracle具有下列基本的内存结构:
● SGA
● PGA
● 排序区
● 软件代码区
● 用户存储正在执行的或者可以执行的程序代码
Oracle系统程序是可共享的,以致多个Oracle用户可以存取它,而不需要在内存存有多个副本。用户进程 可以共享也可以不共享。
查看PGA
查看SGA
数据字典
数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的,比如一个创建者信息、创建时间信息、所属表空间信息、用户访问权限信息等。数据字典的所有者是SYS用户,其数据字典表和数据字典视图都被保存保存在SYSTEM表空间中。其主要用途为:
● Oracle通过查询数据字典表或者数据字典视图来获取有关用用户、方案对象、对象的定义信息以及其他存储结构的信息,以便确认权限、方案对象的存在性和正确性。
● 在每次执行DDL语句修改方案和对象后,Oracle都在数据字典中记录下所作的修改。用户可以从数据字典的只读视图中,获取各种与方案对象和对象有关的信息。
● DBA可以从数据字典的动态性能视图中,监视历程的运行状态,为性调整提供依据。
Oracle中的数据字典又分为静态和动态
静态数据字典
这类数据字典主要由表和视图组成。数据字典中的表式不能直接被访问的,但是可以访问数据字典中的视图。静态数据字典的视图分为三类,它们分别由三个前缀构成:USER视图、ALL视图、DBA视图。这三者的关系式权限内容逐渐缩小的关系。
USER视图包含了该用户模式下所有对象的信息。
ALL视图中记录了属于该用户模式的所有对象信息,以及该用户可以访问的属于其他模式中的对象信息
DBA视图记录了去阿奴的数据库对象
动态性能表和动态性能视图
在例程的运行过程中,oracle会在数据字典中维护一系列虚拟的表,在其中记录与数据库活动相关的性能统计信息,这些表被称为动态性能表。这
些虚拟的表不是固定的表,即在例程启动时被创建,并将其向其中添加信息,而当例程消亡时,这些表也就被删除了。动态性能视图属于SYS用户,Oracle
自动在动态性能表上创建了一些视图,及动态性能视图。所有动态性能视图都已V_$开头。Oracle为这些视图创建了公用同义词。这些同义词都已V$开
头,因此动态性能视图也被成为“V$_视图”。
各类数据字典成千上万,不可能全部记住,那么好了,通过命令行、OEM方式查询这些信息
收藏
举报
TAG: