【Oracle体系结构】.docx
文本预览下载声明
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程序的过程中产
显示全部