ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:61.72KB ,
资源ID:6686246      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6686246.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Oracle 体系结构.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Oracle 体系结构.docx

1、Oracle 体系结构Oracle 体系结构前面介绍了能使user与DB交互的各种方法。使用这些方法需要一个user帐号通过network与DB保持连接。user还需要足够的储存空间,以确保他们能够进行INSERT或者是从硬件失败中恢复事务。作为DBA,你必须应付这些事,还有以下一些情况也需要你来应对: 选择服务器的硬件 创建DB 创建和管理存有Data的table和其它对象 创建和管理user帐户 建立可靠的备份和恢复 监督和调优DB性能 本书的剩下部分将全力帮助你理解如何做好这些管理工作。但是,要想做一个成功的Oracle DBA,你需要完全理解Oracle的体系结构和运行机制;理解Ora

2、cle内存组织和后台进程(BGP)之间的关系;理解I/O行为,这些对于管理DB是至关重要的。.Oracle体系结构可以从以下3个方面描述: 与用户相关的进程 称为DB实例的整个内存逻辑结构 称为DB的整个物理逻辑结构 图1.11描述了DB和Instance结构:此图初看起来很复杂,我们将在下面为你介绍各个组成部分,先从user process开始。Oracle DB和Instance一起被称为Oracle server。User Process在用户层有User Process和Server Process两个进程保证User能够与Instance交互,并最终与DB交互。只要user运行应用程

3、序,Oracle 就开始一个 User Process使得user可以连接到Instance。根据Oracle Server的构成的不同,User Process 可以在User自己的PC上,或是在中间层的Server上。User Process 建立与instance的连接。 Oracle调用保持User Process和 instance 连接的进程。 连接建立后,user在Oracle的Instance中就有一个会话(session)。session建立后,user就在host上建立了 Server Process 。就是这个 Server Process真正负责User和DB交互。交互

4、包括:发送SQL 到DB,从物理文件中检索需要的数据,为User返回数据等。一般来讲,一个ServerProcess为一个UserProcess服务,但是在某种配置下,一个ServerProcess也可为多个UserProcess服务,可以参考第5章除了User和Server processe外,Oracle为每个User建立了一个内存结构,称为 Program Global Area (PGA) 。PGA 存储了User的session 的细节信息, 绑定变量、Session变量等。每个 Server Process 都有 PGA 。图 1.12 说明了User Process, Serve

5、r Processes, PGA, session之间的关系:Server Process 响应User的请求与 Oracle instance 进行通讯。下面介绍Instance。Oracle 实例Oracle instance由Oracle称为System Global Area (SGA)内存结构, Oracle 后台进程组成。 当user 访问database中的Data时,Server Process与SGA进行通讯。System Global AreaSGA由3个必须的组成部分和3个可选的组成部分构成。SGA Component说明Shared Pool缓存最近用户提交的SQLDB

6、 Buffer Cache缓存最近用户访问的数据Redo Log Buffer保存事务信息Java Pool如果Oracle的JVM在使用,缓存最近使用的Java对象和应用代码Large Pool为大的操作缓存数据,比如恢复管理器,备份和恢复,共享Server组件Streams Pool当使用Oracle的高级队列选项时,缓存请求消息队列访问的数据Oracle 采用 least recently used (LRU) 算法管理 Shared Pool和Database Buffer Cache的内容。当user的Server Process 要把一条SQL 放入Shared Pool 或者把D

7、B里的一个数据块复制到Buffer Cache时,Oracle把最近没有用过的SQL或Data,替换出内存。 通过这种技术,Oracle 使得最常用的SQL和Data保存在内存中,减少对硬盘的访问,提高总体性能。SGA大小可以手工设定也可以自动设定。手工设定必须指明SGA中每个部分的大小,然后根据应用的需要调整之。自动设定Oracle指定每个部分的大小,并且监视他们的使用情况,自动调整之,当然这种调整不能超过给定的SGA的最大值。无论是手动或自动设置, Oracle 在运行时把SGA by dividing the 分成小块,叫做granules。这些 granules 在SGA的各个部分之间

