ORACLE体系结构包括:实例(Instance),数据库文件,用户进程(User process),服务器进程以及其他文件。

1.ORACLE实例(instance)

    1).要访问数据库必须先启动实例,实例启动时先分配内存区,然后再启动后台进程,后他进程执行数据库的输入,输出以及监控其他进程。

     在数据库启动的过程中 一下五个进程必须启动:

        1.SMON(系统监控进程)

2.PMON(进程监控)

3.DBWR(数据库写进程)

4.LGWR(日志写进程)

5.CKPT(检验点进程)

    2).Oracle数据库实例由内存区和后台进程组成

(1.)内存区:数据库高速缓存,重做日志缓存,共享池,流池以及其他可选内存区(如java池),这些池也称为数据库的内存结构

(2.)后台进程:系统监控进程(SMON),进程监控(PMON),数据库写进程(DBWR),日志写进程(LGWR),检验点进程(CKPT),其他进程等。

2.ORACLE服务器(Server)

    1).Oracle是服务器由数据库实例和数据库文件组组成,即常说的数据库管理系统。

2).数据库服务器除了维护实例和数据库文件以外,还在用户建立与数据库连接时启动服务器进程并分配PGA(程序全局区)

3.物理结构

    1).数据文件

2).控制文件

3).重做日志文件

4.Oracle数据库的链接与会话

    1).链接:链接是指客户端进程与数据库实例之间的物理线路------网络连接

    2).会话:指一个明确的数据库连接,即存在于实例中的逻辑实体

5.Oracle数据库的内存结构

    1).SGA(系统全局区):包含几个重要的内存区,数据库高速缓存,重做日志缓存,共享池,大池和java池。

       (1.)共享池(shared pool):共享SQL或PL/SQL代码

                共享池由库高速缓存数据字典高速缓存组成

库高速缓存(大小不可手动调节):存储了最近使用过的sql或pl/sql语句,库高速缓存容量有限,不能超过共享池的大小,Oracle采用LRU算法管理库高速缓存。

数据字典高速缓存:与数据字典有关的一段缓冲区,存储数据文件,表,索引,列,用户,权限信息和其他的一些数据库对象的定义。就是把相关的数据字典信息放入缓存以提高查询响应时间。

设置及查看共享池大小

  alter system set shared_pool_size=20M;

                show parameter shared_pool_size;

(2.)数据库高速缓存

                存储了最近从数据文件读入的数据块信息或用户更改后需要写回数据库的信息,此时这些更改后没有提交给数据库的信息称为脏数据。

                设置及查看库高速缓存的大小

      alter system set db_cache_size=200M;

                show parameter db_cache_size;(parameter:参数)

                show sga;//查询sga的分配情况

                缓冲区顾问参数(Buffer Cache Advisory Parameter):目的是让Oracle对于数据库缓冲区的内存分配提供一些建议,用于启动或关闭统计信息。

        (3.)重做日志缓存

                当用户执行了insert,update,delete,create,alter和drop操作时,数据发生了变化,这些发生率变化的数据在写入数据库高速缓存之前会先写入重做日志缓                               存区,同时变化之前的数据也放入重做日志高速缓存区,这样在数据恢复时,Oracle就知道哪些需要前滚,哪些需要后滚。

                重做日志缓存区参数(log_buffer)是静态参数,不能动态修改

                查看重做日志缓冲区的大小

                show parameter log_buffer;

        (4.)大池和java池

                大池(Large Pool)是SGA的一段可选内存区,只在共享服务器环境中配置大池,用户进程区UGA的大部分将在大池中分配,可以减轻共享池的负担。在大规模输,入输出及备份过程中也需                   要大池作为缓存空间。large_power_size设置大池的大小。

                show parameter large_power_szie;

                java池也是可选的一段内存区、但是安装了java语言或者使用java程序时必须设置java池,用于编译java语言编写的指令。java_pool_size设置java池的大小。

                show parameter java_pool_size;

    2).PGA(进程全局区):服务器进程专用的一块内存

