oracle数据库的软性体系结构

oracle数据库的软性体系结构,第1张

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日志文件的名字、位置、和大小;在磁盘失败或者用户错误的情况下用来恢复数据库的信息。

详情请看

Oracle数据库的体系结构

Oracle数据库包括Oracle数据库服务器和客户端。

Oracle数据库服务器:

Oracle Server是一个对象一关系数据库管理系统。它提供开放的、全面的、和集成的信息管理方法。每个Server由一个 Oracle DB和一个 Oracle Server实例组成。它具有场地自治性(Site Autonomy)和提供数据存储透明机制,以此可实现数据存储透明性。每个 Oracle数据库对应唯一的一个实例名SID,Oracle数据库服务器启动后,一般至少有以下几个用户:Internal,它不是一个真实的用户名,而是具有SYSDBA优先级的Sys用户的别名,它由DBA用户使用来完成数据库的管理任务,包括启动和关闭数据库;Sys,它是一个 DBA用户名,具有最大的数据库 *** 作权限;System,它也是一个 DBA用户名,权限仅次于 Sys用户。

客户端:

为数据库用户 *** 作端,由应用、工具、SQL NET组成,用户 *** 作数据库时,必须连接到一服务器,该数据库称为本地数据库(Local DB)。在网络环境下其它服务器上的 DB称为远程数据库(Remote DB)。用户要存取远程 DB上的数据时,必须建立数据库链。

Oracle数据库的体系结构包括物理存储结构和逻辑存储结构。由于它们是相分离的,所以在管理数据的物理存储结构时并不会影响对逻辑存储结构的存取。

1逻辑存储结构

它由至少一个表空间和数据库模式对象组成。这里,模式是对象的集合,而模式对象是直接引用数据库数据的逻辑结构。模式对象包括这样一些结构:表、视图、序列、存储过程、同一词、索引、簇和数据库链等。逻辑存储结构包括表空间、段和范围,用于描述怎样使用数据库的物理空间。而其中的模式对象和关系形成了数据库的关系设计。

数据块(Block):是数据库进行UO *** 作的最小单位,它与 *** 作系统的块不是一个概念。oracle数据库不是以 *** 作系统的块为单位来请求数据,而是以多个Oracle数据库块为单位。

段(Segment):是表空间中一个指定类型的逻辑存储结构,它由一个或多个范围组成,段将占用并增长存储空间。

其中包括:

数据段:用来存放表数据;.

索引段:用来存放表索引;

临时段:用来存放中间结果;

回滚段:用于出现异常时,恢复事务。

范围(Extent):是数据库存储空间分配的逻辑单位,一个范围由许多连续的数据块组成,范围是由段依此分配的,分配的第一个范围称为初始范围,以后分配的范围称为增量范围。

优点有:

■ 可用性强

■ 可扩展性强

■ 数据安全性强

■ 稳定性强

Oracle两部分:实例和数据库

实例由以下组成:SGA,Sharedpool,Databasebuffercache,Redologbuffercache。数据库由物理文件组成,其中必须有的文件是:数据文件,控制文件,重做日志,另外还有:参数文件,口令文件,归档日志文件(这三个不是必须的)。

用户建立连接后,启动一个服务器进程,用来将来代替用户进程完成SQLCOMMAND,再通过Oracle实例实现对数据库的相关文件进行改变(数据进行读取或修改)。

用户进程不可以直接 *** 作数据库,而必须通过建立连接后,再通过服务器进程来完成。

OracleSERVER由两个部分组成,

1、INSTANCE:又由内存结构和后台进程。

2、DATABASE:又由数据文件,日志文件和控制文件组成<这三个文件是必需的>。

CONTROLFILE是用来连接实例和DATABASE:

SQL>SHUTDOWNIMMEDIATE

SQL>STARTUPNOMOUNT

SQL>ALTERDATABASEMOUNT

以上三个过程就是通过CONTROLFILE来连接实例和数据库。

SQL>ALTERDATABASEOPEN:在OPEN的过程对DATABASE的数据文件和重做日志文件进行一次性的验证,验证它们的状态。

OracleINSTANCE:存取数据库的一个手段。

一个DATABASE与INSTANCE之间是1:N的关系,一个INSTANCE只能 *** 作一个DATABASE,由内存结构(共享池,

BUFFERCACHE,REDOLOGBUFFERCACHE)及相应的进程结构组成(PMON<程序监控进程>,SMON<系统监控进程>,CKPT<检查点进程>)。

SQL>SHOWSGA---显示DATABASE内存结构信息

SQL>SETWRAPOFF

SQL>SETLINESIZE200

以上这两个是设置行宽。

SQL>SELECTFROMV$BGPROCESS;

将看到在这个系统中所有可能使用到的进程,其中PADDR并不每个进程都分配到有效的地址,即并不是每个进程都是必须的。

SQL>SELECTFROMV$BGPROCESSWHEREPADDR<>''00''

将显示所有必需的进程。

ESTABLISHINGACONNECTIONANDCREATINGASESSION

连接到Oracle实例包括建立一个用户连接及创建会话。

SQL>SELECTFROMV$CONTROLFILES;--显示现系统下由几个控制文件组成。

SQL>SELECTFROMV$DATAFILE;--显示由几个数据文件组成。

SQL>SELECTFROMV$LOGFILE;--显示由几个日志文件组成。

OracleMEMORYSTRUCTURE(内存结构)

由两部分组成:

1、SGA是动态的,其最大值由SGA_MAX_SIZE指定,SGA的内存由SGACOMPONENTS来动态调整。

2、PGA是不共享的,即其包含的信息是不一样的,有两个可享的内存可以由SGA配置:

<1>LARGEPOOL

<2>JAVAPOOL

SQL>SHOWPARAMETERSHARED

SQL>SHOWPARAMETERDB_CACHE

SQL>SHOWPARAMETERLOG

以上三个命令是用于查看相关内存信息。

SQL>ALTERSYSTEMSETDB_CACHE_SIZE=20M;

所有内存大小总和不能大于SGA_MAX_SIZE的值,当提示信息出现号或乱码时,是由于系统的语言问题。

可以通过ALTERSESSIONSETNLS_LANGUAGE=''AMERICAN''或ALTERSESSIONSETNLS_LANGUAGE="SIMPLE

CHINESE"。

SHAREDPOOL(共享池)

<1>LIBRARYCACHE库缓存;

<2>DATADICTIONARYCACHE数据字典缓存,有的地方又称行CACHE,由SHARED_POOL_SIZE指定大小。

SQL>ALTERSYSTEMSETSHARED_POOL_SIZE=64M;

LIBRARYCACHE主要为提高代码的共享,存储的是最近使用的SQL和PL/SQL代码。

<1>用最近最少使用(LRU)算法;

<2>包括两个结构1:共享SQL代码2:共享PL/SQL代码;

<3>不可直接定义,而由SHAREDPOOLSIZE决定。

DATADICTONARYCACHE。

如:SQL>SELECTFROMAUTHORS;

执行此命令的过程是:首先确认是否存在AUTHORS,,然后确认字段存不存在,再检查语法,最后验证权限,而这些信息就属于DATADICTIONARYCACHE的内容。其包含的信息有:DATABASEFILES,表,索引,字段,用户,权限和其他数据库对象。

<1>主要用来改变系统的感应时间和性能。

<2>通过改变SHAREDPOOL大小来设置,DATADICTIONARYCACHE不能单独设置大小

以上就是关于oracle数据库的软性体系结构全部的内容,包括:oracle数据库的软性体系结构、什么是Oracle数据库、Oracle数据库物理组建件的类型有什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10184116.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存