8、动态的回收和再分配,以满足应用的需要。根据OS和SGA大小的不同,granules可以是4M,8M,16M,不等。手动或自动设置取决于参数文件的设置。有以下两种参数文件:Parameter Files (PFILES),和Server Parameter Files (SPFILES)。你能用这两种中的任何一个配置instance和database,包括SGA 的大小:如果是手动模式的话,还可以配置SGA个部分的大小;自动模式设置SGA的总量。这两种参数文件的区别如下:PFILESPFILE可用文本编辑器编辑的文本文件不能直接编辑的二进制文件改变PFILE的参数后,必须重起Instance才可

9、生效SPFILE的大部分改变是动态的,不需要重起名字是Instance的名字+.ora名字是Spfile+Instance的名字+.ora可以用命令行:create pfile from spfile 来创建可以用命令行:create spfile from pfile 来创建如果是自动的SGA管理,需要用SPFILE来进行优化。关于SPFILE和PFILE的默认位置,将在本章后面的“OFA Directory Paths”中详细阐述。你可以在 PFILE 或SPFILE里详细配置超过250个参数。 Oracle 10g 把这些参 数分成两类:基本参数和高级参数。 Oracle建议你手工设置大

10、约30 基本初始参数。 Oracle 还建议你不要修改剩余的 220 参数,除非是Oracle支持人员来改,或是你为了满足应用的特殊需要。下表中列 出了基本参数:参数名说明CLUSTER_DATABASE告诉Instance这是否是一个CLUSTER环境COMPATIBLE你想要使用的Instance的版本CONTROL_FILEDB控制文件的物理地址DB_BLOCK_SIZEDB的Block的默认大小DB_CREATE_FILE_DESTDB的数据文件的目录DB_CREATE_ONLINE_LOG_DEST_nDB的第n个Log文件的位置DB_DOMAINDB在网上的逻辑地址DB_NAME要

11、在其上启动实例的DB名称DB_RECOVER_FILE_DEST使用闪回特性,明确DB的恢复数据的存放地址DB_RECOVER_FILE_DEST_SIZE如果使用闪回特性,DB的恢复数据的大小DB_UNIQUE_NAMEDB的唯一名字INSTANCE_NUMBER在Real Application Clusters(RAC)环境中标明InstanceJOB_QUEUE_PROCESSES后台进程的个数,这些进程负责处理EM和DBMS_JOBS下达的指令 LOG_ARCHIVE_DEST_n最多9个的脱机日志的位置LOG_ARCHIVE_DEST_STATE_n第n个脱机日志的位置在生成日志时

12、的状态。NLS_LANGUAGEDB的默认语言NLS_TERRITORYDB的默认地域OPEN_CURSORS明确DB的Block的每个session可以打开游标的最大值PGA_AGGREGATE_TARGETPGA消化内存的最大允许值PROCESSES连接到Instance的系统进程的个数的最大值REMOTE_LISTENER有远程Oracle Net Listener的Network名称REMOTE_LOGIN_PASSWORDFILE决定Instance是否使用PasswordFile,以及它的类型ROLLBACK_SEGMENTS当自动恢复管理没有设定时使用SESSIONS连接到DB的

13、session个数的最大值SGA_TARGETSGA的最大值SHARED_SERVERS共享Server Process的数量,详见第5章STAR_TRANSFORMATION_ENABLED执行查询时是否优化查询,详见第9章UNDO_MANAGEMENT自动或手动Undo管理,详见第8章UNDO_TABLESPACE如果使用自动undo管理,undo segment的表空间,详见第8章如上表所示,许多初始参数都是用来配置SGA的大小和其各个部分的。在PFILE 或SPFILE 没有设置的参数,取他们的默认值。下面的例子是一个典型的 Unix Oracle 10g 的PFILE中的基本和高级参

14、数:db_block_size=8192db_file_multiblock_read_count=16open_cursors=300db_name=PRODbackground_dump_dest=/u01/app/oracle/admin/PROD/bdumpcore_dump_dest=/u01/app/oracle/admin/PROD/cdumpuser_dump_dest=/u01/app/oracle/admin/PROD/udumpcontrol_files=(/u02/oradata/PROD/control01.ctl,/u03/oradata/PROD/control0

15、2.ctl,/u05/oradata/PROD/control03.ctl)db_recovery_file_dest=/u01/app/oracle/flash_recovery_area/db_recovery_file_dest_size=2147483648job_queue_processes=10compatible=10.1.0.2.0sga_target=500Mmax_sga_size=800Mprocesses=250remote_login_passwordfile=EXCLUSIVEpga_aggregate_target=25165824sort_area_size=

