Oracle数据库服务器工作模式与数据字典

上传人:大米 文档编号:569972990 上传时间:2024-08-01 格式:PPT 页数:35 大小:380KB
返回 下载 相关 举报
Oracle数据库服务器工作模式与数据字典_第1页
第1页 / 共35页
Oracle数据库服务器工作模式与数据字典_第2页
第2页 / 共35页
Oracle数据库服务器工作模式与数据字典_第3页
第3页 / 共35页
Oracle数据库服务器工作模式与数据字典_第4页
第4页 / 共35页
Oracle数据库服务器工作模式与数据字典_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《Oracle数据库服务器工作模式与数据字典》由会员分享,可在线阅读,更多相关《Oracle数据库服务器工作模式与数据字典(35页珍藏版)》请在金锄头文库上搜索。

1、Oracle 10g 数据库基础教程2009第第9章章数据库服务器工作模式数据库服务器工作模式与数据字典与数据字典 Oracle 10g数据库基础教程2009本章内容本章内容p数据库服务器工作模式及其管理 p数据字典的作用、结构及其应用 Oracle 10g数据库基础教程2009本章要求本章要求p掌握数据库服务器的两种工作模式及其工作原理p了解共享服务器模式的设置与管理p掌握使用DBCA配置数据库服务器工作模式p掌握数据字典的作用p了解数据字典的结构及其应用 Oracle 10g数据库基础教程20099.1数据库服务器工作模式数据库服务器工作模式 p专用服务器操作模式p共享服务器模式p共享服务

2、器模式设置与管理 p使用DBCA配置数据库服务器工作模式 Oracle 10g数据库基础教程20099.1.1专用服务器模式专用服务器模式p概念n专用服务器模式是指专用服务器模式是指Oracle为每个用户进程启动一个专门的服务为每个用户进程启动一个专门的服务器进程,该服务器进程仅为该用户进程提供服务,直到用户进程器进程,该服务器进程仅为该用户进程提供服务,直到用户进程断开连接时,对应的服务器进程才终止。断开连接时,对应的服务器进程才终止。n服务器进程与客户进程是一对一的关系。服务器进程与客户进程是一对一的关系。n各个专用服务器进程之间是完全独立,它们之间没有数据共享。各个专用服务器进程之间是完

3、全独立,它们之间没有数据共享。 p下列情况下应该在采用专用服务器模式。n批处理和大任务操作时。批处理和大任务操作使服务器进程一直批处理和大任务操作时。批处理和大任务操作使服务器进程一直处于忙碌状态,减少服务器进程的空闲,减少系统资源的浪费;处于忙碌状态,减少服务器进程的空闲,减少系统资源的浪费;n使用使用RMAN进行数据库备份、恢复及执行数据库启动与关闭等操进行数据库备份、恢复及执行数据库启动与关闭等操作时。作时。Oracle 10g数据库基础教程2009p专用服务器模式体系结构Oracle 10g数据库基础教程2009p专用服务器模式工作过程n用户进程向一个数据库实例发出连接请求。用户进程向

4、一个数据库实例发出连接请求。n位于数据库服务器中的位于数据库服务器中的Oracle监听程序探测到用户进监听程序探测到用户进程请求后,首先验证用户进程提供的用户名和口令,程请求后,首先验证用户进程提供的用户名和口令,验证通过后建议一个专用的服务器进程为该用户进程验证通过后建议一个专用的服务器进程为该用户进程提供服务。提供服务。n用户提交一条用户提交一条SQL语句。语句。n专用服务器进程首先判断在共享专用服务器进程首先判断在共享SQL工作区中是否存工作区中是否存在类似的在类似的SQL语句。如果不存在,将为这条语句。如果不存在,将为这条SQL语句语句分配新的共享分配新的共享SQL工作区,然后解析该语

