`
javasalatu
  • 浏览: 726700 次
  • 性别: Icon_minigender_2
  • 来自: 北京
博客专栏
96df99eb-e89d-3228-9c8e-967fc745ec52
程序员的自我经营之道
浏览量:7715
文章分类
社区版块
存档分类
最新评论

oracle 组件和体系结构

 
阅读更多

1、用户相关的进程

用户相关的进程包括用户进程和服务器进程。

一个用户进程只能连接到一个服务器进程

但是在某些oracle配置中,多个用户进程可以共享同一个服务器进程。

PAG也被创建,每一个服务器进程有一个PGA

2、逻辑内存结构,被集中称为oracle实例

一个oracle实例是被一个oracle的主要内存结构组成的,称为SGA(system global area),和服务器后台进程。

用户访问数据库中的数据时,服务器进程负责和SGA内存块通信。

一个oracle instance 包括三个组件:

1)必须的组件:

共享池:缓存最近被数据库用户使用的SQL语句;

数据库缓存:最近被数据库用户使用的信息;

redo日志:保存恢复为目标的事务信息。

可选的内组件:

java pool:当java虚拟机被使用的时候,缓存最近被使用的java目标

large pool:换数据和大的操作,比如 恢复管理,备份和恢复活动,共享服务器组件

streams pool:缓存数据库相关的队列请求信息,当oracle高级队列选项被打开的时候

SGA 最进最少使用算法管理内存。

2)背景进程

有很多个背景进程,每一个都执行一个特殊的任务来帮助管理oracle instance。其中,5个背景进程是必须得,包括:

1、系统监视进程,执行进程的灾难恢复,合并数据库的自由空间,管理用来排序的内存空间;

2、进程监视进程,清除失败的数据库用户;

3、数据库写进程,从SGA的数据库缓存区把数据库块写入到磁盘上的数据库文件中;

4、日志写进程,从SGA中的REDO日志缓存区把恢复信息写到磁盘上的在线redo日志文件上;

5、检查点进程,紧跟在检查点事件后,更新数据库文件。

3、物理文件架构被集中称为数据库

数据库主要是有驻留在主机服务器磁盘驱动器上的物理文件构成。这些文件可以被称作,数据文件,控制文件和日志文件,另外的一些文件也和数据库相关,

但是不属于数据库,比如密码文件和数据库文、配置文件(pfile,spfile)和归档redo日志文件(archived redo log files)。

一、控制文件

是数据库的关键部分,他们存储着重要的信息,这些信息其他地方并不提供。包括:

  • 数据库的名字;
  • 数据文件和redo日志文件的名字、位置、和大小;
  • 在磁盘失败或者用户错误的情况下用来恢复数据库的信息。

控制文件当数据库创建时刻,就已经按照参数的文件 control_files参数描述的位置创建了,因为控制文件的丢失,会负面的影响恢复数据库的能力。

大部分数据库产品都提供多个数据库文件和并发把他们保存在多个位置。当需要的时候,CKPT也会动态的更新每一个数据库的控制文件,并且保持控制文件内容一致性。

可以用下面的示例来查看控制文件的位置和名字等详细信息:


二、数据文件

数据文件是实际保存被插入到数据库数据表中的中数据的物理文件。数据文件的大小和他储存数据的表的量直接相关。数据文件是称为表空间的数据库存储区域的物理结构

表空间在数据库中是逻辑存储结构。表空间逻辑的组织相关的段,例如一个应收账户可能被一起保存在一个叫做AR_TAB的表空间中,而这些表的索引则被保存在名字叫做AR_IDX的表空间中。默认的oracle10g至少有3个表空间。


当一个用户通过SQL操作一张表以后,用户服务器进程把数据文件中受过影响的数据,拷贝到SGA中的数据库二级缓存中。如果用户执行了提交事务命令来修改数据库,那么数据库写进程(DBWn)把被修改过的数据写入到数据文件。

三、redo日志文件

每当用户在数据库中执行一个事务数据库故障需要的重现这些事物的信息,会被自动记录重做日志缓冲区。重做日志缓存区的内容最后被LGWR背景进程写入到redo日志文件。

因为在oracle恢复机制中,扮演者重要的角色,redo日志被重复拷贝多份或者记录在好几个地方。这也就意味着,每一个重做日志都有好几个拷贝,以防止系统损坏或者硬件故障造成他们之中的一个或者几个的损坏。每个组内的复用文件被称为重做日志组的成员。oracle自动写入每一个redo日志文件以保持他们之间的同步。每一个redo日志组必须有多个成员。每个重做日志组必须由一个或多个成员每个数据库必须至少两个重做日志组因为重做日志在一个循环的方式使用。

日志读写进程在下面几种事件发生时候记录日志:

  • 每隔三秒;
  • 一个用户提交事务;
  • redo日志缓存已用三分之一;
  • redo日志缓存容纳1M的游泳redo信息;
  • 一个数据库检查点发生DBWn进程检查站更多信息参见第10章。(未完待续)

当用户执行对数据库DML活动本次事务恢复信息被用户的服务器进程写入到重做日志缓冲区LGWR进程最终写入此恢复信息活动的日志组,直到该重做日志写满一旦当前日志填写交易信息写满LGWR将切换到下一个重做日志直到该日志填写满事务信息,并依此类推,直至所有可用重做日志使用完当最后一个重做日志被使用完时,LGWR开始循环并开始使用的第一个重做日志组。这样最早的redo日志文件就被覆盖了。因此不能在提供恢复的信息。一个可以考虑的解决办法是归档redo日志。

如果系统处于归档日志模式,那么将要被重写的日志在被LGWR进程重写之前,它的内容会被后台的归档进程复制到另外一个位置,也就是归档文件所在的位置。这些旧的redo日志实体的拷贝文件叫做归档日志

ps:1、大部分数据库产品都运行在归档模式下,因为一旦数据库由于在硬件故障和造成的毁坏需要重做所有的事务。

2、如果LGWR必须写入redo日志组,但是ARCn要试图拷贝redo日志,但是ARCn的目标位置磁盘满了,数据库会挂起直到磁盘驱动器上的空间足够。

分享到:
评论

相关推荐

    Oracle 体系结构组件

    Oracle 体系结构组件

    Oracle RAC集群体系结构.docx

    Oracle RAC集群体系结构.docx Oracle RAC集群体系结构.docx

    OracleDB体系结构

    本文档详细描述了oracle数据库体系结构。

    Oracle体系结构介绍

    Oracle体系结构介绍

    02_Oracle体系结构和组件.pptx

    02_Oracle体系结构和组件.pptx

    oracle结构体系组件

    简单明了的讲解oracle结构体系组件,只为赚点积分方便下载更多优质资源

    Oracle体系结构组件.pptx

    Oracle体系结构描述PPT,内部文档,谢谢各位下载。666666666666

    Oracle体系结构

    1、Oracle 服务器的体系结构及其主要组件 2、SGA、PGA 3、ORACLE实例的进程 1、了解整个体系结构架构如何 2、几个主要组件 3、每个组件的在数据库服务器中扮演的角色

    Oracle Concepts中英文对照版

    1.1 Oracle数据库体系结构 An Oracle database is a collection of data treated as a unit. The purpose of a database is to store and retrieve related information 数据库服务器是解决信息管理问题的核心组件...

    Oracle Database 10g:数据库管理-课堂练习I

    Oracle 数据库体系结构 1 8 数据库结构 1 9 Oracle 内存结构 1 10 进程结构 1 12 Oracle 实例管理 1 13 服务器进程和数据库缓冲区高速缓存 1 14 物理数据库结构 1 15 表...

    讲解Oracle中并行处理技术原理

    本文讨论Oracle9i并行处理的体系结构,并说明于在实际应用中其相对于其它体 系结构的优越性。需要着重指出的是,Oracle9i并行处理体系结构的主要优点在于它能在任何情况下完全利用底层硬件基础架构——每个处理器...

    oracle10g课堂练习I(1)

    数据库体系结构:结构化组件概要 1-23 小结 1-24 2 安装 Oracle 数据库软件 课程目标 2-2 Oracle 数据库管理员的任务 2-3 用于管理 Oracle 数据库的工具 2-4 安装:系统要求 2-6 检查系统要求 2-7 灵活...

    Oracle DBA workshop1 (中文版)

    数据库体系结构:结构化组件概要1-23 小结1-24 2 安装Oracle 数据库软件 课程目标2-2 Oracle 数据库管理员的任务2-3 用于管理Oracle 数据库的工具2-4 安装:系统要求2-6 检查系统要求2-7 灵活体系结构(OFA) 2-8 使用...

    Oracle9i 数据库管理基础

    1 Oracle 体系结构组件 目标1-2 基本组件概览1-3 Oracle 服务器1-5 Oracle 例程1-6 建立连接和创建会话1-7 Oracle 数据库1-9 物理结构1-10 内存结构1-11 系统全局区1-12 共享池1-15 库高速缓存1-16 数据字典高速缓存...

    Oracle 数据库培训材料(1)

    Oracle服务器体系结构 建立Oracle用户连接需要的组件 Oracle相关的管理工具 如何创建一个数据库 Oracle常用数据字典及其用途 管理Oracle表空间、数据文件 Oracle其他存储结构及其关系(段、分区、块…) Oracle口令...

    oracle 优化培训资料

    Oracle 体系结构同时包括很多基本组件: Oracle 服务器:Oracle 服务器中包含多种文件结构、进程结构和内存结构;但是,处理 SQL 语句时,并非所有这些结构都会用到。某些结构用于提高数据库的性能,确保该数据库在...

    Oracle从基础到熟练(太实用了)

    oracle体系结构组件 ①:oracle完整的体系结构 ②:oracle实例的组成 ③:oracle数据库的组成 三.SQL函数与SQL查询 ①:Oracle语言基础 ②:SQL 操作符和SQL函数 四.数据管理 ①:增/删/改 ②:约束 ③:一些查询 五....

    从一个“普通”的Oracle DBA(Oracle数据库管理员)转变为Oracle Applications DBA(Oracle应用程序数据库管理员)

    第二个内容是你要搞清楚Oracle应用程序背后的架构体系,也就是说你要明白诸如以下产品的结构体系:Oracle电子商务套件、Oracle 11i数据库、Siebel产品等。 本文首先讲述如何从一个普通的Oracle DBA转变为一个Oracle...

Global site tag (gtag.js) - Google Analytics