Oracle数据库------体系结构的更多相关文章

  1. Oracle数据库体系结构、启动过程、关闭过程

    一.Oracle数据库体系结构体系结构由下面组件组成:1.Oracle服务器(Server):由数据库实例和数据库文件组成,另外在用户建立与服务器的连接时启动服务器进程并分配PGA(程序全局区) (1 ...

  2. Oracle学习笔记--第2章 oracle 数据库体系结构

    第2章 oracle 数据库体系结构 目录: ————————————— 2.1物理存储结构 2.1.1数据文件 2.2.2控制文件 2.1.3重做日志文件 2.1.4其他文件 2.2逻辑存储结构 2 ...

  3. Oracle数据库体系结构(2)数据库实例

    Oracle实例的概念: 实例(Instance):就是数据库管理系统,处于用户与物理数据库之间的一个中间层软件,由一系列内存结构和后台进程组成. 用户操作数据库的过程实质上与数据库实例建立连接,然后 ...

  4. oracle数据库体系结构

    一.oracle数据库体系结构 基本组成: Oracle server:一般情况下是一个instance和一个database组成 一般:1个instance只能对应一个数据库. 特殊:1个数据库可以 ...

  5. Oracle数据库基本操作(一) —— Oracle数据库体系结构介绍、DDL、DCL、DML

    一.Oracle数据库介绍 1.基本介绍 Oracle数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/ ...

  6. Oracle数据库体系结构-Shared Pool

    Oracle数据库简单介绍 对象关系型数据库 重点:一致性+性能 一致性优于性能 处理模型:C/S模型 Client:用户和用户进程             Server:服务器进程,实例,数据库本身 ...

  7. Oracle数据库体系结构及创建表结构

    Oracle服务器主要由实例.数据库.程序全局区和前台进程组成,其中实例就是用来提供管理数据库的功能:数据库由数据库文件组成,用来存储系统数据:实例可以进一步划分为系统全局区(SGA)和后台进程(PM ...

  8. Oracle数据库——体系结构

    一.涉及内容 1.了解数据库的物理存储结构和逻辑存储结构 二.具体操作 1.分别使用SQL 命令和OEM 图形化工具查看本地数据库的物理文件,并使用OEM 工具在现有的users 表空间中添加user ...

  9. Oracle 12c 读书笔记(二):Oracle数据库体系结构

    以11g来分析 数据库实例包括:SGA和一系列后台管理.监控简称 数据库包括三种文件:数据文件.控制文件.重做日志文件 数据库实例和数据库是Orale数据库体系的核心部分 Oracle服务器和实例 实 ...

随机推荐

  1. 【PAT_Basic日记】1001. 害死人不偿命的(3n+1)猜想

    还是觉得代码放这靠谱,会定期的看看和优化代码 #include <stdio.h> #include <stdlib.h> int main() { int n; int co ...

  2. Linux - IP数据报报头及个字段的意义

    IP数据报的格式: IP 数据报的首部长度和数据长度都是可变长的,但总是4字节的整数倍. 对于IPv4 ,4位版本字段是4. (1)版本 占4位,指IP协议的版本.通信双方使用的IP协议版本必须一致. ...

  3. kNN算法个人理解

    新手,有问题的地方请大家指教 训练集的数据有属性和标签 同类即同标签的数据在属性值方面一定具有某种相似的地方,用距离来描述这种相似的程度 k=1或则较小值的话,分类对于特殊数据或者是噪点就会异常敏感, ...

  4. 速成制作rpm包

    FPM 由于很多软件在安装时需要编译,这会浪费不少的时间,为了提升部署效率,于是就想到制作rpm包.通常rpm包的制作是使用rpmbuild命令来制作,但是你需要知道它的语法,比较繁琐.这就用到了FP ...

  5. NODEJS环境搭建 第一篇 安装和部署NODEJS

    一.下载安装文件 根据自己当前系统环境,下载相对应的安装文件 https://nodejs.org/en/download/ 二.双击安装 都傻瓜式的安装步骤,一步一步安装就好了. 三.检查安装结果 ...

  6. 简谈-Python一些常用的爬虫技巧

    第一种:基本的网页抓取 get方法 import urllib2url = "链接response = urllib2.urlopen(url)print response.read() p ...

  7. jDialects:一个从Hibernate抽取的支持70多种数据库方言的原生SQL分页工具

    jDialects(https://git.oschina.net/drinkjava2/jdialects) 是一个收集了大多数已知数据库方言的Java小项目,通常可用来创建分页SQL和建表DDL语 ...

  8. LRU Cache java实现

    要求: get(key):如果key在cache中,则返回对应的value值,否则返回null set(key,value):如果key不在cache中,则将该(key,value)插入cache中( ...

  9. Measuring & Optimizing I/O Performance

    By Ilya Grigorik on June 23, 2009 Measuring and optimizing IO performance is somewhat of a black art ...

  10. 原生js实现数据双向绑定

    最近接触了vue,在谈到vue等等的mvvm框架之前,先了解什么是数据双向绑定以及如何利用原生JS实现数据双向绑定 单向数据绑定 指先把模板写好,然后把模板和数据(数据可能来自后台)整合到一起形成HT ...