5、句。在解析工作区,然后解析该语句。在解析过程中,服务器进程将检查该语句的语法正确性。同过程中,服务器进程将检查该语句的语法正确性。同时,该语句的私有数据和信息保存到服务器进程的时,该语句的私有数据和信息保存到服务器进程的PGA中。中。Oracle 10g数据库基础教程2009n解析完成后,服务器进程开始在数据高速缓冲区中寻解析完成后,服务器进程开始在数据高速缓冲区中寻找找SQL语句所要求的数据。如果数据不在数据高速缓语句所要求的数据。如果数据不在数据高速缓冲区中,还需要从数据文件中将所需要的数据读取到冲区中,还需要从数据文件中将所需要的数据读取到数据高速缓冲区中。数据高速缓冲区中。n服务器进程

6、执行服务器进程执行SQL语句。如果语句。如果SQL语句要对数据进语句要对数据进行更改,仅在数据高速缓冲区中对缓存块进行更改,行更改,仅在数据高速缓冲区中对缓存块进行更改,并将更改所生成的重做记录保存在重做日志缓存中。并将更改所生成的重做记录保存在重做日志缓存中。将来,由将来,由LGWR进程将重做记录写入重做日志文件,进程将重做记录写入重做日志文件,由由DBWR进程将脏缓存块写入数据文件。进程将脏缓存块写入数据文件。n执行完毕后,服务器进程将结果返回给用户进程。执行完毕后,服务器进程将结果返回给用户进程。Oracle 10g数据库基础教程20099.1.2 共享服务器模式共享服务器模式p概念n所

7、谓多线程服务器模式是指在数据库中创建并启动一定数目的服务器进所谓多线程服务器模式是指在数据库中创建并启动一定数目的服务器进程,在调度进程的帮助下,这些服务器进程可以为任意数量的用户进程程,在调度进程的帮助下,这些服务器进程可以为任意数量的用户进程提供服务,即一个服务器进程可以被多个用户进程共享提供服务,即一个服务器进程可以被多个用户进程共享n在创建数据库实例时,每个调度进程将自己的监听地址告诉在创建数据库实例时,每个调度进程将自己的监听地址告诉Oracle监听程序。当监听器监听到一个用户进程后,首先检查该监听程序。当监听器监听到一个用户进程后,首先检查该请求是否可以使用共享服务器进程。如果可以

8、使用共享服务器进请求是否可以使用共享服务器进程。如果可以使用共享服务器进程,则监听器将符合条件的负载最小的调度进程的地址返回给用程,则监听器将符合条件的负载最小的调度进程的地址返回给用户进程,然后用户进程直接与该调度进程通信;如果没有找到合户进程,然后用户进程直接与该调度进程通信;如果没有找到合适的调度进程,或者用户进程请求的是专用服务器进程,则监听适的调度进程,或者用户进程请求的是专用服务器进程,则监听器将创建一个专用服务器进程为用户进程服务。在共享服务器模器将创建一个专用服务器进程为用户进程服务。在共享服务器模式中,用户请求被调度进程放入式中,用户请求被调度进程放入SGA中的一个先进先出(

9、中的一个先进先出(First In First Out)请求队列中。当有空闲的服务器进程时,该服务)请求队列中。当有空闲的服务器进程时,该服务器进程从请求队列中取出一个器进程从请求队列中取出一个“请求请求”进行处理,并将处理后的进行处理,并将处理后的结果放入结果放入SGA的一个响应队列中(一个调度进程对应一个响应队的一个响应队列中(一个调度进程对应一个响应队列)。最后,调度进程从自己的响应队列中取出处理结果返回给列)。最后,调度进程从自己的响应队列中取出处理结果返回给用户进程。用户进程。 Oracle 10g数据库基础教程2009p多线程服务器模式的体系结构Oracle 10g数据库基础教程2

