多语言展示
当前在线:560今日阅读:145今日分享:43

Oracle体系结构之内存结构(一)

Oracle体系结构之内存结构(一)
工具/原料

oracle11g

方法/步骤
1

oracle体系结构分为以下两种结构一、内存结构二、进程结构

2

内存结构包含以下部分:1、用户进程(user process)                        》是一个需要与oracle server交互的程序                       》运行于客户端                      》当用户运行于某个工具或应用程序时创建,当用户退出上述程序时结束。                      》用户向oracle server 发出调用,但它并不与oracle server 直接交互,而是用过server process与oracle server进行交互。

3

2、服务进程(server process)  》是一个直接与oracle server交互的程序  》与oracle server运行于同一台机器上  》使用PGA执行user process发出的调用,并向user process返回结果状态和结果信息。

4

3、实例 (instance)

5

数据库实例就是用来访问一个数据库文件集的一个存储结构及后台进程的集合。默认情况下无法直接访问数据库,只能通过已经建立起来的实例来打开和启动数据库。数据库启动时,系统首先在服务器内存中分配系统全局区(SGA),构成了Oracle的内存结构,然后启动若干个常驻内存的操作系统进程,即组成了Oracle的 进程结构,内存区域和后台进程合称为一个Oracle实例。

6

系统全局区(SGA),主要包括:1)数据块缓存区 (data buffer cache)数据块缓存区(data buffer cache)是SGA中的一个高速缓存区域,用来存储从数据库中读取数据段的数据块。数据块缓存区的大小由数据库服务器init.ora文件中的DB_LOCK_BUFFERS参数决定。在调整和管理数据库时,调整数据块缓存区的大小是一个重要的部分。

7

2)字典缓存区 (data dictionary cache)数据库对象的信息存储在数据字典表中,这些信息包括用户帐号数据、数据文件名、段名、盘区位置、表说明和权限,当数据库需要这些信息(如检查用户查询一个表的授权)时,将读取数据字典表并且将返回的数据存储在字典缓存区的SGA中。

8

3)重做日志缓冲区 (log buffer)重做项描述对数据库进行的修改。它们写到联机重做日志文件中,以便在数据库恢复过程中用于向前滚动操作。然而,在被写入联机重做日志文件之前,事务首先被记录在称作重做日志缓冲区(redologbuffer)的SGA中。数据库可以周期地分批向联机重做日志文件中写重做项的内容,从而优化这个操作。重做日志缓冲区的大小(以字节为单位)由init.ora文件中的LOG_BUFFER参数决定。

9

4)SQL共享池 (shared pool)SQL共享池存储包括数据字典缓存区 (data dictionary cache)及库缓存区(librarycache)两个部分,即对数据库进行操作的语句信息。当数据块缓冲区和字典缓存区能够共享数据库用户间的结构及数据信息时,库缓存区允许共享常用的SQL语句。SQL共享池包括执行计划及运行数据库的SQL语句的语法分析树。在第二次运行(由任何用户)相同的SQL语句时,可以利用SQL共享池中可用的语法分析信息来加快执行速度。SQL共享池的大小(以字节为单位)由init.ora文件参数SHARED_POOL_SIZE决定。

10

5)大池(LargePool)大池(LargePool)是一个可选内存区。如果使用线程服务器选项或频繁执行备份/恢复操作,只要创建一个大池,就可以更有效地管理这些操作。大池将致力于支持SQL大型命令。利用大池,就可以防止这些SQL大型命令把条目重写入SQL共享池中,从而减少再装入到库缓存区中的语句数量。大池的大小(以字节为单位)通过init.ora文件的LARGE_POOL_SIZE参数设置,用户可以使用init.ora文件的LARGE_POOL_MIN_ALLOC参数设置大池中的最小位置。

11

6)Java池由其名字可知,Java池为Java命令提供语法分析。Java池的大小(以字节为单位)通过在init.ora文件的JAVA_POOL_SIZE参数设置。init.ora文件的JAVA_POOL_SIZE参数缺省设置为10MB。

注意事项

此经验由勇敢的choy原创,觉得此经验对你有帮助,请点击下面【投票】予以支持,也可以点击上面的【五角星】来收藏!

推荐信息