转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> ORACLE >> 正文
ORACLE 培训教程(1)         ★★★★

ORACLE 培训教程(1)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:5722 更新时间:2009/4/22 22:05:56
系统全局区

为一组由ORACLE分配的共享的内存结构,可包含一个数据库实例的数据或控制信息。如果多个用户同时连接到同一实例时,在实例的SGA中数据可为多个用户所共享,所以又称为共享全局区。当实例起动时,SGA的存储自动地被分配;当实例关闭时,该存储被回收。所有连接到多进程数据库实例的全部用户可自动地被分配;当实例关闭时,该存储被回收。所有连接到多进程数据库实例的全部用户可使用其SGA中的信息,但仅仅有几个进程可写入信息。在SGA中存储信息将内存划分成几个区:数据库缓冲存储区、日志缓冲区、共享池、请求和响应队列、数据字典存储区和其它各种信息。

 

程序全局区

PGA是一个内存区,包含单个进程的数据和控制信息,所以又称为进程全局区(PROCESS GLOBAL AREA)。

 

排序区

排序需要内存空间,ORACLE利用该内存排序数据,这部分空间称为排序区。排序区存在于请求排序的用户进程的内存中,该空间的大小为适就排序数据量的大小,可增长,但受初始化参数SORT-AREA-SIZER所限制。

 

2.         ORACLE的配置方案

所有连接到ORACLE的用户必须执行两个代码模块可存取一个ORACLE数据库实例:

l        应用或ORACLE工具:一数据库用户执行一数据库应用或一个ORACLE工具,可向ORACLE数据库发出SQL语句。

l        ORACLE服务器程序:负责解释和处理应用中的SQL语句。

在多进程实例中,连接用户的代码可按下列三种方案之一配置:

l        对于每一个用户,其数据库应用程序和服务器程序组合成单个用户进程

l        对于每一个用户,其数据库应用是由用户进程所运行,并有一个专用服务器进程。执行ORACLE服务器的代码。这样的配置称为专用服务器体系结构

l        执行数据库应用的进程不同于执行ORACLE服务器代码的进程,而且每一个服务器进程(执行ORACLE服务器代码)可服务于多个用户进程,这样的配置称为多线索服务器体系结构。

 

1) USER/SERVER进程相结合的结构

在这种配置下,数据库应用和ORACLE服务器程序是在同一个进程中运行,该进程称为用户进程。

这种ORACLE配置有时称为单任务ORACLE(single_task ORACLE),该配置适用于这样的操作系统,它可在同一进程中的数据库应用和ORACLE代码之间维护一个隔离,该隔离是为数据安全性和完整性所需。其中程序接口(program interface)是负责ORACLE服务器代码的隔离和保护,在数据库应用和ORACLE用户程序之间传送数据。

 

2) 使用专用服务器进程的系统结构

使用专用服务器进程的ORACLE系统在两台计算机上运行。在这种系统中,在一计算机上用户进程执行数据库应用,而在另一台计算机上的服务器进程执行相应的ORACLE服务器代码,这两个进程是分离的。为每个用户进程建立的不同的服务器进程称为专用服务器进程,因为该服务器进程仅对相连的用户进程起作用。这种配置又称为两任务ORACLE。每一个连接到ORACLE的用户进程有一个相应的专用服务进程。这种系统结构允许客户应用是有工作站上执行,通过网络与运行ORACLE的计算机通信。当客户应用和ORACLE服务器代码是在同一台计算机上执行时,这种结构也可用。

 

3) 多线索服务器的系统结构

多线索服务器配置允许许多用户进程共享很少服务器进程。在没有多线索服务器的配置中,每一个用户进程需要自己的专用服务器进程。在具有多线索服务器的配置中,许多用户进程连接到调度进程,由调度进程将客户请求发送到一个共享服务器进程。多线索服务器配置的优点是降低系统开销,增加用户个数。

 

该系统中需要下列类型的进程:

l    网络接收器进程,将用户进程连接到调度进程和专用服务器进程。

l    一个或多个调度进程

l    一个或多个共享服务器进程

