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. ROS使用常见问题

    1.Q:查看ros版本 A:先在终端输入roscore,打开新终端,再输入,rosparam list,再输入rosparam get /rosdistro,就能得到版本. 2.Q:运行命令$ ros ...

  2. 【HDOJ 1086】 模板水过

    You can Solve a Geometry Problem too Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/3 ...

  3. css系列(布局):实现一个元素在浏览器中水平、垂直居中的几个方案

    在开发中偶遇需要一个元素垂直居中的需求,之前都是水平居中,垂直居中使用的比较少,经过一通研究,选择了几种相对比较实用的方案分享,抛砖引玉,如有遗漏不足,还望不吝指正. 方案一(IE7下该方案无法实现垂 ...

  4. IDEA第五章----Git常用技能

    前几篇已经介绍了idea的环境搭建及基础配置常用模板等,这一章我们介绍下idea中git的一些常用技能,包括提交文件,排除提交文件,合并分支,解决冲突,还原代码等等等. 第一节:Git常用技能 Git ...

  5. Linux安装redis及redis的php扩展。

    ------ redis安装,启动服务,开机启动,打开redis客户端 ------ yum install -y redis systemctl start redis systemctl enab ...

  6. office web apps 整合Java web项目

    之前两篇文章将服务器安装好了,项目主要的就是这么讲其整合到我们的项目中,网上大部分都是asp.net的,很少有介绍Java如何整合的,经过百度,终于将其整合到了我的项目中. 首先建个servlet拦截 ...

  7. 分针网—每日分享: 怎么轻松学习JavaScript

    js给初学者的印象总是那么的"杂而乱",相信很多初学者都在找轻松学习js的途径.   我试着总结自己学习多年js的经验,希望能给后来的学习者探索出一条"轻松学习js之路& ...

  8. 简单的3D图片轮播dome

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. Redis学习-复制

    Redis支持简单且易用的主从复制(master-slave replication)功能, 该功能可以让从服务器(slave server)成为主服务器(master server)的精确复制品.以 ...

  10. ConcurrentSkipListMap深入分析

    1.前言 ConcurrentHashMap与ConcurrentSkipListMap性能测试 在4线程1.6万数据的条件下,ConcurrentHashMap 存取速度是ConcurrentSki ...