版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第9章数据库服务器工作模式与数据字典,本章内容,数据库服务器工作模式及其管理 数据字典的作用、结构及其应用,本章要求,掌握数据库服务器的两种工作模式及其工作原理 了解共享服务器模式的设置与管理 掌握使用DBCA配置数据库服务器工作模式 掌握数据字典的作用 了解数据字典的结构及其应用,9.1数据库服务器工作模式,专用服务器操作模式 共享服务器模式 共享服务器模式设置与管理 使用DBCA配置数据库服务器工作模式,9.1.1专用服务器模式,概念 专用服务器模式是指Oracle为每个用户进程启动一个专门的服务器进程,该服务器进程仅为该用户进程提供服务,直到用户进程断开连接时,对应的服务器进程才终止。
2、服务器进程与客户进程是一对一的关系。 各个专用服务器进程之间是完全独立,它们之间没有数据共享。 下列情况下应该在采用专用服务器模式。 批处理和大任务操作时。批处理和大任务操作使服务器进程一直处于忙碌状态,减少服务器进程的空闲,减少系统资源的浪费; 使用RMAN进行数据库备份、恢复及执行数据库启动与关闭等操作时,专用服务器模式体系结构,专用服务器模式工作过程 用户进程向一个数据库实例发出连接请求。 位于数据库服务器中的Oracle监听程序探测到用户进程请求后,首先验证用户进程提供的用户名和口令,验证通过后建议一个专用的服务器进程为该用户进程提供服务。 用户提交一条SQL语句。 专用服务器进程首先
3、判断在共享SQL工作区中是否存在类似的SQL语句。如果不存在,将为这条SQL语句分配新的共享SQL工作区,然后解析该语句。在解析过程中,服务器进程将检查该语句的语法正确性。同时,该语句的私有数据和信息保存到服务器进程的PGA中,解析完成后,服务器进程开始在数据高速缓冲区中寻找SQL语句所要求的数据。如果数据不在数据高速缓冲区中,还需要从数据文件中将所需要的数据读取到数据高速缓冲区中。 服务器进程执行SQL语句。如果SQL语句要对数据进行更改,仅在数据高速缓冲区中对缓存块进行更改,并将更改所生成的重做记录保存在重做日志缓存中。将来,由LGWR进程将重做记录写入重做日志文件,由DBWR进程将脏缓存
4、块写入数据文件。 执行完毕后,服务器进程将结果返回给用户进程,9.1.2 共享服务器模式,概念 所谓多线程服务器模式是指在数据库中创建并启动一定数目的服务器进程,在调度进程的帮助下,这些服务器进程可以为任意数量的用户进程提供服务,即一个服务器进程可以被多个用户进程共享 在创建数据库实例时,每个调度进程将自己的监听地址告诉Oracle监听程序。当监听器监听到一个用户进程后,首先检查该请求是否可以使用共享服务器进程。如果可以使用共享服务器进程,则监听器将符合条件的负载最小的调度进程的地址返回给用户进程,然后用户进程直接与该调度进程通信;如果没有找到合适的调度进程,或者用户进程请求的是专用服务器进程
5、,则监听器将创建一个专用服务器进程为用户进程服务。在共享服务器模式中,用户请求被调度进程放入SGA中的一个先进先出(First In First Out)请求队列中。当有空闲的服务器进程时,该服务器进程从请求队列中取出一个“请求”进行处理,并将处理后的结果放入SGA的一个响应队列中(一个调度进程对应一个响应队列)。最后,调度进程从自己的响应队列中取出处理结果返回给用户进程,多线程服务器模式的体系结构,多线程服务器模式工作过程 在客户端创建一个用户进程,连接数据库。 位于服务器中的Oracle监听程序探测到用户进程请求后,首先验证用户进程提供的用户名和口令,验证通过后将该用户进程分配给一个调度进
6、程。用户进程直接与调度进程进行交互。 用户提交一条SQL语句,调度进程对SQL语句进行处理,然后将处理结果放入位于SGA中的一个“请求队列”中,同时将调度程序ID也存入请求队列。 当某个共享服务器进程空闲时,从“请求队列”中取出一条处理后的SQL语句,并对该语句进行解析和执行,得到它所请求的数据,共享服务器进程将处理结果放入SGA中的一个“响应队列”中。 调度程序定期检查“响应队列”,如果发现有自己送出请求的处理结果,则将结果取出。调度程序根据处理结果中保存的调度程序ID来标识该结果是否是自己的。 调度程序将处理结果返回给用户进程,9.1.3 共享服务器模式设置与管理,共享服务器模式设置 共享
7、服务器模式管理,1)共享服务器模式设置,通过设置数据库的下列参数或在数据库运行时动态设置下列参数,使数据库工作在共享服务器模式。 SHARED_SERVERS:启动共享服务器进程的最小数量。 MAX_SHARED_SERVERS:能够同时运行的共享服务器进程的最大数量。 SHARED_SERVER_SESSIONS:共享服务器模式下能够同时运行的用户会话数。 DISPATCHERS:配置共享服务器模式下的调度进程。 MAX_DISPATCHERS:共享服务器模式下调度进程最大数量。 如果初始化参数SHARED_SERVERS值为0,那么数据库运行在专用服务器模式。要使数据库运行在共享服务器模式
8、,必须将SHARED_SERVERS值设置为大于0,注意: 将初始化参数SHARED_SERVERS由非0值转换为0值后,数据库并不能立即进入专用服务器模式,需要等待当前所有基于共享服务器模式的连接结束后,数据库才转换为专用服务器模式。 如果将参数SHARED_SERVERS设置为0的同时,参数MAX_SHARED_SERVERS也设置为0,则数据库立即进入专用服务器模式。 如果将参数SHARED_SERVERS设置为大于0,而没有配置参数DISPATCHERS,那么数据库将自动创建一个基于TCP协议的调度进程,2)共享服务器模式管理,确定数据库服务器运行模式 查询与共享服务器相关的参数可以确
9、定数据库服务器的工作模式 。 SHOW PARAMETER SHARED_SERVER SHOW PARAMETER DISPATCHER 查询数据库中的共享服务器进程 通过查询动态性能视图V$SHARED_SERVER,可以查看服务器进程的状态。 SELECT * FROM V$SHARED_SERVER; 查询数据库中的调度进程 通过查询动态性能视图V$DISPATCHER,可以查看调度进程的状态。 SELECT * FROM V$DISPATCHER,改变共享服务器进程的数量 修改初始参数SHARED_SERVERS,可以改变共享服务器进程的数量,但该数量必须在参数SHARED_SERV
10、ERS 和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判断用户进程请求到的服务器进程的类型。
11、例如: 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数据库的数据字典是在数据库创建的过程中
12、创建的,由一系列表和视图构成,这些表和视图对于所有的用户(包括DBA),都是只读的。 只有Oracle系统才可以对数据字典进行管理与维护。 在Oracle数据库中,所有数据字典表和视图都属于SYS模式,存储于SYSTEM表空间中,Oracle数据字典保存数据库本身的系统信息及所有数据库对象信息,包括: 各种数据库对象的定义信息,包括表、视图、索引、同义词、序列、存储过程、函数、包、触发器及其他各种对象; 数据库存储空间分配信息,如为某个数据库对象分配了多少空间,已经使用了多少空间等; 数据库安全信息,包括用户、权限、角色、完整性等; 数据库运行时的性能和统计信息; 其他数据库本身的基本信息,数
13、据字典的主要用途包括: Oracle通过访问数据字典获取用户、模式对象、数据库对象定义与存储等信息,以判断用户权限的合法性、模式对象的存在性及存储空间的可用性等; 使用DDL语句修改数据库对象后,Oracle将在数据字典中记录所做的修改; 任何数据库用户都可以从数据字典只读视图中获取各种数据库对象信息; DBA可以从数据字典动态性能视图中获取数据库的运行状态,作为进行性能调整的依据,9.2.2 数据字典的结构,数据字典结构分为: 数据字典表 数据字典视图 根据数据字典对象的虚实性不同,可分为: 静态数据字典 动态数据字典,静态数据字典表 静态数据字典表是在数据库创建过程中自动运行sql.bsq
14、脚本创建的,由SYS用户所拥有,表中信息都是经过加密处理的。静态数据字典表的命名中通常包含$符号。只有Oracle才能读/写这些静态数据字典表。例如,静态数据字典表tab$。 静态数据字典视图 通过对静态数据字典表进行解密和处理,创建了一系列用户可读的静态数据字典视图。在数据库创建过程中,通过自动运行catalog.sql脚本创建静态数据字典视图及其公共同义词,并进行授权,如静态数据字典视图USER_TABLES,动态数据字典表 动态数据字典表是在数据库实例运行过程中由Oracle动态创建和维护的一系列“虚表”,在实例关闭时被释放。动态数据字典表中记录与数据库运行的性能相关的统计信息,因此又称
15、为动态性能表。通常,动态性能表的命名以X$开头。动态性能表由SYS用户所拥有,如动态性能表X$KSPPI。 动态数据字典视图 在动态性能表上创建的视图称为动态数据字典视图,又称为动态性能视图。所有动态性能视图命名都以V$开头,Oracle自动为这些视图创建了以V$开头命名的公共同义词,因此动态性能视图又称为“V$视图”,如动态性能视图V$DATAFILE,查询数据字典信息 查询表dictionary,可以获得全部可以访问的数据字典表或数据字典视图的名称和解释; 查询表dict_columns,可以获得全部可以访问的数据字典表或数据字典视图中的字段名称和解释。 示例 SELECT * FROM
16、dictionary; SELECT * FROM dict_columns WHERE TABLE_NAME=USER_TABLES,9.2.3 数据字典的使用,静态数据字典表的使用 静态数据字典表只能由Oracle进行维护,用户不能对这些表进行直接操作。 静态数据字典视图的使用 通常,用户通过对静态数据字典视图的查询可以获取所需要的所有数据库信息。 Oracle静态数据字典视图可以分为3类,各类视图具有独特的前缀,动态性能表的使用 动态性能表都属于SYS用户,Oracle使用这些表生成动态性能视图。 动态性能视图的使用 动态性能视图是SYS用户所拥有的,在默认情况下,只有SYS用户和拥有DBA角色的用户可以访问。 与静态数据字典表和视图不同,在数据库启动的不同阶段只能访问不同的动态性能视图,当数据库启动到NOMOUNT状态时: Oracle数据库打开初始化参数文件,分配SGA并启动后台进程,因此只能访问从SGA中获得信息的动态性能视图,如V$PARAMETER,V$SGA,V$SESSION,V$PROCESSE,V$INSTANCE,V$VERS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度童鞋虚拟现实购销合同2篇
- 2024年度库存管理及动产质押服务合同3篇
- 夫妻之间签订的忠诚协议书
- 家政公司三方保姆合同范本
- 2024年度二手房买卖合同税收优惠政策4篇
- 会议服务合同模板
- 民间借款合同(2024版)
- 绿化项目景观照明设计合同(2024年度)
- 员工2024个人劳务合同电子版
- 2024年度医疗保险服务协议3篇
- 大众朗逸2011款说明书
- 2.1 流程的探析 课件高中通用技术苏教版(2019)必修《技术与设计2》
- 电泳车间安全操作规程
- 班主任工作技能智慧树知到答案章节测试2023年杭州师范大学
- 企业EHS风险管理基础智慧树知到答案章节测试2023年华东理工大学
- 中药鉴定的基础知识
- 六年级上册语文课件-第五单元习作指导人教(部编版)
- JJF 1049-1995温度传感器动态响应校准
- 小学生安全教育完整课件
- 国家开放大学电大《课程与教学论》形考任务4试题及答案
- 高二班家长会课件
评论
0/150
提交评论