10、009p多线程服务器模式工作过程n在客户端创建一个用户进程,连接数据库。在客户端创建一个用户进程,连接数据库。n位于服务器中的位于服务器中的Oracle监听程序探测到用户进程请求监听程序探测到用户进程请求后,首先验证用户进程提供的用户名和口令,验证通后,首先验证用户进程提供的用户名和口令,验证通过后将该用户进程分配给一个调度进程。用户进程直过后将该用户进程分配给一个调度进程。用户进程直接与调度进程进行交互。接与调度进程进行交互。n用户提交一条用户提交一条SQL语句,调度进程对语句,调度进程对SQL语句进行处语句进行处理,然后将处理结果放入位于理,然后将处理结果放入位于SGA中的一个中的一个“请

11、求队请求队列列”中,同时将调度程序中,同时将调度程序ID也存入请求队列。也存入请求队列。n当某个共享服务器进程空闲时,从当某个共享服务器进程空闲时,从“请求队列请求队列”中取中取出一条处理后的出一条处理后的SQL语句,并对该语句进行解析和执语句,并对该语句进行解析和执行,得到它所请求的数据。行,得到它所请求的数据。 Oracle 10g数据库基础教程2009n共享服务器进程将处理结果放入共享服务器进程将处理结果放入SGA中的一个中的一个“响应响应队列队列”中。中。n调度程序定期检查调度程序定期检查“响应队列响应队列”,如果发现有自己送,如果发现有自己送出请求的处理结果,则将结果取出。调度程序根

12、据处出请求的处理结果,则将结果取出。调度程序根据处理结果中保存的调度程序理结果中保存的调度程序ID来标识该结果是否是自己来标识该结果是否是自己的。的。n调度程序将处理结果返回给用户进程。调度程序将处理结果返回给用户进程。Oracle 10g数据库基础教程20099.1.3 共享服务器模式设置与管理共享服务器模式设置与管理p共享服务器模式设置 p共享服务器模式管理 Oracle 10g数据库基础教程2009(1)共享服务器模式设置)共享服务器模式设置p通过设置数据库的下列参数或在数据库运行时动态设置下列参数,使数据库工作在共享服务器模式。nSHARED_SERVERS:启动共享服务器进程的最小数

13、量。:启动共享服务器进程的最小数量。nMAX_SHARED_SERVERS:能够同时运行的共享服务器进程:能够同时运行的共享服务器进程的最大数量。的最大数量。nSHARED_SERVER_SESSIONS:共享服务器模式下能够同时:共享服务器模式下能够同时运行的用户会话数。运行的用户会话数。nDISPATCHERS:配置共享服务器模式下的调度进程。:配置共享服务器模式下的调度进程。nMAX_DISPATCHERS:共享服务器模式下调度进程最大数量。:共享服务器模式下调度进程最大数量。p如果初始化参数SHARED_SERVERS值为0,那么数据库运行在专用服务器模式。要使数据库运行在共享服务器模

14、式,必须将SHARED_SERVERS值设置为大于0。Oracle 10g数据库基础教程2009p注意:n将初始化参数将初始化参数SHARED_SERVERS由非由非0值转换为值转换为0值后,数据库并不能立即进入专用服务器模式,需要值后,数据库并不能立即进入专用服务器模式,需要等待当前所有基于共享服务器模式的连接结束后,数等待当前所有基于共享服务器模式的连接结束后,数据库才转换为专用服务器模式。据库才转换为专用服务器模式。n如果将参数如果将参数SHARED_SERVERS设置为设置为0的同时,的同时,参数参数MAX_SHARED_SERVERS也设置为也设置为0,则数,则数据库立即进入专用服务

