没有合适的资源?快使用搜索试试~ 我知道了~
首页掌握Oracle数据库体系结构与ASM关键操作
Oracle Certified Professional (OCP) 考试指南1Z0-053关注数据库架构和Automatic Storage Management (ASM)。ASM是Oracle数据库中的一项关键技术,它将服务器文件系统和数据库文件管理整合在一起,通过条带化和镜像优化性能,提供动态的磁盘管理和调整,如在线卷扩展或迁移,确保高可用性和数据安全性。ASM的优势在于其多路复用功能,能有效避免数据丢失,同时支持单个ASM实例服务多个数据库实例,降低硬件投资。 本章首先概述Oracle数据库体系结构,包括实例内存结构、逻辑数据库结构和物理数据库结构。数据文件、控制文件、重做日志文件和归档重做日志文件等组成物理存储,非数据库文件如初始化参数文件和日志文件也至关重要。实例内存结构则涉及SGA(共享池、大池、 PGA等)在数据库运行中的作用。 理解这些基本概念是深入学习ASM的基础,因为ASM实例的配置和管理依赖于对整个数据库架构的深刻理解。创建和管理ASM实例时,需要设置初始化参数,这与数据库实例的启动和关闭略有不同,但都遵循类似的流程。常见的ASM管理操作包括添加磁盘组、删除磁盘组以及重新平衡磁盘组,这些都是实战中必不可少的技能。 学习时,先掌握数据库体系结构,再逐步进入ASM的细节,如磁盘组的管理、磁盘的分配和回收,以及如何根据业务需求调整性能和容错策略。通过本章的学习,考生将能够有效地应用ASM技术来提升Oracle数据库的性能和可靠性,为OCP认证做好准备。
资源详情
资源推荐
第 1 章 数据库体系结构和 ASM
1. 系统全局区
SGA 是 Oracle 实例的一组共享内存结构,由数据库实例的多位用户共享。启动 Oracle 实
例时,会根据初始化参数文件中指定的值或 Oracle 软件中的硬编码为 SGA 分配内存。用于控
制 SGA 各个部分大小的很多参数是变化的;但是,如果指定 SGA_MAX_SIZE 参数,所有
SGA 区域的总大小就不得超过 SGA_MAX_SIZE 的值。如果未指定 SGA_MAX_SIZE,但指
定了 SGA_TARGET 参数,Oracle 会自动调整 SGA 组件的大小,以便分配的内存总量等于
SGA_TARGET。SGA_TARGET 是一个动态参数,可在实例运行时更改。Oracle 11g 中引入的
新参数 MEMORY_TARGET 在 SGA 和 PGA 之间平衡 Oracle 的所有可用内存,以便优化性能。
SGA 中的内存按粒度单元分配。粒度可以是 4MB 或 16MB,具体取决于 SGA 的总大小。
如果 SGA 小于等于 128MB,则粒度是 4MB;否则粒度是 16MB。随后的几个小节将介绍
Oracle 如何使用 SGA 中的每个部分的要点。
图 1-3 Oracle 逻辑内存结构
缓冲区缓存(Buffer Cache) 数据库缓冲区缓存保存最近从磁盘读取的用于满足 SELECT
语句要求的数据块,或包含已修改块(已经从 DML 语句更改或添加)的数据块。从 Oracle9i 开
始,SGA 中保存这些数据块的内存区域是动态的。这是一件好事,假如数据库的多个表空间
的块大小不是默认块大小。Oracle 允许表空间最多使用 5 种不同的块大小(一种块大小是默认
的,其余类型的最多有 4 种)。每个块大小都需要自己的缓冲区缓存。如果一天或一周中处理
和事务需求发生了变化,将可以动态更改 DB_CACHE_SIZE 和 DB_nK_CACHE_SIZE 的值而
无需重新启动实例,以便提高使用给定块大小的表空间的性能。
9
OCP 认证考试指南(1Z0-053):Oracle Database 11g Administration II
Oracle 可以使用其他两种块大小与默认块大小(DB_CACHE_SIZE)相同的缓存:KEEP 缓
冲区池和 RECYCLE 缓冲区池。从 Oracle9i 开始,这两个池都独立于 SGA 中的其他缓存分
配内存。
创 建 表 时 , 可 以 通 过 在 STORAGE 子 句 中 使 用 BUFFER_POOL_KEEP 或
BUFFER_POOL_ RECYCLE 子句,来指定表的数据块将要驻留的池。对于整天频繁使用的表,
有利的做法是将表放在 KEEP 缓冲区池中,以尽量减少检索表中的块需要的 I/O 数量。
共享池(Shared Pool) 共享池包含两个主要的子缓存:库缓存和数据字典缓存。共享池的
大小由 SHARED_POOL_SIZE 初始化参数确定。只要 SGA 总大小小于 SGA_MAX_SIZE 或
SGA_TARGET,这便是另一种可以调整大小的动态参数。
库缓存保存有关针对数据库运行的 SQL 和 PL/SQL 语句的信息。库缓存由所有用户共享,
所以不同数据库用户可能共享同一 SQL 语句。
SQL 语句及其执行计划存储在库缓存中。当同一用户或另一用户第二次运行同一 SQL 语
句时,由于已经计算出执行计划,查询或 DML 语句的执行效率将会提高。
如果库缓存过小,则可以将频繁使用的执行计划转出缓存,只需频繁地将 SQL 语句重新
加载到库缓存中。
数据字典是数据库表的集合,归 SYS 和 SYSTEM 模式所有,其中包含有关数据库、数据
库结构以及数据库用户权限和角色的元数据。数据字典缓存保存第一次将数据字典表读入缓
冲区缓存后数据字典表的列的子集。连续使用数据字典中的表的数据块,以便帮助处理用户
查询和其他 DML 命令。
如果数据字典缓存过小,在请求数据字典中的信息时,会引发附加的 I/O 操作;这些与
I/O 相关的数据字典请求称为“递归调用”,可通过正确设置数据字典缓存的大小来避免“递归调
用”。
重做日志缓冲区 重做日志缓冲区包含数据文件中的数据块的最新更改信息。如果重做日
志缓冲区的满度达到 1/3(或每隔 3 秒),Oracle 会将重做日志记录写入到重做日志文件中。另
外,从 Oracle Database 10g 开始,如果已将 1MB 重做信息存储在重做日志缓冲区中,Log
Writer(日志写入器,LGWR)进程会将重做日志记录写入到重做日志文件中。一旦将重做日志
缓冲区中的条目写入重做日志文件,那么,如果在将更改后的数据块从缓冲区缓存写入数据
文件前实例发生了崩溃,这些条目对恢复数据库会起到至关重要的作用。在将重做日志条目
成功写入重做日志文件后,才认为用户提交的事务是完整的。
大池(Large Pool) 大池是 SGA 中的可选区域。它用于与多个数据库交互的事务、执行并
行查询的进程的消息缓冲区,以及 RMAN 并行备份和还原操作。顾名思义,大池使需要每次
分配大内存块的操作可以使用大内存块。
从 Oracle9i 第 2 版开始,初始化参数 LARGE_POOL_SIZE 控制大池的大小,该参数是一
个动态参数。
Java 池(Java Pool) Oracle JVM(Java Virtual Machine,Java 虚拟机)为用户会话中的所有
Java 代码和数据使用 Java 池。在 Java 池中存储 Java 代码和数据与在共享池中缓存 SQL 和 PL/
SQL 代码是相似的。
流池(Streams Pool) 流池是 Oracle 10g 中的一种新池,通过初始化参数 STREAMS_
POOL_SIZE 来设置其大小。流池保存数据和控制结构,以便支持 Oracle Enterprise Edition 的
Oracle 流功能。Oracle 流管理分布式环境中数据和事件的共享。如果未初始化 STREAMS_
10
剩余48页未读,继续阅读
smartwujianfei
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- AirKiss技术详解:无线传递信息与智能家居连接
- Hibernate主键生成策略详解
- 操作系统实验:位示图法管理磁盘空闲空间
- JSON详解:数据交换的主流格式
- Win7安装Ubuntu双系统详细指南
- FPGA内部结构与工作原理探索
- 信用评分模型解析:WOE、IV与ROC
- 使用LVS+Keepalived构建高可用负载均衡集群
- 微信小程序驱动餐饮与服装业创新转型:便捷管理与低成本优势
- 机器学习入门指南:从基础到进阶
- 解决Win7 IIS配置错误500.22与0x80070032
- SQL-DFS:优化HDFS小文件存储的解决方案
- Hadoop、Hbase、Spark环境部署与主机配置详解
- Kisso:加密会话Cookie实现的单点登录SSO
- OpenCV读取与拼接多幅图像教程
- QT实战:轻松生成与解析JSON数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功