Oracle数据库手册.doc_第1页
Oracle数据库手册.doc_第2页
Oracle数据库手册.doc_第3页
Oracle数据库手册.doc_第4页
Oracle数据库手册.doc_第5页
免费预览已结束,剩余106页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

内部资料 注意保密内部资料 注意保密 oracle 数据库 手册 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 1 页 共 5 页 内部资料 注意保密 1 文件属性 文件属性内容 文件名称Oracle 数据库手册 文件编号 文件版本号A4 文件状态正式稿 作 者技术规范修订 梳理项目组 文件初次发布日期 2007 1 9 文件初次实施日期 2007 1 9 2 文件变更历史清单 文件版本号修正日期修正人备 注 A12007 12 28梅咏华 何思略进行可审计性优化调整 A22008 04 03梅咏华 李敏 修订错误 新增部分变量命名规 则 A32008 8 5沈力 董亮 修订索引相关使用原则 修订优 化器相关内容 A42008 12 26沈力 王杰 增加对增量条件 清理条件的设 计要求 3 文件修改变更说明 序号变更内容简述 1 修订 2 4 2 增加对增量条件 清理条件的设计要求 2 3 4 5 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 2 页 共 5 页 内部资料 注意保密 前前 言言 当前工行在开放平台上的应用系统 大都以 Oracle 作为其后台数据库 Oracle 数据库的功能强大而灵活 但正因为其灵活性 使得数据库的设计和开 发经常处于一种低效而不规范的状态 数据库设计的好坏直接关系到开发周期 和系统性能 数据库的开发则直接影响到代码的可读性 数据库的可维护性 本文以主要以 Oracle 10g 版本为例 对数据库设计与开发所要遵循的方法 规则和具体要求进行整理 对数据库性能调整的原则进行完善 形成适合开发 中心生产的数据库设计与开发技术手册 旨在对开发人员的具体开发工作和代 码检查工作提供规范化的指导 以使开发中心的产品质量提升到一个新的台阶 本文适用于我行使用 Oracle 数据库的相关应用 文中红色加粗字体为强制 性要求 蓝色加粗字体为推荐性要求 对于不符合强制性要求的应用 由相关 内容的负责人 项目经理 开发经理 测试经理 应用架构师等 通过软件开 发中心信息化建设门户的 应用不合规情况审批管理 进行申请 本次规范的编写是由系统部 总工办共同编写完成的 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 3 页 共 5 页 内部资料 注意保密 目目 录录 第 1 章概述 1 1 1适用范围 1 1 2术语定义 1 1 3参考材料 1 第 2 章物理设计规则 2 2 1物理空间与内存空间的规划原则 2 2 1 1单磁盘布局原则 2 2 1 2磁盘阵列布局原则 4 2 1 3重要的初始化参数配置原则 5 2 1 4典型缓存配置原则 10 2 2数据对象的使用原则 15 2 2 1表空间的参数设置原则 15 2 2 2表的参数设置原则 17 2 2 3索引的使用原则 18 2 2 4视图的使用原则 20 2 2 5约束的使用原则 20 2 3一些特殊数据对象的使用原则 21 2 3 1分区表的使用原则 21 2 3 2临时表的使用原则 22 2 3 3物化视图的使用原则 24 2 3 4索引组织表的使用原则 25 2 3 5簇的使用原则 26 2 3 6外部表的使用原则 26 2 4数据库对象创建原则 27 2 4 1表空间创建规则 27 2 4 2数据表创建原则 28 2 4 3索引创建原则 28 2 4 4视图创建原则 28 2 4 5约束创建原则 29 2 4 6序列创建原则 29 第 3 章用户权限设计及安全管理 30 3 1用户权限设计安全原则 30 3 2用户安全管理原则 30 3 3权限管理 31 3 3 1权限管理简介 31 3 3 2权限列表 32 3 4角色管理 36 3 4 1角色管理简介 36 3 4 2系统预定义角色 36 3 4 3CONNECT 角色的变化 39 3 5授予权限和角色 39 3 5 1授予系统权限和角色 39 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 4 页 共 5 页 内部资料 注意保密 3 5 2授予对象权限和角色 40 3 5 3授予列的权限 41 3 6角色授权建议 41 第 4 章PLSQL 开发规则 44 4 1总体开发原则 44 4 2程序编写规则 44 4 2 1在 PL SQL 中使用 SQL 44 4 2 2变量声明原则 46 4 2 3游标 47 4 2 4集合 51 4 2 5动态 PL SQL 56 4 2 6对象 59 4 2 7大对象类型 LOB 61 4 2 8包 PACKAGE 70 4 3故障处理规则 71 4 3 1故障使用原则 71 第 5 章SQL 语句编写规则 73 5 1查询语句的使用原则 73 5 1 1基本原则 73 5 1 2索引的正确使用 73 5 1 3使用连接方式的原则 76 5 1 4进行复杂查询的原则 80 5 2DML 语句的调整原则 84 5 2 1Oracle 存储参数的影响 84 5 2 2大数据类型的影响 85 5 2 3DML 执行时约束的开销 86 5 2 4DML 执行时维护索引所需的开销 86 第 6 章数据库命名规则 88 6 1数据对象命名规范 88 6 1 1实例的命名规范 88 6 1 2表空间的命名规范 88 6 1 3表 列的命名规范 89 6 1 4索引的命名规范 89 6 1 5视图的命名规范 90 6 1 6约束的命名规范 90 6 1 7序列命名规则 90 6 1 8过程 函数 包的命名规范 90 6 1 9触发器命名规则 91 6 1 10对象命名规则 91 6 2数据库编码规范 91 6 2 1SQL 书写规范 91 6 2 2PL SQL 书写规范 92 第 7 章附录 99 7 1附录一 规范命名中英对照表 99 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 5 页 共 5 页 内部资料 注意保密 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 1 页 共 105 页 内部资料 注意保密 第第 1 章章 概述概述 1 1 适用范围适用范围 适用于 Oracle 10g 版本 1 2 术语定义术语定义 OLTP 全称为联机事务处理系统 Online transaction processing 是传统 的关系型数据库的主要应用 主要是基本的 日常的事务处理 OLAP 全称为联机分析处理系统 Online analytical processing 是数据仓 库系统的主要应用 支持复杂的查询和分析操作 侧重决策支持 并且提供直 观易懂的查询结果 SAME 全称为 Stripe And Mirror Everything 即把磁盘阵列全部进行镜像 和条带化 使所有的逻辑卷都分布在所有的物理磁盘上 每个逻辑卷的读写都 能够利用的到所有的物理磁盘的吞吐能力 同时获得较高的可靠性 1 3 参考材料参考材料 1 参考文档 Oracle Help Document 2 引用标准 无 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 2 页 共 105 页 内部资料 注意保密 第第 2 章章 物理设计规则物理设计规则 2 1 物理空间与内存空间的规划原则物理空间与内存空间的规划原则 2 1 1 单磁盘布局原则单磁盘布局原则 2 1 1 1 Oracle 的块尺寸大小的块尺寸大小 1 知识点描述 数据块是 Oracle 数据库进行一次磁盘 I O 的最小单位 初始化参数 DB BLOCK SIZE 决定了数据库中数据块的大小 另外 该参 数还决定了数据库缓冲区高速缓存的缓存块大小 2 应用原则应用原则 在在 Oracle 10g 数据库中 目前数据库中 目前 Oracle 支持的数据块的大小为支持的数据块的大小为 2k 到到 32k 之之 间 间 一般情况下 一般情况下 DB BLOCK SIZE 的设定应满足以下原则 的设定应满足以下原则 1 对于联机事务处理 对于联机事务处理 OLTP 类型的数据库应用 建议使用数据块大小 类型的数据库应用 建议使用数据块大小 为为 8kb 2 对于联机事务分析 对于联机事务分析 OLAP 类型的数据块应用 由于其每次操作的数 类型的数据块应用 由于其每次操作的数 据量较大 应该使用尽可能大的数据块的大小据量较大 应该使用尽可能大的数据块的大小 16kb 3 举例 对于某应用系统由于数据块设计不当 使用了过大的数据块的大小 DB BLOCK SIZE 16KB 造成了操作系统过分频繁的磁盘读写 系统的 IO 等 待较多 改小后 DB BLOCK SIZE 8KB 系统恢复正常 某应用系统 由于其数据块较小 DB BLOCK SIZE 2KB 形成了较多的行 链接 造成了数据库性能的下降 改用 8KB 后性能由很大的提高 2 1 1 2 表空间的设置原则表空间的设置原则 1 知识点描述 1 对于目前的系统来说 磁盘的 IO 速度仍然是提高整个系统的吞吐量的 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 3 页 共 105 页 内部资料 注意保密 一个瓶颈 2 对于单个磁盘系统 数据的连续分布可以提高系统的效率 3 对于多个磁盘的系统 使多个磁盘同时并行操作是充分发挥系统效率的 关键因素 为此应该尽可能的把数据分布到不同的磁盘上去 2 应用原则应用原则 一般情况下 为提高数据库的性能和提高系统的可管理性 建议如下 一般情况下 为提高数据库的性能和提高系统的可管理性 建议如下 1 为不同的应用创建独立的表空间 为不同的应用创建独立的表空间 2 存放回滚段的表空间和存放应用数据的表空间应该尽可能地分布在不同存放回滚段的表空间和存放应用数据的表空间应该尽可能地分布在不同 的物理磁盘上 的物理磁盘上 3 把数据字典与表和索引分开 把数据字典与表和索引分开 切忌在切忌在 SYSTEM 表空间上存放应用数据 表空间上存放应用数据 4 相同用户的数据表空间和索引表空间应该分离 并且尽可能将他们分布相同用户的数据表空间和索引表空间应该分离 并且尽可能将他们分布 在不同的磁盘上 在不同的磁盘上 3 举例 对于一个 4 个磁盘非 RAID 的数据库系统 可以把 SYSTEM 表空间放在磁 盘 1 RBS 表空间放在磁盘 2 TEMPORARY 表空间在磁盘 3 应用表空间 APPS1 放在磁盘 4 应用表空间 IND1 放在磁盘 1 应用表空间 APPS2 放在磁 盘 3 应用表空间 IND2 放在磁盘 4 上 2 1 1 3 重做日志的设置原则重做日志的设置原则 1 知识点描述 重做日志是 Oracle 数据库系统的重要组成部分 它保证了数据在系统异常 情况下可以进行恢复 2 应用原则应用原则 建议数据库的重做日志文件能够满足下述条件 建议数据库的重做日志文件能够满足下述条件 1 出于系统的安全性考虑 每组重做日志文件使用多个成员 每个成员位出于系统的安全性考虑 每组重做日志文件使用多个成员 每个成员位 于不同的磁盘于不同的磁盘 通道通道 控制卡上控制卡上 2 出于分散出于分散 I O 方面考虑 应该把奇数组和偶数组的重做日志文件放置在方面考虑 应该把奇数组和偶数组的重做日志文件放置在 不同的磁盘上不同的磁盘上 3 由于重做日志的的读写方式和数据文件的读写方式不同 最好把重做日由于重做日志的的读写方式和数据文件的读写方式不同 最好把重做日 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 4 页 共 105 页 内部资料 注意保密 志与数据文件存放在不同的磁盘上 志与数据文件存放在不同的磁盘上 4 出于性能的考虑 在联机业务处理期间 日志的切换时间应在出于性能的考虑 在联机业务处理期间 日志的切换时间应在 15 30 分钟左右 由于日志的大小决定了日志的切换时间 因此 在系统运行分钟左右 由于日志的大小决定了日志的切换时间 因此 在系统运行 后 我们从后 我们从 alert 文件获取日志的切换时间 并根据切换的间隔来调整文件获取日志的切换时间 并根据切换的间隔来调整 重组日志的大小 初始大小建议不低于重组日志的大小 初始大小建议不低于 50M 小于 小于 1G 3 举例 对于一个正常营业的生产系统 至少需要 2 组日志文件 同时每组日志由 至少 2 个成员组成 2 1 1 4 镜像控制文件的设置镜像控制文件的设置 1 知识点描述 Oracle 数据库的控制文件是数据库启动时所需要的重要文件 为了保证数 据库的正常使用 推荐使用多个控制文件 如果设置了数据库的多个控制文件 这些控制文件是同时读写的 内容是 完全一致的 2 应用原则应用原则 我们希望数据库的控制文件能够满足下述条件 我们希望数据库的控制文件能够满足下述条件 1 每个数据库拥有多个控制文件 这样可以避免误操作和介质故障每个数据库拥有多个控制文件 这样可以避免误操作和介质故障 2 数据库的每个控制文件位于不同磁盘数据库的每个控制文件位于不同磁盘 通道通道 控制卡上这样可以避免单个控制卡上这样可以避免单个 器件的单点故障器件的单点故障 3 分布在不同磁盘分布在不同磁盘 通道通道 控制卡上的控制文件还可以实现磁盘的控制卡上的控制文件还可以实现磁盘的 I O 均衡均衡 3 举例 对于一个由多个磁盘构成的数据库系统 可以使用多个控制文件 并把它 分配到每一个磁盘上去 2 1 2 磁盘阵列布局原则磁盘阵列布局原则 1 知识点描述 随着硬件技术的发展 目前磁盘阵列的使用变得越来越普遍 由于磁盘阵 列和单个磁盘具有较大的不同 故此在数据库的物理划分上也有较大的不同 对于磁盘阵列系统 由于 RAID 的划分 不存在一个个真实的物理盘 对应的 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 5 页 共 105 页 内部资料 注意保密 是物理卷 PV 逻辑卷组 VG 逻辑卷 LV 在这种情况下 Oracle 推荐使用 SAME 技术 即全部镜像和条带化 Stripe And Mirror Everything 在对磁盘阵列做 SAME 处理后 所有的逻辑卷都分布 在所有的物理磁盘上 每个逻辑卷的读写都能够利用的到所有的物理磁盘的吞 吐能力 同时获得较高的可靠性 同时我们在使用磁盘设备的时候不需要考虑 各个不同文件的 IO 情况 因为它们都使用同样的全部磁盘的吞吐能力 这进一 步简化了数据库系统的文件管理工作 避免一些意外的操作 2 应用原则应用原则 对较重要 并且效率要求较高的系统推荐使用对较重要 并且效率要求较高的系统推荐使用 RAID0 1 的磁盘配置而不使的磁盘配置而不使 用用 RAID5 因为 因为 RAID5 的校验技术会降低应用数据库系统的效率 但使用的校验技术会降低应用数据库系统的效率 但使用 RAID0 1 比 比 RAID5 需要更多物理磁盘 需要更多物理磁盘 不同的类型对象 尽量分布在不同的卷组上 不同的类型对象 尽量分布在不同的卷组上 2 1 3 重要的初始化参数配置原则重要的初始化参数配置原则 1 SGA TARGET 在 Oracle 9i 中 必须手工调整和设置各种数据库缓存区的大小 在 Oracle 10g 中 新增加了一个 SGA TARGET 参数 该参数的作用是通过设置一个总 值 让数据库根据实际需要 动态调整各块缓存区的大小 且每块缓存区的大 小不会小于手动设置的参数值 但在实际使用过程中 如果只是设置但在实际使用过程中 如果只是设置 SGA TARGET 而不手动设置各种 而不手动设置各种 缓存区的参数值 将会引发缓存区的参数值 将会引发 Oracle 内部的一些内部的一些 bug 因此 建议 因此 建议 SGA TARGET 应与原来的各种缓存区参数结合起来使用 应与原来的各种缓存区参数结合起来使用 2 Process 该参数指定了可同时连接到一个 Oracle 服务器上的操作系统进程的最大数 量 该值包括所有的后台进程 该参数的设置与系统的应用紧密相关 应设定为系统可能的连接数的最大 值 该参数会影响数据库对内存的分配和数据库系统的性能 该最大值可以由 以下两种方法确定 1 估算法 在系统投入使用以前 估计整个系统的用户的数量 加上系统估算法 在系统投入使用以前 估计整个系统的用户的数量 加上系统 的后台进程的数量 的后台进程的数量 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 6 页 共 105 页 内部资料 注意保密 2 经验法 在系统的投入使用是设定一个较大的值 然后根据系统的实际 负荷向下调整 在数据库的警告日志文件 alertSID log 中记录了系统的 最大会话数 可以通过下述命令得到系统的最大会话数 grep License high water mark alertSID log 在此基础上加上系统的后台进程的数量就是系统的最大进程数 值范围 6 到根据操作系统而定的一个值 默认值 由 PARALLEL MAX SERVERS 确定 建议值 为了保证系统的可用性 我们可以设定该值为上述最大值建议值 为了保证系统的可用性 我们可以设定该值为上述最大值 的的 1 1 倍 倍 3 Sessions 指定用户会话和系统会话的总量 默认数量大于 PROCESSES 以允许递 归会话 1 值范围 任何整数值 2 默认值 派生 1 1 PROCESSES 5 3 建议值 该值无需特意指定 推荐在指定建议值 该值无需特意指定 推荐在指定 PROCESS 后使用系统计算值 后使用系统计算值 4 Transactions 指定并行事务处理的最大数量 如果将该值设置得较大 将增加 SGA 区 的大小 并可增加实例启动过程中分配的回滚段的数量 默认值大于 SESSIONS 以实现递归事务处理 对于连接到 Oracle 数据库的应用 根据其连接方式可以分为 1 直接连接到数据库应用 如 客户前台直接通过 SQL NET JDBC OCI IIOP 连接到数据库应用 这类应用中由于用 户的操作关系 一般的并发事务数较小 远远的小于连接到数据库的会 话数 2 用户前台并不直接与数据库相连而是通过中间件与数据库相连 这类应 用中连接到数据库的会话数等于中间件的服务器的数量 由于应用服务 器的集中作用 这时每个连接到数据库的会话为多个最终客户服务 会 话的负荷较重 事务较多 极限情况下每个会话都可能出现由活动事务 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 7 页 共 105 页 内部资料 注意保密 的情况 考虑到系统的递规调用的情况 最大值可能为 1 1 倍的会话数 值范围 4 到 4G 默认值 派生 1 1 SESSIONS 推荐值 对于第一类应用 推荐的推荐值 对于第一类应用 推荐的 TRANSACTIONS 为为 1 10 到到 1 5 的的 PROCESS 的值 对于第二类应用 推荐的的值 对于第二类应用 推荐的 TRANSACTIONS 为为 1 1 倍的倍的 PROCESS 的值的值 5 Db File Multiblock Read Count 该参数指定了在涉及一个全表连续扫描的一次 I O 操作过程中读取的数据 块 其大小由数据库初始化参数 DB BLOCK SIZE 决定 的最大数量 只有在 系统对数据库的一个表进行全表扫描时 db file scattered read 该参数才起作用 一般的情况下 该参数的设定与系统的应用类型相关 对于做大量数据查 询的 OLAP 系统可以设定较大的值 如 32 对于一般的 OLTP 系统设定为 8 或 16 是一个较好的选择 1 值范围 根据操作系统而定 2 默认值 8 3 推荐值 对推荐值 对 OLAP 系统推荐使用系统推荐使用 32 对 对 OLTP 系统推荐使用系统推荐使用 16 6 Open Cursor 该参数设定了一个会话一次可以打开的游标的最大数量 并且限制使用的 PL SQL 游标高速缓存的大小 以避免用户再次执行语句时重新进行语法分析 如果初始化参数 CURSOR SPACE FOR TIME 设为 TRUE 则 OPEN CURSORS 也需要相应的增大 1 值范围 1 4GB 1 2 默认值 64 3 推荐值 该值与应用类型相关推荐值 该值与应用类型相关 7 Cursor Space For Time 该参数设定了数据库中对于已打开的游标的处理方式 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 8 页 共 105 页 内部资料 注意保密 1 值范围 TURE FALSE TRUE 只要还有指向该游标的句柄 就不可以把该语句换出共享池 同时用户的私有 SQL 区被保留 这样可以提高系统的执行速度 但是将增 加系统的内存的占用 FALSE 共享池中的 SQL 语句可以被替换出共享池以增加可用空间 2 默认值 FLASE 3 推荐值 除非系统的内存比较紧张 否则可以设定该值为推荐值 除非系统的内存比较紧张 否则可以设定该值为 TRUE 以提高以提高 速度 速度 8 Cursor Sharing 控制可以共享相同的共享游标的 SQL 语句类型 1 值范围 FORCE SIMILAR EXACT EXACT 完全相同的 SQL 语句才能共享一个游标 SIMILAR 让语句类似并且执行计划相同的语句共享一个游标 FORCE 强制表达方式不同但语句意思相同的语句共享一个游标 2 默认值 EXACT 3 推荐值 使用推荐值 使用 FORCE 9 Compatible 允许使用一个新的发行版 同时保证与先前版本的向后兼容性 1 值范围 默认为当前发行版 2 默认值 由发行版确定 3 推荐值 使用当前的数据库的版本 除非应用指定使用了某一个过时的推荐值 使用当前的数据库的版本 除非应用指定使用了某一个过时的 特性 特性 10 Log Checkpoint Interval 在 Oracle 数据库系统中 检查点可以看作是在一定的情况下数据库本身的 同步 在出现检查点时 CKPT 进程会触发 DBWR 进程更新所有的数据文件的 文件头 同时写入控制文件和日志文件 Oracle 的检查点的触发有以下几种 1 更新触发 指定在出现检查点之前 必须写入重做日志文件中的操作 系统块 而不是数据库块 的数量 无论该值如何 在切换日志时都会 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 9 页 共 105 页 内部资料 注意保密 出现检查点 较低的值可以缩短实例恢复所需的时间 但可能导致磁 盘操作过量 2 时间触发 指定在出现下一个检查点之前必须经历的时间 秒 系统 缺省为 1800 即半个小时 3 事件触发 由于系统日志的切换或者 DBWR 引起 不可屏蔽 4 强制触发 由数据库管理员执行 ALTER SYSTEM CHECKPOINT 命令 引起 不可屏蔽 值范围 无限制 指定 0 即可禁用基于更新的检查点触发 默认值 根据操作系统而定 推荐值 推荐值 0 即禁用基于文件块变化的检查点事件即禁用基于文件块变化的检查点事件 11 Log Checkpoint Timeout 指定距下一个检查点出现的最大时间间隔 秒数 参见上面的 LOG CHECKPOINT INTERVAL 参数的解释 1 值范围 0 无限制 2 默认值 1800 秒 3 推荐值 推荐值 0 即禁用基于时间的检查点事件即禁用基于时间的检查点事件 12 Fast Start Io Target 控制快速检查点的参数 指定在系统崩溃或例程恢复期间需要的 I O 数量 指定的值越小 则 DBWR 写出数据越频繁 指定的值越大则则对数据库的 影响越小 但是该参数并不是总有效 对瞬间大负荷并不起作用 一般情况下 由于 检查点的存在 可以考虑关闭快速检查点 1 值范围 0 禁用 I O 恢复限制 或 1000 到高速缓存中的所有缓冲区数 2 默认值 高速缓存中的所有缓冲区数 3 推荐值 推荐值 0 即禁用基于改变的快速启动检查点事件即禁用基于改变的快速启动检查点事件 13 Fast Start Mttr Target 控制快速检查点的参数 指定从单个数据库例程崩溃中恢复所需的时间 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 10 页 共 105 页 内部资料 注意保密 估计秒数 在系统设定以下参数后该参数失效 FAST START IO TARGET LOG CHECKPOINT INTERVAL 1 值范围 0 3600 它将计算数据缓冲区高速缓存条目数之上 且大于 最大日志中的块数的限值 2 默认值 0 3 推荐值 推荐值 0 即禁用基于时间的快速检查点事件即禁用基于时间的快速检查点事件 14 与并行操作有关的参数 PARALLEL MIN SERVER PARALLEL MAX SERVER PARALLEL MIN PERCENT PARALLEL ATUOMATIC TUNING PARALLEL EXECUTION MESSAGE SIZE 对于大量的连续 IO 读写的应用 可以考虑设置并行操作参数 此时需要在 执行的 SQL 语句 操纵的数据对象中指定相应的参数 其优先次序依次为 语 句中的提示最优先 其次为对象中的并行定义参数 最后为数据库的初始化参 数 一般情况下 可以做以下设置 一般情况下 可以做以下设置 PARALLEL MIN SERVERS No of CPU PARALLEL MAX SERVERS 2 No of CPU PARALLEL MIN PERCENT 20 PARALLEL ATUOMATIC TUNING TRUE PARALLEL EXECUTION MESSAGE SIZE 4096 2 1 4 典型缓存配置原则典型缓存配置原则 2 1 4 1 SGA 共享池 数据缓冲区和重做日志缓冲区共同构成了数据库的系统全局区 SGA System Global Area 它是 Oracle 系统占用内存的最主要部分 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 11 页 共 105 页 内部资料 注意保密 1 设置的一般性原则设置的一般性原则 对于应用主要运行在客户端的系统 我们推荐使用系统物理内存的对于应用主要运行在客户端的系统 我们推荐使用系统物理内存的 2 3 作作 为数据库的为数据库的 SGA 对于拥有较多物理内存 对于拥有较多物理内存 8GB 的系统 可以在为操作系统保的系统 可以在为操作系统保 留部分内存留部分内存 2 4Gb 后 把剩下的所有内存分配给系统的后 把剩下的所有内存分配给系统的 SGA 对于应用主要运行在服务器端的系统 必须考虑到后台应用所占用的的内对于应用主要运行在服务器端的系统 必须考虑到后台应用所占用的的内 存数量 存数量 2 1 4 2 Shared Pool 共享池是用来存放可供全局共享的对象 比如可重用的 SQL 语句执行计划 PL SQL 包 存储过程 函数和游标等信息 共享池的大小是由 SHARED POOL SIZE 参数决定的 而且可以使用 ALTER SYSTEM SET 语句来动态改变 但总的 SGA 区大小不能超过 SGA MAX SIZE 1 设置的一般性原则设置的一般性原则 一般情况下 共享池大小的设定与应用的类型和并发用户的数量有关系 一般情况下 共享池大小的设定与应用的类型和并发用户的数量有关系 其实际设定值与系统的可用内存相关 其实际设定值与系统的可用内存相关 对于复杂的应用系统对于复杂的应用系统 指每个功能拥有较多的指每个功能拥有较多的 SQL 语句同时每个语句同时每个 SQL 语句的执行计划又比较复杂的情况下 可以适当的增加语句的执行计划又比较复杂的情况下 可以适当的增加 SHARED POOL SIZE 的值 随着并发用户的增加应当适当的调整的值 随着并发用户的增加应当适当的调整 SHARED POOL SIZE 的值 的值 对于较小的应用系统 共享池的大小和数据缓冲区的比例可以为对于较小的应用系统 共享池的大小和数据缓冲区的比例可以为 1 2 随 随 着内存的增加 该比例可以进一步的减小 一般地共享池不必超过着内存的增加 该比例可以进一步的减小 一般地共享池不必超过 4GB 对于一个正常的对于一个正常的 OLTP 系统系统 SQL 语句的缓存命中率在语句的缓存命中率在 95 就是一个比较就是一个比较 好的系统了 对于好的系统了 对于 OLAP 系统系统 80 的缓存命中率也是可以接受的 的缓存命中率也是可以接受的 2 举例 对于一个具有 4GB 物理内存 300 个并发用户的 C S 应用体系的 OLTP 应用 系统可以设定 SHARED POOL SIZE 800M 而对于一个具有 8GB 物理内存 600 个并发用户的 C S 应用体系的 OLTP 应用系统则可以设定 SHARED POOL SIZE 1200M 对于 SHARED POOL SIZE 的最终确定 需要依靠对实际系统的运行分析 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 12 页 共 105 页 内部资料 注意保密 2 1 4 3 Database Buffer Cache 数据库缓冲高速缓存用来存储最近使用的数据 处理查询时 服务器进程 在数据库缓冲高速缓存中查找任何所需的块 如果未在数据库缓冲高速缓存中 找到这个块 服务器进程就从数据文件读取这个块并且在数据库缓冲高速缓存 中放置一个副本 由于对同一个块的后续请求可能在内存中找到这个块 因此 这些后续请求可以不需要再次进行物理读取 Oracle 使用最近最少使用算法来释放近期未被访问的缓冲区 以便在缓冲 高速缓存中为新块腾出空间 数据库缓冲高速缓存的大小由 DB CACHE SIZE 和 DB nk CACHE SIZE 设定 1 设置的一般性原则设置的一般性原则 衡量一个系统的的数据缓冲区设定效果的的一个重要指标是数据的缓存命衡量一个系统的的数据缓冲区设定效果的的一个重要指标是数据的缓存命 中率 中率 对于对于 OLAP 系统 由于大量的数据访问使用全表扫描的方式来运行 回答系统 由于大量的数据访问使用全表扫描的方式来运行 回答 的是一些统计结果和的是一些统计结果和 如果如果 那么那么 之类的分析和预测 其数据缓存的利用率较之类的分析和预测 其数据缓存的利用率较 低 此时主要应该考虑的是规划系统的低 此时主要应该考虑的是规划系统的 IO 分布以提高系统分布以提高系统 IO 效率 而不是提效率 而不是提 高系统缓存的命中率 高系统缓存的命中率 对于对于 OLTP 系统 由于每次处理的数据量较小而且大量的数据是可以重复系统 由于每次处理的数据量较小而且大量的数据是可以重复 使用的 所以数据的共享对提高系统的效率非常重要 下面的说明是针对使用的 所以数据的共享对提高系统的效率非常重要 下面的说明是针对 OLTP 应用系统的 应用系统的 对于一个设计良好的应用系统 其数据库的缓存命中率应该在对于一个设计良好的应用系统 其数据库的缓存命中率应该在 85 以上 以上 一般情况下对于行长和数据量较小的表 索引 我们希望使用较小的数据一般情况下对于行长和数据量较小的表 索引 我们希望使用较小的数据 块 对于行长较大的表可以使用较大的数据块 这样在使用较少的数据块的同块 对于行长较大的表可以使用较大的数据块 这样在使用较少的数据块的同 时 可以使得每个数据块中所包含的数据的量比较均衡 避免同时对同一数据时 可以使得每个数据块中所包含的数据的量比较均衡 避免同时对同一数据 块的更新的竞争 块的更新的竞争 在在 Oracle 10g 中 由于在同一个数据库中支持不同的数据块大小的表空间 中 由于在同一个数据库中支持不同的数据块大小的表空间 同时可以对不同的数据块大小的表空间指定不同数据块缓冲区 这给系统缓冲同时可以对不同的数据块大小的表空间指定不同数据块缓冲区 这给系统缓冲 区的配置提供了极大的灵活性 为了管理的方便起见可以分别指定数据块的大区的配置提供了极大的灵活性 为了管理的方便起见可以分别指定数据块的大 小为索引的数据块的大小为小为索引的数据块的大小为 4KB 表的数据块大小为 表的数据块大小为 8KB 同时指定数据块的 同时指定数据块的 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 13 页 共 105 页 内部资料 注意保密 DB BLOCK SIZE 的大小为表的数据块的大小 这样就需要设定参数的大小为表的数据块的大小 这样就需要设定参数 DB CACHE SIZE 的值和的值和 DB 4k CACHE SIZE 的值 的值 考虑到表和索引的数据量的不同 考虑到表和索引的数据量的不同 DB CACHE SIZE 的值和的值和 DB 4k CACHE SIZE 的比例可以在的比例可以在 4 1 或更高 这样在考虑数据库的磁盘缓或更高 这样在考虑数据库的磁盘缓 冲区的大小时就只需要考虑磁盘的缓冲区 对于较小的应用系统 数据缓冲区冲区的大小时就只需要考虑磁盘的缓冲区 对于较小的应用系统 数据缓冲区 的大小和共享池的大小的比例可以为的大小和共享池的大小的比例可以为 2 1 随着内存的增加 该比例可以进一 随着内存的增加 该比例可以进一 步的增大 步的增大 2 举例 对于一个具有 4GB 物理内存的 C S 应用体系的 OLTP 应用系统可以设定 DB CACHE SIZE 1600M DB 4k CACHE SIZE 400M 而对于一个具有 8GB 物理内存的 OLTP 应用系统则可以设定 DB CACHE SIZE 4000M DB 4k CACHE SIZE 800M 对于 DB CACHE SIZE 的最终确定 需要依靠对实际系统的运行分析 2 1 4 4 Redo Log Buffer 重做日志文件跟踪服务器进程和后台进程对数据库进行的更改 该缓冲区 是循环使用的 包含对数据文件所做的各种修改动作的信息 例如 INSERT UPDATE DELETE CREATE ALTER 和 DROP 等操作 重做日志缓冲区大小由参数文件中的 LOG BUFFER 设置 较大的日志缓冲区有助于降低日志文件的对些频率 提高系统的效率 1 设置的一般性原则设置的一般性原则 由于系统的写日志进程由于系统的写日志进程 LGWR 在日志缓冲区中的重做条目在日志缓冲区中的重做条目 redo entry 达达 到到 1MB 的时候 会把日志缓冲区的数据写入日志文件 同时当日志缓冲区的时候 会把日志缓冲区的数据写入日志文件 同时当日志缓冲区 1 3 满的时候也会写日志文件 所以过大的日志缓冲区是没有意义的 满的时候也会写日志文件 所以过大的日志缓冲区是没有意义的 2 举例 设定 LOG BUFFER 3145728 2 1 4 5 Large Pool 大池用来存储和 SQL 语句处理无直接关系的大内存结构 如在备份和恢复 过程中复制的数据块 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 14 页 共 105 页 内部资料 注意保密 大池是 SGA 区的可选选项 目的为了减轻共享池的压力 大池不使用最近 最少使用 LRU 算法来进行管理 大池的大小由参数文件中的 LARGE POOL SIZE 设置 能被 ALTER SYSTEM 语句动态改变 1 设置的一般性原则设置的一般性原则 大池一般用来存放并行查询的相关信息和大池一般用来存放并行查询的相关信息和 RMAN 的磁盘的磁盘 IO 缓冲区 对于缓冲区 对于 为为 RMAN 所分配的大池 其设定与所分配的大池 其设定与 RAMN 分配的通道数有关 一般可以设定分配的通道数有关 一般可以设定 为为 8MB X 通道数 通道数 2 举例 对于有 5 个磁头的磁带备份系统 设定 LARGE POOL 40M 2 1 4 6 Java Pool 参数 JAVA POOL 设定了数据库用来存放 JAVA 代码的缓冲池的大小 1 设置的一般性原则设置的一般性原则 对于使用了数据库中的对于使用了数据库中的 JAVA 的应用系统 该参数的大小取决于应用的类的应用系统 该参数的大小取决于应用的类 型 我们可以通过查询数据库系统中关于型 我们可以通过查询数据库系统中关于 SGA 的动态视图的动态视图 V SGASTAT 来确来确 定数据库中是否使用了定数据库中是否使用了 JAVA 和合理的和合理的 JAVA POOL 的值 的值 2 举例 对于没有使用数据中的 JAVA 的应用 设定 JAVA POOL SIZE 4M 对于使用了数据库中的 JAVA 的应用 JAVA POOL SIZE 的大小有应用的 类型和数量确定 2 1 4 7 PGA 程序全局区 PGA 是一个内存区域 它包含单个服务器进程或单个后台 进程的数据和控制信息 在创建进程时分配 在终止进程时回收 PGA AGGREGATE TARGET 和 WORKAREA SIZE POLICY 这两个参数 值控制实例的整个 PGA 的大小和调整 其中 PGA AGGREGATE TARGET 控制了整个实例的 PGA 所占用的内存 的总额 WORKAREA SIZE POLICY 控制了 PGA 内存调整的策略 1 设置的一般性原则设置的一般性原则 Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 15 页 共 105 页 内部资料 注意保密 一般情况下 根据应用系统的类型和并发用户的数量 我们对一般情况下 根据应用系统的类型和并发用户的数量 我们对 PGA 的设定的设定 使用不同的的策略 对于使用不同的的策略 对于 OLTP 系统 由于系统的每个会话所占用的内存较少系统 由于系统的每个会话所占用的内存较少 同时会话数量较多 则系统的磁盘缓存和共享缓存需求较大 可以设定较小的同时会话数量较多 则系统的磁盘缓存和共享缓存需求较大 可以设定较小的 PGA AGGREGATE TARGET 即可以设定 即可以设定 PGA SGA 4 对于 对于 DSS 系统由系统由 于每个会话所占用的资源较多 同时会话数量较少故可以设定较大于每个会话所占用的资源较多 同时会话数量较少故可以设定较大 PGA AGGREGATE TARGET 即可以设定 即可以设定 PGA SGA 在初步设定了系统在初步设定了系统 PGA 总额以后 可以通过查询系统的动态视图来进一步总额以后 可以通过查询系统的动态视图来进一步 调整系统对调整系统对 PGA 的需求 可用的动态视图有 的需求 可用的动态视图有 V PGASTAT V SQL WORKAREA HISTOGRAM V SQL WORKAREA ACTIVE 最后 数据库管理员可以通过查询系统关于最后 数据库管理员可以通过查询系统关于 PGA 的建议视图的建议视图 V PGA TARGET ADVICE 和和 V PGA TARGET ADVICE HISTOGRAM 来来 最终决定最终决定 PGA 的大小的大小 2 举例 对于一个具有 4GB 物理内存的 C S 应用体系的 OLTP 应用系统可以设定 PGA AGGREGATE TARGET 600M 但如果应用为 OLAP 系统则可以设定 PGA AGGREGATE TARGET 1200M 同时降低 SGA 的大小 设定 WORKAREA SIZE POLICY AUTO 对于 PGA AGGREGATE TARGET 的最终确定 需要依靠对实际系统的运 行分析 2 2 数据对象的使用原则数据对象的使用原则 2 2 1 表空间的参数设置原则表空间的参数设置原则 对于数据库的存储空间管理 Oracle 有以下的选择 2 2 1 1 Extent 的管理的管理 对 Extent 的管理有两种方式 一般情况下 我们推荐数据库管理员使用本 地管理中的指定大小 Uniform Size 的方式创建表空间 1 数据字典管理 Dicitonary Management Oracle 数据库手册数据库手册 本文档所有权属于中国工商银行股份有限公司本文档所有权属于中国工商银行股份有限公司 第 16 页 共 105 页 内部资料 注意保密 在数据字典的管理方式中 数据库使用数据字典来跟踪数据对象的存储分 配 这样当出现数据对象的存储变化时 数据库需要更新数据字典以保证系统 可以跟踪数据库对象的存储变化 这在某种程度上会造成系统性能的下降 2 本地管理 Local Management 在本地管理方式中 数据库使用每一个数据文件的前面 8 个数据块中的每 一位来代表数据块的占用方式 由于这种方式跟踪数据对象的存储分配不需要 访问数据字典 这在一定程度上避免了递归调用的出现 提高了系统存储管理 的效率 对于本地的 Extent 管理有两种方式 1 自动分配 Autoallocate 自动分配的方式指由数据库系统按照数据对象的大小决定该对象的每一个 EXNENT 的大小 一般情况下 由于数据库系统并不能预先的确定该对象的总 的大小 数据库总是倾向于在初始的几个 Extent 使用较小的值 然后按照 8 128 1024 8192 个数据块的方式急剧的增大 这通常会造成系统过多的碎片和较低的存储空间的利用效率 2 指定大小 Uniform Size 指定大小的方式指由数据库管理员在创建表空间时间指定该表空间的所有 的 EXNENT 的大小 这样该表空间的所有的 Extent 具有同样的大小 一般情况下 由于数据库管理员能够预先的估计出该表空间的数据对象的 大小 所以数据库管理员通常能够确定合适的 UNIFORM SIZE 来创建数据表空 间 通过指定合适的数据表空间 可以避免系统出现过多的碎片和提高存储空 间的利用效率 一般情况下 建议数据库管

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论