- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle基础架构
ORACLE 基础架构 内容提要 ORACLE的基础架构和主要组件 ORACLE的物理结构 ORACLE的内存结构和后台进程 ORACLE的逻辑结构 ORACLE的启动和关闭 ORACLE的基础架构和主要组件 Oracle服务器 ORACLE服务器: 数据库管理系统,提供开放、全面、完整的信息解决方案 包括实例和数据库 Oracle实例 Oracle实例: 访问数据库的方式 对应着一个数据库 包括内存结构和后台进程 Oracle数据库 Oracle数据库: 数据的集合,是一个整体 包括三类文件 ORACLE的物理结构 ORACLE的物理结构包括: 控制文件 数据文件 在线日志文件 控制文件 二进制文件 定义了当前数据库的状态 维护数据完整性 用在: 数据库的mount阶段 操作数据库时 指向一个数据库 丢失需要恢复 在创建数据库时定义了大小 数据文件 数据库存储数据的文件: 只能属于一个数据库和表空间 用户对象的存储空间 在线日志文件 在线日志文件的特征: 记录了所有数据库的变化 提供恢复机制 按照组的形势进行管理 最少需要两组 ORACLE的内存结构 ORACLE的内存结构包括: 系统全局区 (SGA): 在数据库启动是分配,是ORACLE实例的基础 程序全局 (PGA): 在服务器进程启动时分配 系统全局区 系统全局区包括以下内存组件: 共享池(Shared Pool) 数据缓冲区(Database Buffer Cache) 日志缓冲区(Redo Log Buffer ) 其他内存结构 (锁和闩的管理,统计信息等) 系统全局区还可以配置以下额外的组件: 大池(Large Pool) Java池(Java Pool) 系统全局区 可以动态调整 大小由 SGA_MAX_SIZE 参数控制 系统全局区的内存组件按照粒度来管理: 持续的内存区域 粒度的大小由 SGA_MAX_SIZE决定 共享池 用于存放: 最近执行的SQL语句 最近使用的数据字典信息 包含两个: 库缓存(Library Cache) 数据字典缓存(Data Dictionary Cache) 大小由SHARED_POOL_SIZE参数确定 库缓存(Library Cache) 存储了最近执行的SQL和PL/SQL语句信息 提供相同语句的共享 使用LRU算法管理 包括两个组件: 共享SQL区(Shared SQL area) 共享PL/SQL区( Shared PL/SQL area) 大小由共享池的大小决定 数据字典缓存(Data Dictionary Cache) 存储了最近使用的数据字典信息 包括数据文件,表,索引,权限,用户等信息 在语句解析阶段,ORACLE服务器查看数据字典来验证语句的信息 缓存数据字典信息能够提高DML语句和查询语句的速度 大小有共享池大小决定 数据缓冲区(Database Buffer Cache) 缓存了从数据文件获得的块信息 在发生查询、更新操作时,能够极大的提升性能 由LRU算法管理 大小由DB_BLOCK_SIZE大小决定 数据缓冲区(Database Buffer Cache) 包括以下三个子结构: DB_CACHE_SIZE DB_KEEP_CACHE_SIZE DB_RECYCLE_CACHE_SIZE 可以动态调整 设置DB_CACHE_ADVICE来收集数据缓冲区的使用信息 统计信息可以通过 V$DB_CACHE_ADVICE视图查看 日志缓冲区(Redo Log Buffer) 记录了所有数据库发生的变化 主要用于数据库恢复 数据库改变为日志记录 日志记录包含了结构改变的信息 大小由LOG_BUFFER决定 大池 系统全局区中的可选组件 用于减轻共享池的负担 使用于: 共享服务器模式下的会话内存 (UGA) I/O 服务器进程 RMAN备份和恢复时使用 当配置参数PARALLEL_AUTOMATIC_TUNING 为TRUE时使用 不使用 LRU 列表 由LARGE_POOL_SIZE参数控制大小 可以动态调整 Java池 用于解析JAVA应用 如果使用JAVA应用,需要配置JAVA池 由JAVA_POOL_SIZE参数指定大小 程序全局区 连接到oracle服务器的用户进程的保留地址 当进程创建时被分配 进程终止时回收 只能被一个进程使用 进程结构 ORACLE有多种进程结构: 用户进程: 当用户发起连接到数据库服务器时生成 服务器进程: 当用户发出连接请求时生成,并 后台进程: Started when an Oracle instance is started 用户进程 用来访问ORACLE服务器的客户端进程 首先需要建立连接 不直接访问ORACLE服务器,和服务器进程进
文档评论(0)