《oracle数据库_管理_体系结构8400.pptx》由会员分享,可在线阅读,更多相关《oracle数据库_管理_体系结构8400.pptx(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1oracleoracle管理管理科学数据库技术培训2oracle数据库的特点数据库的特点Oracle是oracle公司出品的十分优秀的DBMS。目前,中国电信行业使用的数据库系统基本上全部是oracle(不是windows下的)。其市场占有率为32.6%。如果实现的是高端企业应用,需要处理的并发数据量很大,同时对数据库的可靠性、安全性和可扩展性又很高的要求,那么oracle是很好的选择。3oracle数据库的特点数据库的特点支持大数据库、多用户的高性能的事务处理ORACLE遵守数据存取语言、操作系统、用户接口和通讯协议的工业标准。实施安全性控制和完整性控制支持分布式数据库和分布处理。分布式系
2、统像集中式数据库具有一样的透明性和数据一致性。具有可移植性、可兼容性和连接性。Oracle10g支持网格计算4第 一 章ORACLEORACLE的体系结构的体系结构qOracleOracle的物理结构的物理结构qOracleOracle的系统全局区的系统全局区qOracleOracle的进程的进程5ORACLEORACLE的体系结构的体系结构 体系结构概述体系结构概述物理结构物理结构 数据文件、日志文件、控制文件、参数文件系统全局区(系统全局区(System Global Area)共享池、数据缓冲区、日志缓冲区进进 程程 用户进程、服务器进程、后台进程6共享池数据缓冲区日志缓冲区SGA数据文
3、件日志文件参数文件控制文件DBWRARCHCKPTLGWRPMONLCKnRECOSMON存储介质ServerUserUserUserORACLEORACLE的体系结构的体系结构 体系结构图示体系结构图示7 数据文件数据文件 日志文件日志文件 控制文件控制文件 参数文件参数文件ORACLEORACLE的体系结构的体系结构 物理结构物理结构8 数据文件(数据文件(Data File)是物理存储ORACLE数据库数据的文件。其特点如下:每一个数据文件只与一个数据库相联系。一个表空间可包含一个或多个数据文件。一个数据文件只能属于一个表空间ORACLEORACLE的体系结构的体系结构 物理结构物理结构
4、9 日志文件(日志文件(Log File)记录所有对数据库数据的修改,以备恢复数据时使用。其特点如下:每一个数据库至少包含两个日志文件组。日志文件组以循环方式进行写操作。每一个日志文件成员对应一个物理文件。ORACLEORACLE的体系结构的体系结构 物理结构物理结构10 日志开关(日志开关(Log Switch)是为实现日志文件组的循环使用而设置的。出现日志开关的情况如下:当一个日志文件组被填满时 关闭数据库时 DBA手动转移日志开关ORACLEORACLE的体系结构的体系结构 物理结构物理结构11日志文件写操作图示日志文件写操作图示Log File 1Log File 2Group 1Gr
5、oup 1Group 2Group 2Member 2.1Member 1.1ORACLEORACLE的体系结构的体系结构 物理结构物理结构12 镜像日志文件镜像日志文件是为防止日志文件的丢失,在不同磁盘上同时维护两个或多个联机日志文件的副本。其特点如下:每个日志文件组至少包含两个日志文件成员。每组的成员数目相同。同组的所有成员同时被修改。同组的成员大小相同,不同组的成员大小可不同。ORACLEORACLE的体系结构的体系结构 物理结构物理结构13镜像日志文件图示镜像日志文件图示Group 1Group 1Group 2Group 2Log File 1Log File 2Member 2.1
6、Member 1.1Log File 3Log File 4Member 2.2Member 1.2Disk 1Disk 2ORACLEORACLE的体系结构的体系结构 物理结构物理结构14共享池数据缓冲区日志缓冲区SGADBWRARCHCKPTLGWRPMONLCKnRECOSMON存储介质ServerUserUserUserORACLEORACLE的体系结构的体系结构 体系结构图示体系结构图示15 控制文件(控制文件(Control File)是一个较小的二进制文件,用于描述数据库物理结构。描述信息如下:数据库建立的日期。数据库名。数据库中所有数据文件和日志文件的文件名及路径。恢复数据库时
7、所需的同步信息。要点注意:在打开和存取数据库时都要访问该文件。镜像控制文件。记录控制文件名及路径的参数为:CONTROL_FILESCONTROL_FILESORACLEORACLE的体系结构的体系结构 物理结构物理结构16 参数文件(参数文件(PFILE)和服务器端参数文件和服务器端参数文件(SPFILE)oracle8i以前的版本都是使用普通文本形式的本地初始化参数文件,initSID.ora。自oracle9i开始使用服务器端参数文件,SPFILE是二进制格式的,默认名为SPFILE.ORA。尽管能够打开并编辑器中的内容,但是任何用户都不应该手工修改其中的内容,否则实例将无法启动。ORA
8、CLEORACLE的体系结构的体系结构 物理结构物理结构17参数文件的作用:参数文件的作用:确定存储结构的大小。设置数据库的全部缺省值。设置数据库的范围。设置数据库的各种物理属性。优化数据库性能。ORACLEORACLE的体系结构的体系结构 物理结构物理结构18创建服务器端初始化参数文件创建服务器端初始化参数文件SPFILE在创建时必须基于一个传统的文本初始化参数文件,而且必须在启动实例之前完成创建工作。Sqlcreate SPFILE=D:ORACLE FROM PFILE=D:ORACLETEMPFILE;PFILE子句是必需的,SPFILE子句可以省略,则SPFILE存贮在缺省位置DAT
9、ABASE下。ORACLEORACLE的体系结构的体系结构 物理结构物理结构19ORACLEORACLE的体系结构的体系结构 物理结构物理结构查看服务器端参数文件查看服务器端参数文件在SQL PLUS中使用SHOW PARAMETERS命令查询V$PARAMETER或V$PARAMETER2动态性能视图,V$PARAMETER2的格式更加简介。查询V$SPPARAMETER动态性能视图导出服务器端参数文件导出服务器端参数文件SQLCREATE PFILE=D:FROM SPFILE=20ORACLEORACLE的体系结构的体系结构 物理结构物理结构修改服务器端参数文件修改服务器端参数文件在9i
10、中直接手工修改本地参数化文件是没用的,不会改变数据库的设置。利用ALTER SYSTEM SET parameter=value语句可以在数据库运行时修改初始化参数的值。在SET子句中可以使用SCOPE选项来设置影响范围,所谓影响范围就是ALTER SYSTEM语句对参数的修改是仅对当前实例有效(记录在内存中),还是永久有效(记录在SPFILE中)。21ORACLEORACLE的体系结构的体系结构 物理结构物理结构SCOPESCOPE选项有三种选择:选项有三种选择:SCOPE=SPFILE 对参数的修改仅记录在SPFILE,改选项同时适用动态初始化参数和静态初始化参数。修改后的参数在下次启动后
11、生效SCOPE=MEMORY 对参数的修改仅记录在内存中,更改立即生效,仅对本次实例有效。对静态参数,不能使用这个选项值。SCOPE=BOTH 对参数的修改同时记录在内存和SPFILE中,立即生效,下次启动后使用修改后的参数。对于静态参数,不能使用这个选项。22ORACLEORACLE的体系结构的体系结构 物理结构物理结构主要的初始化参数主要的初始化参数全局数据库名和全局数据库名和SIDSIDDB_NAME 本地数据库标识,在只有一个实例的情况下,本地数据库标识和实例标识SID相同。DB_DOMAIN 网络域名则全局名GLOBAL_NAME为DB_NAME.DB_DOMAIN控制文件参数控制文
12、件参数control_files=d:oracleoradatatestCONTROL01.CTL,d:oracleoradatatestCONTROL02.CTL,d:oracleoradatatestCONTROL03.CTL23ORACLEORACLE的体系结构的体系结构 物理结构物理结构数据块参数数据块参数db_block_size,数据库建立后不能修改。一般是操作系统块的整数倍。对I/O密集的操作,使用双倍大小的数据块能提高40%左右的I/O性能,但是所这块的增大,数据库对内存SGA的需求也增大,会对系统性能产生负面影响db_cache_size 指定SGA区数据库告诉缓冲区的大小。
13、Oracle8i中是使用db_block_buffers来决定的。撤销空间的管理方式撤销空间的管理方式undo_management=AUTOMANUALundo_tablespace=UNDOTBS124共享池数据缓冲区 日志缓冲区SGA数据文件日志文件参数文件控制文件DBWRARCHCKPTLGWRPMONLCKnRECOSMON存储介质ServerUserUserUserORACLEORACLE的体系结构的体系结构 体系结构图示体系结构图示25 共共 享享 池池 数据库缓冲区数据库缓冲区 日日 志志 缓缓 冲冲 区区ORACLEORACLE的体系结构的体系结构 系统全局区系统全局区26实
14、例实例(INSTANCE)是存取和控制数据库的软件机制,它由系统全局区(System Global Area,简称SGA)和后台进程组成。ORACLEORACLE的体系结构的体系结构 系统全局区系统全局区27SGA是ORACLE系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。ORACLEORACLE的体系结构的体系结构 系统全局区系统全局区28ORACLEORACLE的体系结构的体系结构 系统全局区系统全局区SGASGA区的初始化参数区的初始化参数DB_CACHE_SIZE 数据库缓存的大小LOG_BUFFER 重做日志缓存的大小SHARED_
15、POOL_SIZE 共享池的大小LARGE_POOL_SIZE 大型池的大小为了优化系统性能,SGA区最好全部位于物理内存中。如果超过了系统物理内存的大小,则不得不使用虚拟内存来补偿,部分SGA区必须由操作系统进行换页操作,将在很大程度上降低系统性能。共享池数据缓冲区日志缓冲区SGA29共享池(共享池(Shared Pool)由共享SQL区和数据字典区组成。参数SHARED_POOL_SIZE 确定共享池的大小。共享SQL区包括 SQL或PL/SQL语句的文本 SQL或PL/SQL语句的语法分析形式 SQL或PL/SQL语句的执行方案数据字典区用于存放数据字典信息行。ORACLEORACLE的
16、体系结构的体系结构 系统全局区系统全局区30数据缓冲存储区(数据缓冲存储区(Database Buffer Cache)用于存储从数据文件中读的数据的备份。数据缓冲区数据文件DB_BLOCK_SIZE 确定数据块的大小,一般为2K或4K,对于大数据块的数据库,此参数值为物理块的倍数。DB_CACHE_SIZE(oracle9i)DB_BLOCK_BUFFERS(oracle8i)确定数据块的数目。ORACLEORACLE的体系结构的体系结构 系统全局区系统全局区31数据缓冲存储区分为 脏列表 包括被修改过但尚未写到数据文件的缓冲块。LRU(Least Recently Used)列表 包括空闲
17、缓冲块、正在存取的缓冲块、已被修改但尚未移到脏列表的缓冲块。ORACLEORACLE的体系结构的体系结构 系统全局区系统全局区32日志缓冲存储区(日志缓冲存储区(Log Buffer)以记录项的形式备份数据库缓冲区中被修改的缓冲块,这些记录将被写到日志文件中。LOG_BUFFER 确定日志缓冲区的大小。日志缓冲区日志文件ORACLEORACLE的体系结构的体系结构 系统全局区系统全局区33共享池数据缓冲区 日志缓冲区SGA数据文件日志文件参数文件控制文件DBWRARCHCKPTLGWRPMONLCKnRECOSMON存储介质ServerUserUserUserORACLEORACLE的体系结构
18、的体系结构 体系结构图示体系结构图示34 用用 户户 进进 程程 服务器进程服务器进程 后后 台台 进进 程程ORACLEORACLE的体系结构的体系结构 进进 程程35 ORACLEORACLE实例分为单进程实例和多进程实实例分为单进程实例和多进程实例两种。例两种。SINGLE_PROCESSSINGLE_PROCESS 单进程单进程/多进程实例的转换。多进程实例的转换。ORACLEORACLE的体系结构的体系结构 进进 程程36单进程单进程/单用单用户户 一个进程执行全部ORACLE代码。S G AORACLE Server数据库应用数据库应用ORACLEORACLE的体系结构的体系结构
19、进进 程程37多进程多进程/多用户多用户 使用多个进程执行ORACLE的不同代码,对于每一个连接的用户都有一个进程。S G A服务器进程用户进程后后 台台 进进 程程ORACLEORACLE的体系结构的体系结构 进进 程程38用户进程用户进程 当用户运行一个应用程序时,就建立一个用户进程。ORACLEORACLE的体系结构的体系结构 用户用户进程进程39服务器进程服务器进程 处理用户进程的请求。处理过程处理过程 分析SQL命令并生成执行方案。从数据缓冲存储区中读取数据。将执行结果返回给用户。ORACLEORACLE的体系结构的体系结构 服务器服务器进程进程40后台进程后台进程 为所有数据库用户
20、异步完成各种任务。主要的后台进程有主要的后台进程有 DBWR 数据库写进程 LGWR 日志写进程 CKPT 检查点写进程 SMON 系统监控进程 PMON 进程监控进程 ARCH 归档进程 RECO 恢复进程 LCKn 封锁进程ORACLEORACLE的体系结构的体系结构 后台后台进程进程41ORACLEORACLE的体系结构的体系结构 后台后台进程进程DBWR(Data Base Writer)将数据缓冲区中所有修改过的缓冲块数据写到数据文件中,并使用LRU(Least-Recently-Used)算法来保持缓冲区中的数据块为最近经常使用的,以减少I/O次数。该进程在启动实例时自动启动42D
21、BWR进行写操作的情况:脏列表达到最低限制。相当于参数DB_BLOCK_WRITE_BATCH值的一半。一个进程在LRU列表中扫描指定数目的缓冲块,未找到空闲缓冲块。参数DB_BLOCK_MAX_SCAN_CNT确定扫描数目。ORACLEORACLE的体系结构的体系结构 后台后台进程进程43ORACLEORACLE的体系结构的体系结构 后台后台进程进程出现超时 3秒钟内该进程未活动,则该进程将在LRU列表中查找尚未查找的缓冲块,这组缓冲块的数目相当于参数DB_BLOCK_WRITE_BATCH值的2倍。出现检查点。44LGWR(Log Writer)将日志缓冲区中的所有记录项写到日志文件中。该
22、进程在启动实例时自动启动。ORACLEORACLE的体系结构的体系结构 后台后台进程进程45ORACLEORACLE的体系结构的体系结构 后台后台进程进程LGWR进行写操作的情况:用户进程提交一个事务(Commit)日志缓冲区达到1/3范围 DBWR对一个检查点需要清除缓冲块 出现超时(3秒钟内未活动,则进行一次写操作。)46ORACLEORACLE的体系结构的体系结构 后台后台进程进程检查点检查点(Checkpoint):在检查点出现期间,DBWR进程将数据缓冲区中的所有脏缓冲块写到数据文件中,LGWR进程将日志缓冲区中的所有记录项写到日志文件中,以确保上一个检查点至今修改过的所有数据块都被
23、写到磁盘上。47检查点:检查点:预定数目的记录项被填满。参数LOG_CHECKPOINT_INTERVAL确定了预定数目。设置指定的秒数。参数LOG_CHECKPOINT_TIMEOUT确定了间隔秒数。每个日志开关处 关闭实例时 DBA手动操作。ORACLEORACLE的体系结构的体系结构 后台后台进程进程48CKPT(Checkpointer)CKPT(Checkpointer)在控制文件中记录检查点。参CHECKPOINT_PROCESS 确定了检查点的启动/不启动状态。若CKPT进程不启动,则该进程的工作将由LGWR进程代劳。(如果数据库的数据文件过多,这样操作会降低系统性能。)orac
24、le9i中已经废弃了这个参数,在实例启动时将会自动启动CKPT进程。如果仍然在参数文件中设置这个参数,将会导致实例启动失败。ORACLEORACLE的体系结构的体系结构 后台后台进程进程49ARCH(Archiver)ARCH(Archiver)归档进程归档进程 在日志文件组出现切换时,将旧日志文件的内容拷贝到脱机存储介质上,出现介质失败时用于恢复数据。LOG_ARCHIVE_START 确定了该进程的启动/不启动状态。ARCH存储介质ORACLEORACLE的体系结构的体系结构 后台后台进程进程50ARCH(Archiver)ARCH(Archiver)LOG_ARCHIVE_DEST 当数
25、据库在归档模式下操作时,该参数确定了日志文件的归档目标。LOG_ARCHIVE_FORMAT 当数据库在归档模式下操作时,该参数确定了归档日志文件的缺省文件名格式。ARCH存储介质ORACLEORACLE的体系结构的体系结构 后台后台进程进程51ORACLEORACLE的体系结构的体系结构 后台后台进程进程SMONSMON(System MonitorSystem Monitor)系统监视进程系统监视进程 负责完成自动实例恢复。该进程在启动实例时自动启动。PMONPMON(Process MonitorProcess Monitor)进程监视进程进程监视进程 撤消异常中断的用户进程,并释放该进程已获得的系统资源或锁。52ORACLEORACLE的体系结构的体系结构 后台后台进程进程RECORECO(RecoverRecover)恢复进程恢复进程 在分布式操作的情况下,恢复一个事务的失败。LCKnLCKn(LockLock)锁进程锁进程 在并行服务器系统间加锁,最多可加10个锁,分别为LCK0,LCK1,LCK9。53共享池数据缓冲区日志缓冲区SGA数据文件日志文件参数文件控制文件DBWRARCHCKPTLGWRPMONLCKnRECOSMON存储介质ServerUserUserUserORACLEORACLE的体系结构的体系结构 总总结结谢谢
限制150内