其中网络接收器进程等待新来的连接请求,决定每一用户进程能否用共享服务器进程。如果可以使用,接收器进程将一调度进程的地址返回给用户进程。如果用户进程请求一专用服务器,该接收器进程将建立一个专用服务器进程,将用户进程连接到该专用服务器进程。对于数据库客户机所使用的每种网络协议至少配置一个调度进程,并启动它。

当用户作一次调用时,调度进程将请求放置在SGA的请求队列中,由可用的共享服务器进程获取。共享服务器进程为完成每一个用户进程的请求作所有必要的数据库调用。当服务器完成请求时,将结果返回到调度进程的队列,然后由调度进程将完成的请求返回给用户进程。

共享服务器进程:除共享服务器进程不是连接指定的用户进程外,共享服务器进程和专用服务器进程提供相同的功能,一个共享服务器进程在多线索服务器的配置中可为任何客户请求服务。一个共享服务器进程的SGA不包含有与用户相关的数据,其信息可为所有共享服务器进程存取,它仅包含栈空间、进程指定变量。所有与会话有关的信息是包含有SGA中。每一个共享服务器进程可存取全部会话的数据空间,以致任何服务进程可处理任何会话的请求。对于每一个会话的数据空间是在SGA中分配空间。

ORACLE根据请求队列的长度可动态地调整共享服务器进程。可建立的共享服务器进程将请求放到请求队列。一个用户请求是对数据库的一次程序接口调用,为SQL语句。在SGA中请求队列对实例的全部调度进程是公用的。服务器进程为新请求检查公用请求队列,按先进先出的原则从队列检出一个请求,然后为完成该请求对数据库作必要的调用。共享服务器进程将响应放在调度进程的响应队列。每一个调度进程在SGA中有自己的响应队列,每个调度进程负责将完成的请求回送给相应的用户进程。

 

3.ORACLE运行

1)         使用专用服务进程的ORACLE的运行

在这种配置下,ORACLE运行过程如下:

(1)    数据库服务器计算机当前正在运行ORACLE(后台进程)。

(2)    在一客户工作站运行一个数据库应用(为用户进程),如SQL*PLUS。客户应用使用SQL*NET DRIVER建立对服务器的连接。

(3)    数据库服务器计算机当前正运行合适的SQL*NET DRIVER,该机上接收器进程检出客户数据库应用的连接请求,并在该机上为用户进程建立专用服务器进程。

(4)    用户发出单个SQL语句。

(5)    专用服务器进程接收该语句,在此处有两种方法处理SQL语句:

l    如果在共享池一共享SQL区中包含有相同SQL语句时,该服务器进程可利用已存在的共享SQL区执行客户的SQL语句。

l    如果在共享池中没有一个SQL区包含有相同的SQL语句时,在共享池中为该语句分配一新的共享SQL区。

在每一种情况,在会话的PGA中建立一个专用SQL区,专用服务器进程检查用户对查询数据的存取权限。

(6) 如果需要,服务器进程从数据文件中检索数据块,或者可使用已存储在实例SGA中的缓冲存储区的数据块。

(7) 服务器进程执行存储在共享SQL区中的SQL语句。数据首先在SGA中修改,由DBWR进程在最有效时将它写入磁盘。LGWR进程在在线日志文件中记录用户提交请求的事务。

(8)如果请求成功,服务器将通过网络发送一信息。如果请求不成功,将发送相应的错误信息。

(9)在整个过程中,其它的后台进程是运行的,同时注意需要干预的条件。另外,ORACLE管理其它事务,防止不同事务之间请求同一数据的竞争。

 

 

2)    使用多线索服务器的ORACLE的运行

在这种配置下,ORACLE运行过程如下:

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  下一页


[系统软件]EXP-00008: ORACLE error 904 encountered的解决方…  [常用软件]PB7 连接 Oracle 的配置方法
[Web开发]oracle Export and Import 简介  [Web开发]ADO访问Oracle结果集的心得
[JAVA开发]JDBC+Hibernate将Blob数据写入Oracle  [JAVA开发]J2EE应用中与Oracle数据库的连接
[JAVA开发]Oracle Application Serve_  [其他]HP-UXrx2600B.11.22Uia64安装oracle9i9.2foria64手…
[其他]在RedhatEnterpriseserver3上安装oracle9iR2的注意…  [其他]PROC++批量导入导出ORACLE数据库表
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台