oracle教程-第9章 数据库服务器工作模式与数据字典

上传人:dfg****19 文档编号:252686889 上传时间:2024-11-19 格式:PPT 页数:35 大小:425KB
返回 下载 相关 举报
oracle教程-第9章 数据库服务器工作模式与数据字典_第1页
第1页 / 共35页
oracle教程-第9章 数据库服务器工作模式与数据字典_第2页
第2页 / 共35页
oracle教程-第9章 数据库服务器工作模式与数据字典_第3页
第3页 / 共35页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Oracle 10g,数据库基础教程,2009,第,9,章,数据库服务器工作模式与数据字典,本章内容,数据库服务器工作模式及其管理,数据字典的作用、结构及其应用,本章要求,掌握数据库服务器的两种工作模式及其工作原理,了解共享服务器模式的设置与管理,掌握,使用,DBCA,配置数据库服务器工作模式,掌握数据字典的作用,了解数据字典的结构及其应用,9.1,数据库服务器工作模式,专用服务器操作模式,共享服务器模式,共享服务器模式设置与管理,使用,DBCA,配置数据库服务器工作模式,9.1.1,专用服务器模式,概念,专用服务器模式是指,Oracle,为每个用户进程启动一个专门的服务器进程,该服务器进程仅为该用户进程提供服务,直到用户进程断开连接时,对应的服务器进程才终止。,服务器进程与客户进程是一对一的关系。,各个专用服务器进程之间是完全独立,它们之间没有数据共享。,下列情况下应该在采用专用服务器模式。,批处理和大任务操作时。批处理和大任务操作使服务器进程一直处于忙碌状态,减少服务器进程的空闲,减少系统资源的浪费;,使用,RMAN,进行数据库备份、恢复及执行数据库启动与关闭等操作时。,专用服务器模式体系结构,专用服务器模式工作过程,用户进程向一个数据库实例发出连接请求。,位于数据库服务器中的,Oracle,监听程序探测到用户进程请求后,首先验证用户进程提供的用户名和口令,验证通过后建议一个专用的服务器进程为该用户进程提供服务。,用户提交一条,SQL,语句。,专用服务器进程首先判断在共享,SQL,工作区中是否存在类似的,SQL,语句。如果不存在,将为这条,SQL,语句分配新的共享,SQL,工作区,然后解析该语句。在解析过程中,服务器进程将检查该语句的语法正确性。同时,该语句的私有数据和信息保存到服务器进程的,PGA,中。,解析完成后,服务器进程开始在数据高速缓冲区中寻找,SQL,语句所要求的数据。如果数据不在数据高速缓冲区中,还需要从数据文件中将所需要的数据读取到数据高速缓冲区中。,服务器进程执行,SQL,语句。如果,SQL,语句要对数据进行更改,仅在数据高速缓冲区中对缓存块进行更改,并将更改所生成的重做记录保存在重做日志缓存中。将来,由,LGWR,进程将重做记录写入重做日志文件,由,DBWR,进程将脏缓存块写入数据文件。,执行完毕后,服务器进程将结果返回给用户进程。,9.1.2,共享服务器模式,概念,所谓多线程服务器模式是指在数据库中创建并启动一定数目的服务器进程,在调度进程的帮助下,这些服务器进程可以为任意数量的用户进程提供服务,即一个服务器进程可以被多个用户进程共享,在创建数据库实例时,每个调度进程将自己的监听地址告诉,Oracle,监听程序。当监听器监听到一个用户进程后,首先检查该请求是否可以使用共享服务器进程。如果可以使用共享服务器进程,则监听器将符合条件的负载最小的调度进程的地址返回给用户进程,然后用户进程直接与该调度进程通信;如果没有找到合适的调度进程,或者用户进程请求的是专用服务器进程,则监听器将创建一个专用服务器进程为用户进程服务。在共享服务器模式中,用户请求被调度进程放入,SGA,中的一个先进先出(,First In First Out,)请求队列中。当有空闲的服务器进程时,该服务器进程从请求队列中取出一个“请求”进行处理,并将处理后的结果放入,SGA,的一个响应队列中(一个调度进程对应一个响应队列)。最后,调度进程从自己的响应队列中取出处理结果返回给用户进程。,多线程服务器模式的体系结构,多线程服务器模式工作过程,在客户端创建一个用户进程,连接数据库。,位于服务器中的,Oracle,监听程序探测到用户进程请求后,首先验证用户进程提供的用户名和口令,验证通过后将该用户进程分配给一个调度进程。用户进程直接与调度进程进行交互。,用户提交一条,SQL,语句,调度进程对,SQL,语句进行处理,然后将处理结果放入位于,SGA,中的一个“请求队列”中,同时将调度程序,ID,也存入请求队列。,当某个共享服务器进程空闲时,从“请求队列”中取出一条处理后的,SQL,语句,并对该语句进行解析和执行,得到它所请求的数据。,共享服务器进程将处理结果放入,SGA,中的一个“响应队列”中。,调度程序定期检查“响应队列”,如果发现有自己送出请求的处理结果,则将结果取出。调度程序根据处理结果中保存的调度程序,ID,来标识该结果是否是自己的。,调度程序将处理结果返回给用户进程。,9.1.3,共享服务器模式设置与管理,共享服务器模式设置,共享服务器模式管理,(,1,)共享服务器模式设置,通过设置数据库的下列参数或在数据库运行时动态设置下列参数,使数据库工作在共享服务器模式。,SHARED_SERVERS,:启动共享服务器进程的最小数量。,MAX_SHARED_SERVERS,:能够同时运行的共享服务器进程的最大数量。,SHARED_SERVER_SESSIONS,:共享服务器模式下能够同时运行的用户会话数。,DISPATCHERS,:配置共享服务器模式下的调度进程。,MAX_DISPATCHERS,:共享服务器模式下调度进程最大数量。,如果初始化参数,SHARED_SERVERS,值为,0,,那么数据库运行在专用服务器模式。要使数据库运行在共享服务器模式,必须将,SHARED_SERVERS,值设置为大于,0,。,注意:,将初始化参数,SHARED_SERVERS,由非,0,值转换为,0,值后,数据库并不能立即进入专用服务器模式,需要等待当前所有基于共享服务器模式的连接结束后,数据库才转换为专用服务器模式。,如果将参数,SHARED_SERVERS,设置为,0,的同时,参数,MAX_SHARED_SERVERS,也设置为,0,,则数据库立即进入专用服务器模式。,如果将参数,SHARED_SERVERS,设置为大于,0,,而没有配置参数,DISPATCHERS,,那么数据库将自动创建一个基于,TCP,协议的调度进程。,(,2,)共享服务器模式管理,确定数据库服务器运行模式,查询与共享服务器相关的参数可以确定数据库服务器的工作模式。,SHOW PARAMETER SHARED_SERVER,SHOW PARAMETER DISPATCHER,查询数据库中的共享服务器进程,通过查询动态性能视图,V$SHARED_SERVER,,可以查看服务器进程的状态。,SELECT*FROM V$SHARED_SERVER;,查询数据库中的调度进程,通过查询动态性能视图,V$DISPATCHER,,可以查看调度进程的状态。,SELECT*FROM V$DISPATCHER;,改变共享服务器进程的数量,修改初始参数,SHARED_SERVERS,,可以改变共享服务器进程的数量,但该数量必须在参数,SHARED_SERVERS,和,MAX_SHARED_SERVERS,之间。,ALTER SYSTEM SET SHARED_SERVERS=5;,增加调度进程的数量,通过修改初始化参数,DISPATCHERS,,可以增加调度进程的数量。,ALTER SYSTEM SET DISPATCHERS=(PROTOCOL=,tcp)(DISP,=5);,关闭调度进程,可以通过,ALTER SYSTEM SHUTDOWN,命令关闭某个调度进程。例如:,ALTER SYSTEM SHUTDOWN IMMEDIATE D004;,查看用户进程请求到的服务器进程的类型,通过查询动态性能视图,V$SESSION,判断用户进程请求到的服务器进程的类型。例如:,SELECT SID,USERNAME,SERVER FROM V$SESSION WHERE USERNAME=TEST;,修改用户的连接类型,打开客户端网络配置文件,tnsnames.ora,,在,Windows,系统中该文件的默认存放位置为,networkadmin,;,修改该文件中相应网络服务器配置中的,CONNECT_DATA,参数设置,将,SERVER,参数值由,shared,修改为,dedicated,。,9.1.4,使用,DBCA,配置数据库服务器工作模式,9.2,数据字典,数据字典的概述,数据字典的结构,数据字典的使用,9.2.1,数据字典概述,概念,Oracle,数据库的数据字典是在数据库创建的过程中创建的,由一系列表和视图构成,这些表和视图对于所有的用户(包括,DBA,),都是只读的。,只有,Oracle,系统才可以对数据字典进行管理与维护。,在,Oracle,数据库中,所有数据字典表和视图都属于,SYS,模式,存储于,SYSTEM,表空间中。,Oracle,数据字典保存数据库本身的系统信息及所有数据库对象信息,包括:,各种数据库对象的定义信息,包括表、视图、索引、同义词、序列、存储过程、函数、包、触发器及其他各种对象;,数据库存储空间分配信息,如为某个数据库对象分配了多少空间,已经使用了多少空间等;,数据库安全信息,包括用户、权限、角色、完整性等;,数据库运行时的性能和统计信息;,其他数据库本身的基本信息。,数据字典的主要用途包括:,Oracle,通过访问数据字典获取用户、模式对象、数据库对象定义与存储等信息,以判断用户权限的合法性、模式对象的存在性及存储空间的可用性等;,使用,DDL,语句修改数据库对象后,,Oracle,将在数据字典中记录所做的修改;,任何数据库用户都可以从数据字典只读视图中获取各种数据库对象信息;,DBA,可以从数据字典动态性能视图中获取数据库的运行状态,作为进行性能调整的依据。,9.2.2,数据字典的结构,数据字典结构分为,:,数据字典表,数据字典视图,根据数据字典对象的虚实性不同,可分为,:,静态数据字典,动态数据字典,静态数据字典表,静态数据字典表是在数据库创建过程中自动运行,sql.bsq,脚本创建的,由,SYS,用户所拥有,表中信息都是经过加密处理的。静态数据字典表的命名中通常包含,$,符号。只有,Oracle,才能读,/,写这些静态数据字典表。例如,静态数据字典表,tab$,。,静态数据字典视图,通过对静态数据字典表进行解密和处理,创建了一系列用户可读的静态数据字典视图。在数据库创建过程中,通过自动运行,catalog.sql,脚本创建静态数据字典视图及其公共同义词,并进行授权,如静态数据字典视图,USER_TABLES,。,动态数据字典表,动态数据字典表是在数据库实例运行过程中由,Oracle,动态创建和维护的一系列“虚表”,在实例关闭时被释放。动态数据字典表中记录与数据库运行的性能相关的统计信息,因此又称为动态性能表。通常,动态性能表的命名以,X$,开头。动态性能表由,SYS,用户所拥有,如动态性能表,X$KSPPI,。,动态数据字典视图,在动态性能表上创建的视图称为动态数据字典视图,又称为动态性能视图。所有动态性能视图命名都以,V$,开头,,Oracle,自动为这些视图创建了以,V$,开头命名的公共同义词,因此动态性能视图又称为“,V$,视图”,如动态性能视图,V$DATAFILE,。,查询数据字典信息,查询表,dictionary,,可以获得全部可以访问的数据字典表或数据字典视图的名称和解释;,查询表,dict_columns,,可以获得全部可以访问的数据字典表或数据字典视图中的字段名称和解释。,示例,SELECT*FROM dictionary;,SELECT*FROM,dict_columns,WHERE TABLE_NAME=USER_TABLES;,9.2.3,数据字典的使用,静态数据字典表的使用,静态数据字典表只能由,Oracle,进行维护,用户不能对这些表进行直接操作。,静态数据字典视图的使用,通常,用户通过对静态数据字典视图的查询可以获取所需要的所有数据库信息。,Oracle,静态数据字典视图可以分为,3,类,各类视图具有独特的前缀,.,名,称,前,缀,含,义,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!