16、65536undo_management=AUTOundo_tablespace=UNDOTBS1在这个PFILE例子中,SGA中各部分的大小没有分别指定,而是由Oracle 10g自动分配的,你仅仅设置了SGA_TARGETSGA总的容量。当instance启动时, Oracle 自动分配了 SGA 各个部分的大小,并且在DB允许过程中动态地重新分配以达到最佳性能。除了参考PFILE/SPFILE,你可以使用V$SGA 和V$SGA_DYNAMIC_COMPONENTS 这两个dynamic performance view 显示SGA和其各个部分的大小:SQL select *2 from

17、 V$SGA;NAME VALUE- -Fixed Size 787988Variable Size 145750508Database Buffers 25165824Redo Buffers 262144结果显示SGA 为171,966,464 bytes。它是由Shared Pool,Large Pool,Java Pool 组成的Variable Size(145,750,508 bytes),Database Buffer Cache (25,165,824 bytes),Redo Log Buffer (262,144 bytes), 和存储Instance后台进程的其它信息Fix

18、ed Size(787,988 bytes) 组成。V$SGA_DYNAMIC_COMPONENTS view 显示了更多SGA的细节,如下所示:SQL select component,current_size2 from v$sga_dynamic_components;COMPONENT CURRENT_SIZE- -shared pool 83886080large pool 8388608java pool 50331648streams pool 0DEFAULT buffer cache 25165824KEEP buffer cache 0RECYCLE buffer cach

19、e 0DEFAULT 2K buffer cache 0DEFAULT 4K buffer cache 0DEFAULT 8K buffer cache 0DEFAULT 16K buffer cache 0DEFAULT 32K buffer cache 0OSM Buffer Cache 013 rows selected.结果一目了然。当然,你还可以使用EM来浏览SGA的情况。Oracle后台进程Oracle有很多 background processes.每一个完成他们对instance的特定工作。Oracle 有5个必须的background processes,还有一些可选的。可选

20、进程取决于 DB中Oracle的特性。下面分别是必须的和可选的进程列表:SGA必须的5个进程Pocess NameOS Process说明System MonitorSMON从Instance崩溃后恢复Instance,重组DB中的free space,管理用 于排序的空间Process MonitorPMON清除user失败的连接DB writerDBWn将SGA的DB buffer cache中的脏数据写入硬盘Log WriterLGWR把SGA中的Redo Log BUffer的事务恢复信息写入联机日志CheckPointCKPTCheckPoint事件发生后,把内存的data信息全部更

21、新到DBSGA可选的进程Pocess NameOS Process说明ArchiverARCn把LGWR写入联机日志的事务恢复信息,拷贝到第二个地点RecoverRECO把分布式数据库中的失败的事务信息恢复Job Queue MonitorCJQn使用Orcal作业计划特性时,为Job对列进程分配作业Job QueueJnnn使用Orcal作业计划特性时,执行计划好的DB作业Queue MonitorQMNn当使用Oracle高级对列特性时,监视消息对列的消息Parallel Query SlaveQnnn当使用Oracle并行查询特性时,实现查询的一部分DispatcherDnnn当使用共享

22、ServerProcess特性时,把user的DB访问请求加入共享ServerProcess服务等待对列Shared ServerSnnn当使用共享ServerProcess特性时,被几个user共享的ServerProcessMemory ManagerMMAN当SGA自动分配时,管理SGA的各个组成的大小Memory MonitorMMONGathers and analyzes statistics used by the Automatic Workload Repository feature. See Chapter 9 for more information on using

23、this feature.Memory Monitor LightMMNLGathers and analyzes statistics used by the Automatic Workload Repository feature. See Chapter 9 for more information on using this feature.Recovery WriterRVWR当使用闪回特性时,把恢复信息写入硬盘Change Tracking WriterCTWRKeeps track of which database blocks have changed when Oracl