15、器模式。据库立即进入专用服务器模式。n如果将参数如果将参数SHARED_SERVERS设置为大于设置为大于0,而,而没有配置参数没有配置参数DISPATCHERS,那么数据库将自动,那么数据库将自动创建一个基于创建一个基于TCP协议的调度进程。协议的调度进程。Oracle 10g数据库基础教程2009(2)共享服务器模式管理)共享服务器模式管理p确定数据库服务器运行模式 n查询与共享服务器相关的参数可以确定数据库服务器查询与共享服务器相关的参数可以确定数据库服务器的工作模式的工作模式 。pSHOW PARAMETER SHARED_SERVER pSHOW PARAMETER DISPATCH

16、ER p查询数据库中的共享服务器进程 n通过查询动态性能视图通过查询动态性能视图V$SHARED_SERVER,可,可以查看服务器进程的状态。以查看服务器进程的状态。pSELECT * FROM V$SHARED_SERVER; p查询数据库中的调度进程 n通过查询动态性能视图通过查询动态性能视图V$DISPATCHER,可以查看,可以查看调度进程的状态。调度进程的状态。 pSELECT * FROM V$DISPATCHER; Oracle 10g数据库基础教程2009p改变共享服务器进程的数量 n修改初始参数修改初始参数SHARED_SERVERS,可以改变共享,可以改变共享服务器进程的数

17、量,但该数量必须在参数服务器进程的数量,但该数量必须在参数SHARED_SERVERS 和和MAX_SHARED_SERVERS 之间。之间。pALTER SYSTEM SET SHARED_SERVERS=5; p增加调度进程的数量 n通过修改初始化参数通过修改初始化参数DISPATCHERS,可以增加调,可以增加调度进程的数量。度进程的数量。pALTER SYSTEM SET DISPATCHERS=(PROTOCOL=tcp)(DISP=5); Oracle 10g数据库基础教程2009p关闭调度进程n可以通过可以通过ALTER SYSTEM SHUTDOWN命令关闭命令关闭某个调度进程

18、。例如:某个调度进程。例如:pALTER SYSTEM SHUTDOWN IMMEDIATE D004; p查看用户进程请求到的服务器进程的类型n通过查询动态性能视图通过查询动态性能视图V$SESSION判断用户进程请判断用户进程请求到的服务器进程的类型。例如:求到的服务器进程的类型。例如:pSELECT SID,USERNAME,SERVER FROM V$SESSION WHERE USERNAME=TEST;Oracle 10g数据库基础教程2009p修改用户的连接类型 n打开客户端网络配置文件打开客户端网络配置文件tnsnames.ora,在,在Windows系统中该文件的默认存放位置

19、为系统中该文件的默认存放位置为networkadmin; n修改该文件中相应网络服务器配置中的修改该文件中相应网络服务器配置中的CONNECT_DATA 参数设置,将参数设置,将SERVER参数值由参数值由shared修改为修改为dedicated。Oracle 10g数据库基础教程20099.1.4 使用使用DBCA配置数据库服务器配置数据库服务器工作模式工作模式Oracle 10g数据库基础教程2009Oracle 10g数据库基础教程2009Oracle 10g数据库基础教程2009Oracle 10g数据库基础教程20099.2 数据字典数据字典p数据字典的概述 p数据字典的结构p数据

20、字典的使用 Oracle 10g数据库基础教程20099.2.1 数据字典概述数据字典概述p概念nOracle数据库的数据字典是在数据库创建的过程中创数据库的数据字典是在数据库创建的过程中创建的,由一系列表和视图构成,这些表和视图对于所建的,由一系列表和视图构成,这些表和视图对于所有的用户(包括有的用户(包括DBA),都是只读的。),都是只读的。n只有只有Oracle系统才可以对数据字典进行管理与维护。系统才可以对数据字典进行管理与维护。n在在Oracle数据库中,所有数据字典表和视图都属于数据库中,所有数据字典表和视图都属于SYS模式,存储于模式,存储于SYSTEM表空间中。表空间中。Ora

