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. Mybatis(一) mybatis入门

    学习了hibernate这个持久层框架之后,在来学习Mybatis简直是无压力,因为Mybatis入门门栏很低,如果学习过了hibernate的话,对于Mybatis的学习很简单了,如果没学习过hib ...

  2. Java Script 数组操作

    常用几种数组操作方法: concat() join() toString() pop() push() shift() unshift() slice() splice() sort() revers ...

  3. 记因PHP的内存溢出导致的事故之解决

    如果对您有用记得关注,更多干货. 今天上午刚到公司,就有同事在公司群里反映某个计划任务出现问题了.我就怀着刨根问底的心,去查看了log.发现挺有意思的一个问题,PHP内存溢出导致脚本执行失败.那就一起 ...

  4. SSE 系列内置函数中的 shuffle 函数

    SSE 系列内置函数中的 shuffle 函数 邮箱: quarrying@qq.com 博客: http://www.cnblogs.com/quarryman/ 发布时间: 2017年04月18日 ...

  5. 关于iOS开发首次进入需要获取地理位置

    今天给大家简单介绍一下iOS开发过程中会遇到的获取地理位置的问题,(话不多说进入正题)这里给大家讲解一下两种在APPdelegate获取地理位置的方法: 一:首先是用系统的方法获取地理位置: 1. 首 ...

  6. JS中的几种函数

    函数可以说是js中最具特色的地方,在这里我将分享一下有关函数的相关知识: 包装函数:        (function foo(){...})作为函数表达式意味着foo只能在...所代表的位置中被访问 ...

  7. Python数据处理——numpy_1

    python中数据处理最基础的一个包--numpy.它能很好的进行数据准备,类似与R语言中的数据框(DataFrame)一样.今天,就来从最基础的开始学习. import numpy as npdat ...

  8. 为linux安装xen-tools提示/dev/xvdd does not exist

    看样子百度还是不如google啊.百度上找到的信息完全无用.google上却给我找到了... 1:当/dev/xvdd does not exist错误出现时,可以尝试下 mount /dev/cdr ...

  9. 前端JS来控制选中的项

    < script type = "text/javascript" > function change(){ document.getElementById(" ...

  10. 关于MAC设置免费的动态壁纸

    首先大部分的动态壁纸都是收费的或者是已经固定的,其实这一款也是固定的 但是这个固定的是可以进行修改的 第一先在App Store下载 LiveDesktop Pro  这一款是免费的 然后下载后进行打 ...