Oracle体系结构

发布 2021-05-02 13:24:28 阅读 2270

簇(cluster):经常被频繁引用的表可以在物理位置上被存储在一起,簇就是用来管理这种集中存储的。集中存储可以减少i/o次数,以达到性能的改善和提高。

散列簇(hash cluster):簇的另一种形式,这种簇中的数据要通过散列函数计算得出物理位置,它可以极大程度的提高等值查询的效率。

视图(view):可以理解为固化的查询或者没有数据存储的表,它是一组表的查询结果集合,对应用来说是独立的结构,除没有数据存储以外,拥有和表同样的属性。

序列(sequence):一个唯一数值的序列生成器,它每次被引用后,自动递增。

过程、函数(procedure、function):编译存储在数据库中的一个pl/sql程序段,可以被引用。函数返**用者一个值,过程则不返回任何值。

包(package):函数、过程的集合。包中可以包含不同的元素,可以是公有的也可以是私有的。

触发器(trigger):触发器是一些过程或pl/sql程序段,当一个特定的事件发生时,就会自动引发这些过程的执行。

同义词(synonyms):在分布式数据库环境中,要完全识别一个对象,必须指出对象的主机、属主等信息,为了简化这一过程,可以对这些对象建立同义词,引用这些同义词时系统自动转义成对原始对象的引用。

权限、角色(privilege、role):为了引用数据库的对象,必须拥有这些对象的相应权限,角色是这些权限的集合,例如--dba就是一个角色,它包括一组数据库权限。

数据库链路(database link):引用其他数据库的数据时,需要指明详细路径,链路就是详细路径的识别名。

四、内部存储结构。

系统全局区(system global area,sga):包括--数据块缓冲存储区(data block buffer area)、字典缓冲区(dictionary cache)、日志缓冲区(redo log buffer)、sql共享池(shared sql pool)四部分。

正文区间(context area):每个用户都拥有自己的私有sql区域,保存相关的sql语句,直到语句相关的光标关闭为止。

程序全局区(program global area,pga):它是存储区中被单个用户进程所使用的区域,pga不能共享。

五、后台进程(background processes)

系统监控(smon):用以取消系统不再需要的事物对象以及清理数据库。

进程监控(pmon):清除用户失败后的后台进程,并释放进程所占用的资源。

数据库写入进程(dbwr):管理数据块缓冲区及字典缓冲区的内容。

日志写入进程(lgwr):将日志缓冲区的内容写到日志文件中。

检查点进程(ckpt):用来减少实例恢复所需的时间。

归档进程(arch):负责在归档模式下,将日志备份到相关位置。

reco进程:用于分布式数据库中的失败处理。

快照进程(snpn):用来管理快照的刷新。

后台进程(lckn):当oracle以并行服务器方式进行时,后台进程用来解决内部实例的锁定问题。

dnnn进程:在mts模式下,用来减少多重连接所需的信息源。

服务器进程sever(snnn):用来管理需要专用服务器的数据库的连接。

六、外部结构。

包括:日志文件、控制文件、跟踪文件与修改日志。

七、一个简单数据库的组成。

一个或多个数据文件。

一个或多个控制文件。

两个或多个联机日志文件。

多个用户/模式。

一个或多个回滚段。

一个或多个表空间。

数据字典表。

用户对象(表、视图、索引等)

一个sga区。

smon进程。

pmon进程。

dbwr进程。

lgwr进程。

与用户进程相关的pga区。

Oracle体系结构

课后测试。单选题。1.哪个不是数据库的物理组件 a表空间 b物理文件 c控制文件 d日志文件 正确答案 a 2.最小的数据库逻辑结构是什么?a操作系统块 b数据库块 c表空间 d表 e区 正确答案 b 3.在数据库启动的mount阶段,可以进行什么操作 a查询用户scott下的表 b建立表空间 c创...

oracle体系结构

meta data 描述 说明 数据的数据。ctl 文件描述了 记录了 dbf 文件和log文件的位置,大小,一致性,checkpoint等信息。参数文件 oracle instance启动时,实例的参数由参数文件决定。d oracle product 10.2.0 db 1 dbs 密码文件 d ...

ORACLE体系结构

转贴 oracle 体系结构。时间 2003 7 5 15 32 49 花落无声作者 杂霸书生 前言 很多人大楷都是从sql server转过来的,可能是受ms的影响太深,老想着用sql server的方法来解决oracle的问题,这就是一个极大的失误,比如有人就老喜欢用那个oem,那个我一直认为是...