24、es incremental Recovery Manager feature is used. See Chapters 10 and 11 for details on using Recovery Manager to perform backups.在Unix上,你可以用系统命令ps查看后台进程:$ ps -ef |grep PRODoracle 3969 1 0 10:02 ? 00:00:05 ora_pmon_PRODoracle 3971 1 0 10:02 ? 00:00:00 ora_mman_PRODoracle 3973 1 0 10:02 ? 00:00:07 ora

25、_dbw0_PRODoracle 3975 1 0 10:02 ? 00:00:07 ora_lgwr_PRODoracle 3977 1 0 10:02 ? 00:00:10 ora_ckpt_PRODoracle 3979 1 0 10:02 ? 00:00:20 ora_smon_PRODoracle 3981 1 0 10:02 ? 00:00:00 ora_reco_PRODoracle 3983 1 0 10:02 ? 00:00:09 ora_cjq0_PRODoracle 3985 1 0 10:02 ? 00:00:00 ora_d000_PRODoracle 3987 1

26、0 10:02 ? 00:00:00 ora_s000_PRODoracle 4052 1 0 10:02 ? 00:00:00 ora_qmnc_PRODoracle 4054 1 0 10:02 ? 00:00:29 ora_mmon_PRODoracle 4057 1 0 10:02 ? 00:00:08 ora_mmnl_PRODoracle 4059 1 0 10:02 ? 00:01:04 ora_j000_PRODoracle 27544 1 0 20:29 ? 00:00:00 ora_q000_PROD说明此Unix上oracle instance运行的有15个后台进程。us

27、er的process 不是Instance的一部分。在Windows中,有一个名为OracleServiceInstanceName的进程,要使Instance启动,此进程必须启动。Oracle DBinstance是内存中的临时结构,而 Oracle database 是由主机硬盘上的一系列物理文件组成。这些文件包括控制文件(control files), 数据文件(datafiles),和日志文件(redo logs)。此外,还有与DB有关的但是不属于DB一部分的password file、前面介绍过的PFILE 、SPFILE、所有脱机的日志。下表总结了所有这些文件在DB体系中的作用:第

28、2章中将详细介绍如何创建和管理这些文件。Oracle Physical Files文件类型文件包含的信息Control其它文件的位置,DB的name,DB Block的大小,DB字符集,恢复信息。这是打开 DB必须的文件Datafile所有的应用data和内部metadataRedo logDB上所有的更改记录,用于恢复Parameter(PFILE,SPFILE)SGA、可选的Oracle选项和后台进程的配置参数Archived log联机日志的备份,用于恢复Password可选文件,用于存储SYSDBA和SYSOPER的user的name,详见第6章Oracle Net配置DBlisten

29、er和客户端连接的入口,详见第4章下面分别介绍DB的三个组成文件:control files,datafiles,redo log。Control FilesControl Files对DB来说是至关重要的,因为它包含了其它文件都没有的关于DB的重要信息,这些重要信息包括: DB的名称 DataFiles和Redo Log的名称、存放地点、大小 从硬盘失败或用户错误中恢复DB的信息当创建DB时,control files 也随之创建,位置由Parameter File 的control_files 参数决定。 由于Control Files丢失会对DB的恢复带来困难,多数的DB把control

30、 Files复制几份放入不同的地点。Oracle 使用CKPT 进程自动更新这些文件,使所有的controlFiles备份同步。你可以用dynamic performance view V$CONTROLFILE 显示所有control files的存放地址。V$CONTROLFILE 在Unix下的使用如下:SQL select name from v$controlfile;NAME-/u02/oradata/PROD/control01.ctl/u03/oradata/PROD/control02.ctl/u05/oradata/PROD/control03.ctl这个查询显示了有3个control Files分别存在3个不同的地点。当然,你也可以用EM来查看Control Files的存放情况。Control Files往往是DB中最小的文件,通常在1M到5M之间。但是,当使用Recovery Manager时,它也可以根据PFILE/SPFILE 设置的 CONTROLFILE_RECORD_KEEP_TIME参数,变得比较大。control fil

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1