- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【Oracle体系结构】教程
Oracle体系结构
PAGE \* MERGEFORMAT 24
Oracle 体系结构
1、 ORACLE 实例——包括内存结构与后台进程
2、 ORACLE 数据库——物理操作系统文件的集合
3、 了解内存结构的组成
4、 了解后台进程的作用
5、 了解数据库的物理结构
6、 了解数据库的逻辑结构
一、ORACLE实例
1、ORACLE 实例
System Global Area(SGA) 和 Background Process 称为数据库的实例。
2、ORACLE 数据库
即一系列物理文件的集合:
@数据文件:存储数据,以.dbf做后缀。一句话:一个表空间对多个数据文件,一个数据文件只对一个表空间。dba_data_files/v$datafile。
@控制文件:存储实例、数据文件及日志文件等信息的二进制文件。alter system set control_files=‘路径’。V$CONTROLFILE。
@日志文件:即Redo Log Files和Archivelog Files。记录数据库修改信息。ALTER SYSTEM SWITCH LOGFILE; 。V$LOG。
@参数文件:记录基本参数。spfile和pfile。
@警告文件:show parameter background_dump_dest使用共享服务器连接
@跟踪文件:show parameter user_dump_dest使用专用服务器连接
(Ps:专用服务器适用于开发阶段,简单,连接少。反之,共享服务器适用于实际应用环境,多应用,高并发。这两种其他更详细的区别就劳驾谷歌度娘了。)
Oracle物理结构第二大节有详细介绍。
3、系统全局共享区System Global Area(SGA)
包含:■ Shared Pool (共享区)
■ Database Buffer Cache (数据库缓冲区)
■ Redo Log Buffer Cache (重做日志缓冲区)
Oracle 10g中,与内存相关的参数可以归为两类:
Ps. 自动调优的SGA参数:目前这些参数包括DB_CACHE_SIZE、SHARED_POOL_SIZE、LARGE_POOL_SIZE和JAVA_POOL_SIZE。
Ps. 手动SGA参数:这些参数包括LOG_BUFFER、STREAMS_POOL、DB_NK_CACHE_SIZE、DB_KEEP_CACHE_SIZE和DB_RECYCLE_CACHE_SIZE。
System Global Area 是一块巨大的共享内存区域,他被看做是Oracle 数据库的一个大缓冲池,这里的数据可以被ORACLE的各个进程共用。其大小查看语句:
SQL select * from v$sga;
V$sgastat、V$buffer_pool
主要包括以下几个部分:
a、 共享池(Shared pool)
共享池是SGA中最关键的内存片段,特别是在性能和可伸缩性上。太大太小都会扼杀性能,使系统停止,将会消耗大量的CPU来管理这个共享池。
共享池可分为:Library Cache和Data Dictionaey Cache
【库高速缓冲区(Library Cache)
library cache最主要的功能就是存放用户提交的SQL语句及相关的解析树(解析树也就是对SQL语句中所涉及的所有对象的展现)、执行计划、用户提交的PL/SQL程序块(包括匿名程序块、存储过程、包、函数等)以及它们转换后能够被Oracle执行的代码等。为了,library cache中还存放了很多控制结构(用于管理这些内存结构),包括lock、pin、dependency table等。
library cache也存放了很多的数据库对象的信息,包括表、索引等。有关这些数据库对象的信息都是从dictionary cache中获得的。如果用户对library cache中的对象信息进行了修改,比如为表添加了一个列等,则这些修改会返回到dictionary cache中。
在library cache中存放的所有信息单元都叫做对象(object),可分两类:一类叫存储对象,也就是上面所说的数据库对象。它们是通过显式的SQL语句或PL/SQL程序创建出来的,如果要删除它们,也必须通过显式的SQL命令进行删除。这类对象包括表、视图、索引、包、函数等;另一类叫做过渡对象,也就是上面所说的用户提交的SQL语句或者提交的PL/SQL匿名程序块等。这些过渡对象是在执行SQL语句或PL/SQL程序的过程中产
文档评论(0)