谈一谈Oracle实例历程和它的数据库构造

数据库 Oracle
本文我们主要介绍了Oracl实例历程以及Oracle数据库的物理构造和逻辑构造方面的知识,希望能够对您有所帮助。

Oracle数据库服务器是一个数据库管教系统,供给了归纳的,集成的措施来管教消息,包括数据库实例和数据库两局部;Oracle实例是拜会数据库的一种措施,包括了内存构造和后台历程构造。能够准众多个实例对应一个数据库,标兵的情形下是一个实例对应一个数据库,但在集群情形下,即Real Application Cluster(RAC),则是多个实例对应一个数据库。用户连接到服务器,则指的是连接到Oracle实例。Oracle数据库还包括了一些文件,重要有数据文件、扼制文件和重做日志文件。接下来我们就来一一介绍。

1.Oracle实例

Oracle实例重要包括了内存块(SGA和PGA)和一些后台历程,现在我们就逐一介绍:

Oracle实例内存构造

SGA (System Global Area):SGA是在Oracle实例启用的时候分配的大局分享的内存,是Oracle实例的大约构成局部,它由以下内存区域构成的:Shared Pool, Database Buffer Cache, Redo log Buffer,JavaPool, Large Pool。在sql号召行下运行号召Show sga;则会输出注入一下内容:

 

  1. Total System Global Area 322961408 bytes  
  2.  
  3. Fixed Size 1219208 bytes  
  4.  
  5. Variable Size 100664696 bytes  
  6.  
  7. Database Buffers 218103808 bytes  
  8.  
  9. Redo Buffers 2973696 bytes 

 

SGA是一个继续分配的内存区,是动态改变的,由参数SGA_MAX_SIZE指定***值,以granules为单位举行分配,万一SGA小于1024M,则granules = 4M,万一SGA大于1024M,则granules = 16M,利用语句select component,granule_size from v$sga_dynamic_components;能够察看granules的情形。

Shared Pool储藏了最近厉行的SQL语句,最近利用的数据定义语句。包括两局部重要的功能相干的内存构造:Library Cache和DataDictionary Cache。由参数SHARED_POOL_SIZE指定***值。Library Cache储藏最近利用的穿越编译的SQL和PL/SQL语句,使得最常用的语句的分享成为可能,利用LRU算法举行沟通;Data Dictionary Cache储藏了最近利用的数据库中的定义,包括了对数据文件、表、索引、列、用户、权限和其他数据库对象的消息。在SQL语句的解析阶段,服务器历程先到数据字典中去察看,来检讨。将数据字典的消息缓存到内存中来迅速响应查询和DML。

Database Buffer Cache 保留了从数据文件中渠道的数据块的副本,当你查询和更新数据时能够显明长进功能,利用LRU算法举行交互,由参数DB_CACHE_SIZE指定***值。包括了DB_CACHE_SZIE, DB_KEEP_CACHE_SIZE, DB_RECYCLE_CACHE_SIZE三局部,利用DB_CACHE_ADVICE参数来设定是否采集相干消息,普查消息将会放在动态视图V$DB_CACHE_ADVICE中。

Redo Log Buffer 登记了对数据块所作的所有修正,重要用于复如数据库。由LOG_BUFFER参数指定***值。

Java Pool可选内存区,重要是为java调用服务的,万一安装和利用java则是定然的。由参数指定JAVA_POOL_SIZE指定;

Large Pool重要用于处理一些额外的工作,例如利用RMAN来备份复如数据库时必需用到Large Pool,再例如举行I/O处理时也会用到,由参数LARGE_POOL_SIZE指定。

PGA:在为每个连接到数据库的用户历程分配的内存。当用户连接历程创立时就分配,断开连接就释放。

Oracle实例历程构造

Oracle实例中的历程分为三种:后台历程、服务器历程和客户端历程。后台历程是专注于数据处理的中心历程,服务器历程其实也运行在后台,负责处理客户端和数据库的连接;客户端历程则是为了连接数据库而创立。一个例如能够用来表示这三个历程的联系:Oracle实例是一个工厂的话,后台历程即便工厂中的工人,从事翔实的出产工作,服务器历程是工厂的销售人员,负责和客户打交道,用户历程则是客户,提交任务,向工厂下订单,该订单由销售人员处理后交给工人来告终。

Oracle实例的历程中,有5个定然的历程和其他若干可选的历程。在linux下利用号召ps –ef | grep oracle能够察看oracle相干的历程,其中一组历程如下:

Oracle的后台历程命名也是比拟规范的,形式就如ora_XXX_<SID>。五个定然的历程是ora_DBWn_<SID>,ora_PMON_<SID>,ora_CKPT_<SID>,ora_LGWR_<SID>,ora_SMON_<SID>。

其中n表示序号,即多个同类历程存在时,以增加序号命名。