21、cle 10g数据库基础教程2009pOracle数据字典保存数据库本身的系统信息及所有数据库对象信息,包括:n各种数据库对象的定义信息,包括表、视图、索引、各种数据库对象的定义信息,包括表、视图、索引、同义词、序列、存储过程、函数、包、触发器及其他同义词、序列、存储过程、函数、包、触发器及其他各种对象;各种对象;n数据库存储空间分配信息,如为某个数据库对象分配数据库存储空间分配信息,如为某个数据库对象分配了多少空间,已经使用了多少空间等;了多少空间,已经使用了多少空间等;n数据库安全信息,包括用户、权限、角色、完整性等;数据库安全信息,包括用户、权限、角色、完整性等;n数据库运行时的性能和统

22、计信息;数据库运行时的性能和统计信息;n其他数据库本身的基本信息。其他数据库本身的基本信息。Oracle 10g数据库基础教程2009p数据字典的主要用途包括:nOracle通过访问数据字典获取用户、模式对象、数据通过访问数据字典获取用户、模式对象、数据库对象定义与存储等信息,以判断用户权限的合法性、库对象定义与存储等信息,以判断用户权限的合法性、模式对象的存在性及存储空间的可用性等;模式对象的存在性及存储空间的可用性等;n使用使用DDL语句修改数据库对象后,语句修改数据库对象后,Oracle将在数据字将在数据字典中记录所做的修改;典中记录所做的修改;n任何数据库用户都可以从数据字典只读视图中

23、获取各任何数据库用户都可以从数据字典只读视图中获取各种数据库对象信息;种数据库对象信息;nDBA可以从数据字典动态性能视图中获取数据库的运可以从数据字典动态性能视图中获取数据库的运行状态,作为进行性能调整的依据。行状态,作为进行性能调整的依据。 Oracle 10g数据库基础教程20099.2.2 数据字典的结构数据字典的结构p数据字典结构分为: n数据字典表数据字典表n数据字典视图数据字典视图p根据数据字典对象的虚实性不同,可分为: n静态数据字典静态数据字典n动态数据字典动态数据字典 Oracle 10g数据库基础教程2009p静态数据字典表n静态数据字典表是在数据库创建过程中自动运行静态

24、数据字典表是在数据库创建过程中自动运行sql.bsq脚本创建的,由脚本创建的,由SYS用户所拥有,表中信息用户所拥有,表中信息都是经过加密处理的。静态数据字典表的命名中通常都是经过加密处理的。静态数据字典表的命名中通常包含包含$符号。只有符号。只有Oracle才能读才能读/写这些静态数据字写这些静态数据字典表。例如,静态数据字典表典表。例如,静态数据字典表tab$。p静态数据字典视图n通过对静态数据字典表进行解密和处理,创建了一系通过对静态数据字典表进行解密和处理,创建了一系列用户可读的静态数据字典视图。在数据库创建过程列用户可读的静态数据字典视图。在数据库创建过程中,通过自动运行中,通过自动

25、运行catalog.sql脚本创建静态数据字脚本创建静态数据字典视图及其公共同义词,并进行授权,如静态数据字典视图及其公共同义词,并进行授权,如静态数据字典视图典视图USER_TABLES。Oracle 10g数据库基础教程2009p动态数据字典表n动态数据字典表是在数据库实例运行过程中由动态数据字典表是在数据库实例运行过程中由Oracle动态创建和动态创建和维护的一系列维护的一系列“虚表虚表”,在实例关闭时被释放。动态数据字典表,在实例关闭时被释放。动态数据字典表中记录与数据库运行的性能相关的统计信息,因此又称为动态性中记录与数据库运行的性能相关的统计信息,因此又称为动态性能表。通常,动态性

