Chinaunix首页 | 论坛 | 博客
  • 博客访问: 45836
  • 博文数量: 12
  • 博客积分: 85
  • 博客等级: 民兵
  • 技术积分: 90
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-30 12:07
文章分类
文章存档

2013年(1)

2012年(11)

最近访客

分类:

2012-10-27 13:34:28

原文地址:Oracle基本概念和体系结构 作者:Q_Tao

一、基本概念

数据库(DataBase):是一个数据集合,我们大多数情况下讲的数据库概念不仅是指物理数据,还指内存、进程、对象的组合。

数据存储:ORACLE数据库都将数据存储在文件中,在其内部,数据库结构提供了数据对文件的逻辑映射,允许不同类型的数据分开存放。这些逻辑划分称为表空间。

表空间(Tablespace):是数据库的逻辑划分,每个数据库至少有一个表空间(system表空间)。

数据文件(DataFile):每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件。建立新表空间需要建立新的数据文件。

实例(Instance):也称为服务器server,是存取和控制数据库的软件机制,它由系统全局区SGA和后台进程组成。决定实例组成及大小的参数存储在init.ora。例如:initora9. ora,表示实例名为ora9的配置文件。

二、Oracle体系结构

1.物理结构:数据文件,日志文件,控制文件,参数文件

①数据文件:存储Oracle数据库数据的文件,后缀为DBF

特点:一个数据文件只属于一个数据库,一个表空间可包含多个数据文件。

②日志文件:记录所有对数据库的修改,以便恢复,后缀为LOG

③控制文件:是较小的二进制文件,描述数据库,后缀为CTL

特点:控制文件是一个非常小的二进制文件,最大可以增长到64M

包含信息:数据库的名字,检查点信息,数据库创建的时间戳,所有数据文件,联机日志文件,归档文件信息。

④参数文件:是一个文本文件,可直接使用文本编辑器对其修改。后缀为ORA

特点:该文件只在创建数据库和启动实例的时候访问,对其修改要重启实例才能生效。

    系统初始参数文件: init .ora

    $ORACLE_HOME\\srvm\admin

    生成的参数文件为: initSID.ora

    $ORACLE_HOME\\database

作用:

<1>.设置SGA的大小

<2>.设置数据库的全部缺省值

<3>.在数据库建立时设置数据库的全部初始值

<4>.记录控制文件名和路径

<5>.通过调整内存结构,优化数据库性能

2.系统全局区SGA(SYSTEM GLOABLE AREA):共享池,数据块缓冲区,日志缓冲区,大池

SGAOracle为实例分配的一组共享缓存存储区,用于存放数据库数据和控制信息,以实现对数据库的操作和管理。

Oracle系统中,所有用户与Oracle系统的交互都要经过SGA区。

注意:SGA尺寸应小于物理内存的一半。

SGA的计算方法:

SGA=DB_BLOCK_BUFFERS×DB_BLOCK_SIZE+SHARE_POOL_SIZE+SORT_AREA_SIZE+1M+3×DB_BLOCK_SIZE×CPUs+2)×PARALELL_MAX_SREVERS

    说明:SORT_AREA_SIZE:排序区,并发用户数较多,需要排序时该值宜大。

          PARALELL_MAX_SREVERS 2×CPU个数×4×并发用户数。对单CPU不能修改此值。

 

共享池(shared pool):由共享SQL区和数据字典区组成,参数shared_poll_size确定共享池大小

共享SQL区:包含SQL/PLSQL的文本,语法分析和执行方案

            shred_pool_size = 物理内存*(15~20)%

数据字典区:用于存放数据字典信息行

数据块缓冲区:用于存储数据文件中读出的数据,大小由两个参数决定。

DB_BLOCK_SIZE:数据块大小,一般为8K

DB_BLOCK_BUFFERS:数据块数目

DB_BUFFERS = DB_BLOCK_SIZE*DB_BLOCK_BUFFERS=物理内存*(15~20)%

    日志缓冲区:以记录项的形式备份数据库缓冲区中被修改的缓冲块,这些记录项将被写到日志文件中。日志缓冲区大小由参数LOG_BUFFER决定。

    大池:处理比共享池更大的内存

3.进程:用户进程,Oracle系统进程(分为:服务器进程和后台进程)

    服务器进程:处理用户请求的进程

       处理过程:

 分析SQL命令并生成执行方案à从数据缓冲区或磁盘读取数据à将执行结果返回给用户

后台进程:与所有数据库用户异步完成所有任务

DBWR:      数据库写进程

LGWR:      日志写进程

CKPT:      检查点进程

SMON     系统监视进程

PMON     进程监视进程

ARCH:      归档进程

RECO:      恢复进程

LCKN:      封锁进程


阅读(1028) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~