Ora_DBWn_<SID>:最忙碌的历程,负责将SGA中Database Buffer Cache保留的内容写入到Data Files中去。有多种引发条件,例如察看点、无安逸的缓存、超时等等;

Ora_SMON_<SID>:系统监控器,历程实例批复,为用户拜会敞开数据库,回滚未提交的事务,管教清清闲间,释放临时的segments,就像数据库实例中的清洁员一样;

Ora_PMON_<SID>:历程监控器,回滚事务,释放锁或其他资源等等,也像清洁员;

Ora_LGWR_<SID>:将Redo Log Buffer中的内容写入到Redo Log Files中去,同意有许多引发条件,在DBWn历程厉行任务之前厉行;

Ora_CKPT_<SID>:在察看点发信号给DBWn,升级数据文件头和扼制文件的察看点消息。

其他还有一些可选历程,如ARCn、LMNn、QMNn、CJQ0、LMON、RECO、Dnnn、LMS、Snnn、LCKn、Pnnn。其中ARCn是比拟重要的,它在ARCHIVELOG形式被设置时,积极归档在线重做日志;保留对数据库所作的所有修正登记。

2.Oracle数据库

Oracle数据库则重要包括了一些文件,这些文件是数据***储藏的地方,重要有数据文件、扼制文件和重做日志文件。接下来我们一一介绍。

Oracle数据库的物理构造

Oracle数据库的物理构造中包括了多种文件,三种大约的文件种类是数据文件、扼制文件和重做日志文件。另外还有参数文件、密码文件、备份文件、归档重做日志文件、Alert日志和Trace文件。

数据文件是存储数据的;垄断数据文件,拜会数据库,这些垄断即便由扼制文件来调停的;重做日志文件登记了数据库的改换,以便举行数据库的还原,能够复如数据文件。它们的路径是<ORACLE_HOME>/oradata/orcl(<ORACLE_HOME>是oracle的主目录)。

归档重做日志文件和重做日志文件是并行不悖的,重做日志文件的容量满尔后,归档历程就会把它们放到归档日志文件中去。

密码文件储藏了用户连接数据库时必需用到的用户名和密码。

Alert日志和Trace文件则是在数据库实例运行时,万一遭到警告可能讹谬,这些消息就会被写到这两个文件中,等闲能够在目录<ORACLE_HOME>/admin/orcl下www.gsd2.com的bdump可能udump下面找到这些文件。

备份文件则包括了以上文件的备份。

Oracle数据库的逻辑构造

一个oracle服务器上只有一个oracle数据库;一个oracle数据库能够由多个tablespace(表空间)构成;一个tablespace能够由多个segment(段)构成;一个segment能够由多个extent(数据伸展)构成;一个extent则由多个继续的block(数据块)构成。Oracle数据库的一个block对应于垄断系统磁盘上的一个或多个block,磁盘上的一个block对应了内存中的一页。Oracle数据库block的大小由参数DB_BLOCK_SIZE指定,等闲我们看到DB_BLOCK_SIZE=8192K。一个tablespace能够由多个datafile构成,一个segment也能够横亘多个datafile,然而extent就不能跨datafile。

关于Oracle数据库的实例历程和数据库的构造的介绍就到这里,如果您想了解一下更多Oracle数据库的技术方面的知识,可以看一下这里的文章:http://database.51cto.com/oracle/,相信一定能够带给您收获的!

【编辑推荐】

  1. Oracle数据库的四个不同版本的新个性比拟
  2. 详细介绍Oracle数据库EM Console重建过程
  3. Oracle数据库中如何检查索引碎片并重建索引
  4. 浅析Oracle 10g isqlplus使用DBA账户的方法
  5. 简单介绍一下Oracle ERP上线后的迅捷管教和新功能
责任编辑:赵鹏 来源: 网易博客
相关推荐

2011-08-16 18:55:10

Oracle数据库构造过程

2011-07-28 09:22:56

Oracle WDPOracle数据库

2017-11-21 14:32:05

容器持久存储

2011-08-24 17:55:46

SQL Server

2011-08-03 17:43:53

MySQL数据库外键约束

2011-05-19 13:25:14

Oracle数据库

2011-03-29 10:47:49

ORACLE数据库

2022-07-04 10:51:27

数据中台数据仓库

2010-04-06 11:30:09

Oracle 数据库

2010-04-14 15:45:49

Oracle 数据库

2021-02-19 09:19:11

消息队列场景

2018-08-21 14:42:29

闪存存在问题

2021-07-28 20:12:17

WindowsHeap内存

2010-04-02 16:03:20

Oracle数据库

2011-08-11 16:55:34

Oracle数据库AWR

2011-05-26 15:27:08

Oracle数据库

2010-04-13 10:55:35

Oracle数据库

2010-04-23 09:32:39

Oracle数据库实例

2010-06-07 10:00:45

MySQL数据库

2010-03-31 13:47:22

Oralce数据库
点赞
收藏

51CTO技术栈公众号