26、能表的命名以能表。通常,动态性能表的命名以X$开头。动态性能表由开头。动态性能表由SYS用用户所拥有,如动态性能表户所拥有,如动态性能表X$KSPPI。p动态数据字典视图n在动态性能表上创建的视图称为动态数据字典视图,又称为动态在动态性能表上创建的视图称为动态数据字典视图,又称为动态性能视图。所有动态性能视图命名都以性能视图。所有动态性能视图命名都以V$开头,开头,Oracle自动为自动为这些视图创建了以这些视图创建了以V$开头命名的公共同义词,因此动态性能视图开头命名的公共同义词,因此动态性能视图又称为又称为“V$视图视图”,如动态性能视图,如动态性能视图V$DATAFILE。Oracle

27、10g数据库基础教程2009p查询数据字典信息n查询表查询表dictionary,可以获得全部可以访问的数据字,可以获得全部可以访问的数据字典表或数据字典视图的名称和解释;典表或数据字典视图的名称和解释;n查询表查询表dict_columns,可以获得全部可以访问的数,可以获得全部可以访问的数据字典表或数据字典视图中的字段名称和解释。据字典表或数据字典视图中的字段名称和解释。p示例nSELECT * FROM dictionary;nSELECT * FROM dict_columns WHERE TABLE_NAME=USER_TABLES;Oracle 10g数据库基础教程20099.2.

28、3 数据字典的使用数据字典的使用p静态数据字典表的使用n静态数据字典表只能由静态数据字典表只能由Oracle进行维护,用户不能对这些表进进行维护,用户不能对这些表进行直接操作。行直接操作。 p静态数据字典视图的使用静态数据字典视图的使用n通常,用户通过对静态数据字典视图的查询可以获取所需要的所通常,用户通过对静态数据字典视图的查询可以获取所需要的所有数据库信息。有数据库信息。nOracle静态数据字典视图可以分为静态数据字典视图可以分为3类,各类视图具有独特的前类,各类视图具有独特的前缀缀. 名 称 前 缀含 义USER_包含了当前数据库用户所拥有的所有模式对象的信息ALL_包含了当前数据库用

29、户可以访问的所有模式对象的信息DBA_包含了所有数据库对象信息,只有具有DBA角色的用户才能够访问这些视图Oracle 10g数据库基础教程2009p动态性能表的使用 n动态性能表都属于动态性能表都属于SYS用户,用户,Oracle使用这些表生成使用这些表生成动态性能视图。动态性能视图。p动态性能视图的使用n动态性能视图是动态性能视图是SYS用户所拥有的,在默认情况下,用户所拥有的,在默认情况下,只有只有SYS用户和拥有用户和拥有DBA角色的用户可以访问。角色的用户可以访问。n与静态数据字典表和视图不同,在数据库启动的不同与静态数据字典表和视图不同,在数据库启动的不同阶段只能访问不同的动态性能

30、视图。阶段只能访问不同的动态性能视图。 Oracle 10g数据库基础教程2009p当数据库启动到NOMOUNT状态时:nOracle数据库打开初始化参数文件,分配数据库打开初始化参数文件,分配SGA并启动后台进程,并启动后台进程,因此只能访问从因此只能访问从SGA中获得信息的动态性能视图,如中获得信息的动态性能视图,如V$PARAMETER,V$SGA,V$SESSION,V$PROCESSE,V$INSTANCE,V$VERSION,V$OPTION 等。等。p当数据库启动到MOUNT状态时:nOracle打开控制文件,因此不仅能访问从打开控制文件,因此不仅能访问从SGA中获得信息的动中获得信息的动态性能视图,还可以访问从控制文件中获得信息的动态性能视图,态性能视图,还可以访问从控制文件中获得信息的动态性能视图,如如V$LOG,V$LOGFILE,V$DATAFILE,V$CONTROLFILE,V$DATABASE,V$THREAD,V$DATAFILE_ HEADER等。等。p当数据库完全启动后:n可以访问可以访问V_$fixed_table表中所有的动态性能视图。表中所有的动态性能视图。Oracle 10g数据库基础教程2009总结总结p数据库服务器的两种工作模式p共享服务器模式的设置与管理p数据字典的概念、结构及其使用

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号