Oracle体系结构详解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle体系结构就是围绕这张图展开的,要想深入了解oracle,就必须把这张图搞明白。如图:

一、基本组成:

Oracle server:

一般情况下是一个instance和一个database组成

1个instance只能对应一个数据库。

特殊:1个数据库可以有多个instance(rac)

一台服务器上同时可装多套版本的数据库软件,每个数据库软件可建多个数据库,但是每个数据库只对应一个instance,也可以理解成每个数据库只有一个SID 。

利用DBCA建出的每个库都是相对独立的,在同一服务器上如果创建多库必须将环境变量的参数文件做区分,并且在对实例切换时需如下操作:

connect 用户名/密码@实例的服务名

Oracle Instance:

是由内存(SGA)和后台进程(backupground Process)组成

通过instance来访问database

一个实例只能打开一个数据库

Oracle database:

数据文件(Data files):

数据文件永远存储数据库的数据,包括数据字典、用户数据(表、索引、簇)、undo数据等

重做日志(Redo log):

“先记后写”

重做日志用于记录数据库的变化,当进行例程恢复或介质恢复时需要使用重做日志

执行DDL或DML操作时,事物变化会被写到重做日志缓冲区,而在特定的时刻LGWR会将重做日志缓冲区中的内容写入重做日志。

控制文件(Control file)

控制文件用于记录和维护数据库的物理结构,并且每个Oracle数据库至少要包含一个控制文件。

归档日志(Archive log):

是非活动(Inactive)重做日志的备份。

口令文件(Password file):

用于验证特权用户(具有SYSDBA、SYSOPER权限的特殊数据库用户)

参数文件(Parameter file):

用于定义启动实例所需要的初始化参数,包括文本参数文件(pfile)和服务器参数文件(spfile)(二进制文件放入裸设备,引入spfile)

User and Server process :

在执行sql语句时产生的进程,每一个连接,oracle server创建一个session,产生一个server process,在client发起一个connection时就产生了一个user process。

体系结构可以分为,database结构和instance结构

如下结构:

二、instance结构详解

1、内存结构

主要包括sga(system global area)和pga(program global area)

Pga是当程序起来时,给server process用(排序,数据挖掘等order by)

SGA(System Global Area)由一组内存结构组成,它是由所有用户进程共享的一块内存区域。启动例程时,Oracle自动分配SGA,关闭例程时,oracle自动释放SGA所占用的内存空间。

Sga包括,share pool,db buffer cache,redo log buffer,large pool,java pool。

在9i 中我们都知道在管理Oracle中使用动态SGA时,Granule(是连续虚拟内存分配的单位)的大小是和SGA的大小有关系。

SGA 分配的最小单元为一个granule.Oracle SGA的大小总是granule的整数倍,即分配是以整数个granule来分配的。

9i 中的规则如下:

linux/unix

SGA <=128 M granule 4M

SGA >128M granule 16M

Windows

SGA <=128 M granule 4M

SGA >128M granule 8M

10g 中的分配规则为

linux/unix

SGA <=1G granule 4M

SGA >1G granule 16M

Windows

SGA <=1G granule 4M

SGA >1G granule 8M

SQL> select component, granule_size from v$sga_dynamic_components; COMPONENT GRANULE_SIZE

---------------------------------------------------------------- ------------

shared pool 4194304

large pool 4194304

java pool 4194304

streams pool 4194304

DEFAULT buffer cache 4194304

KEEP buffer cache 4194304

RECYCLE buffer cache 4194304

DEFAULT 2K buffer cache 4194304

DEFAULT 4K buffer cache 4194304

DEFAULT 8K buffer cache 4194304

DEFAULT 16K buffer cache 4194304

DEFAULT 32K buffer cache 4194304

ASM Buffer Cache 4194304

相关文档
最新文档