ORACLE-RAC技术标准培训文档.pptx
Roy RosseboRAC Pack甲骨文公司真正应用集群最佳应用真正应用集群最佳应用作者:Kirk McGowanRoland KnappRoy Rossebo以及 RAC Pack 团队其他成员讲座目标讲座目标 只要坚持遵从一些最佳应用,在 Linux 上实施真正应用集群就应该会相对简单一些 演示基于 RAC Pack 客户对 9i 和 10g 体验的最重要的 RAC 最佳应用, 一般的和 Linux 特定的最佳应用没有其他特定平台重点讲述 10g免责声明免责声明这些最佳应用的依据是客户的真实体验,通常会提供最佳的结果。但是不同系统具有不同的需求和成本结构,因此这些最佳应用可能不适用于所有情况。随着技术不断的发展,以及新体验的出现,这些最佳应用可能会随着时间的推移而发生变化。这些最佳应用不能替代产品使用正式指南的标准产品文档。议程议程 规划最佳应用体系结构考虑事项期望效果项目计划 实施最佳应用基础架构考虑事项安装数据库配置应用程序考虑事项 运作的最佳应用备份与恢复监控与调整生产移植了解体系结构了解体系结构集群的集群的数据库服务器数据库服务器镜像磁盘镜像磁盘子系统子系统高速交换机和高速交换机和互联互联集线器或集线器或交换机结构交换机结构网络网络集中集中管理控制台管理控制台存储区域网存储区域网低延迟互联低延迟互联用户无单点故障了解体系结构了解体系结构 共享内存共享内存/全局区域全局区域. . . . . 共享内存共享内存/全局区域全局区域 共享内存共享内存/全局区域全局区域 共享内存共享内存/全局区域全局区域共享数据模型了解体系结构了解体系结构公用网络公用网络节点 1共享存储共享存储重做日志所有实例重做日志所有实例数据库和控制文件数据库和控制文件OCR 和和 voting 磁盘磁盘(oracle_home)操作系统CRS集群互联集群互联数据库实例 1ASM 实例 1节点 2操作系统CRS数据库实例 2ASM 实例 2节点 3操作系统CRS数据库实例 3ASM 实例 3集群互联集群互联. . .了解体系结构了解体系结构 集群术语 基本功能通过消除作为单点故障 (SPOF) 的节点和 Oracle,实现了高可用性通过增加额外的处理容量,实现了可伸缩性 硬件组件专用互联/网络交换机共享存储器/并行访问/存储交换机 软件组件操作系统、集群管理器、DBMS/RAC、应用程序各种集群管理器之间的区别规划体系结构规划体系结构 消除单点故障 工作负载分布(负载均衡)策略Net 服务 (SQL*Net)Oracle10g 服务 使用网格控件监控和管理并达成服务级别协议 处理节点 足够的CPU 以适应故障 可伸缩 I/O 子系统使用 ASM 和 S.A.M.E.规划体系结构规划体系结构 集群互联FastEthernet、千兆以太网 公用网络 以太网、FastEthernet、千兆以太网 推荐的服务器配置每台服务器最少 2 个 CPU2 个和 4 个 CPU 服务器的成本通常最经济每个 CPU 1-2 GB 内存 光纤通道、SCSI 或 NAS 存储连接规划体系结构规划体系结构坚不可摧的坚不可摧的 Linux 产品产品 Red Hat Enterprise Linux AS 、 ES 2.1 和 3.0 SuSE Linux Enterprise Server 8 (SuSE Linux AG) Oracle 将支持与其他发行版本一起运行的 Oracle 产品,但不支持该操作系统本身。坚不可摧坚不可摧 Linux 上的上的 RAC 认证认证 认证 企业级操作系统发行(例如 RH AS 2.1 和 3.0,Suse SLES/8 )集群件(Oracle OSD 集群件)直接联网存储(例如 Network Appliance filers)大多数 SCSI 和 SAN 存储器都可兼容 有关软件认证的详细信息,请访问: http:/ 与您的硬件供应商一起讨论硬件配置设置正确的期望设置正确的期望如果您的应用程序要在 SMP 上透明伸缩,则现实的期望是它在 RAC 上伸缩良好,而不必对应用程序代码进行任何更改。 RAC 消除了作为单点故障的数据库和节点本身,确保了出现这些故障时数据库的完整性制定适当的目标制定适当的目标 高可用性目标计划与非计划技术故障、站点故障与人为错误 可伸缩性目标加速和扩展响应时间、吞吐量和其他计量标准 服务器/整合目标通常与 TCO 相关通常比较主观构建您的项目计划构建您的项目计划 与您的供应商合作多个股东,共享成功 构建详细的测试计划在进入 RAC 之前确认在 SMP 上的可伸缩性 首先优化单个实例 明确知识上的欠缺并进行培训集群、RAC、高可用性、可伸缩性、系统管理需要时利用外部资源 建立严格的系统和应用程序更改控制一次针对一个系统元素应用更改首先针对测试环境应用更改监控应用程序更改对基础系统组件的影响 定义支持机制和上报过程议程议程 计划最佳应用体系结构考虑事项期望效果项目计划 实施最佳应用基础架构考虑事项安装数据库配置应用程序考虑事项 运作的最佳应用备份与恢复监控与调整生产移植安装流程图安装流程图配置硬件 配置专用网络安装和配置 坚不可摧的 Linux安装 Oracle CRS安装 Oracle 数据库, 包括 RAC 和 ASM运行 VIPCA,自动从 RDBMS root.sh 启动配置存储器,包括 ASMLIB使用 DBCA 创建数据库Linux x86 要求要求 操作系统要求Red Hat Enterprise Linux ES/AS 2.1 (x86) Gnu gcc package,gcc-2.96.108.1 或更高版本还必须安装下列程序包(或更高版本): make-3.79 binutils-2.11 openmotif-2.1.30 Kernel errata 25 (e.25) 或更高版本 (RHSA-2003:195-06) glibc 2.2.4-31 errata 或更高版本 (RHSA-2003:022-09) Linux x86 要求(续)要求(续) 操作系统要求Red Hat Enterprise Linux ES/AS 3 (Update 2) (x86) Gnu gcc package,gcc-3.2.3-2 或更高版本还必须安装下列程序包(或更高版本): make-3.79 binutils-2.11 openmotif-2.2.2-16 setarch-1.3-1 compat-db-4.0.14.5 compat-gcc-7.3-2.96.122 compat-gcc-c+-7.3-2.96.122 compat-libstdc+-7.3-2.96.122 compat-libstdc+-devel-7.3-2.96.122Linux x86 要求(续)要求(续) 操作系统要求UnitedLinux 1.0 (x86) 尚未认证,认证将与补尚未认证,认证将与补丁程序集丁程序集 10.1.0.3 一起在一起在 6 月末结束。月末结束。Service Pack 3 (SP3) 或更高版本 (内核版本 2.4.21-138) Gnu gcc package,gcc-3.2.2-38 或更高版本还必须安装下列程序包(或更高版本) : make-3.79 binutils-2.12 openmotif-2.2.2-124Linux IA64 要求要求 操作系统要求Red Hat Enterprise Linux ES/AS 2.1 (Update 3) 还必须安装下列程序包(或更高版本) : make-3.79 binutils-2.11 openmotif-2.1.30 gcc-2.96-124 glibc-2.2.4-32 libaio-0.3.92-1 libaio-devel-0.3.92-1 必须安装 Kernel errata 40 (e.40) 或更高版本Linux IA64 要求(续)要求(续) 操作系统要求Red Hat Enterprise Linux ES/AS 3 (Update 1) 还必须安装下列程序包(或更高版本) : gcc-3.2.3-20 make-3.79 binutils-2.11 openmotif-2.2.2-16 setarch-1.3-1 compat-db-4.0.14.5 compat-gcc-7.3-2.96.122 compat-gcc-c+-7.3-2.96.122 compat-libstdc+-7.3-2.96.122 compat-libstdc+-devel-7.3-2.96.122 必须安装 Kernel errata 40 (e.40) 或更高版本Linux IA64 要求(续)要求(续) 操作系统要求SuSE Linux Enterprise Server 8 还必须安装下列程序包(或更高版本) : Service Pack 3 (SP3) 或更高版本 (kernel version 2.4.21-107) gcc-3.2-29 make-3.79 binutils-2.12 openmotif-2.2.2-124有关详细信息,请参阅 Oracle 数据库客户机快速安装指南Linux Itanium 的 10g Release 1 (10.1) 编号. B13763-01 准备准备 Linux 环境环境 在集群的每个节点上执行下列操作在 /etc/sysctl.conf 中设置内核参数向 /etc/hosts 文件添加主机名为 ORACLE_HOME(对于 Oracle 用户 ID 可写入)建立文件系统和位置在所有节点上设置 ssh在所有节点上安装该 rpm使用脚本“/etc/init.d/oracelasmConfigure”选项配置 ASMLib使用 “/etc/init.d/oracleasmcreatedisk VOL1 /dev/sdg” 为 ASM 提供磁盘将发现字符串设置为 “ORCL”从 http:/ 下载最新的 ASMLib rpmASMLib 的安装流程图的安装流程图 有关详细的安装说明,请参阅有关详细的安装说明,请参阅http:/ 使用 Oracle Universal Installer 安装 CRS/CSS 堆栈 使用 $CRS_HOME/root.sh 第一次启动该 Oracle 堆栈 加载/安装 hangcheck 计时器如果要对数据库文件使用 ASM,则请为 CRS/CSS 创建两个裸设备CRS 安装流程图安装流程图使用使用 DBCA 简化数据库创建简化数据库创建 设置 MAXINSTANCES、MAXLOGFILES、MAXLOGMEMBERS、MAXLOGHISTORY、MAXDATAFILES(DBCA 为自动进行) 将表空间创建为本地管理( DBCA 为自动进行) 创建所有的表空间并具有ASSM(自动分段空间管理)特性 (DBCA 为自动进行) 配置自动 UNDO 管理( DBCA 为自动进行) 使用 SPFILE 而不是使用多个 init.ora ( DBCA 为自动进行)安装后安装后 要启用异步 I/O, 必须重新链接 Oracle 才能使用 skgaioi.o ,并为RH2.1 和 RH3.0系统安装 bug 3208258 与Basebug 3016968的 Patch Set Exception 。 安装 ARU: 10.1.0.2 ARU 6076422 来修复专用互联的使用。 将 UDP 发送/接受缓冲区大小调整为 256K sysctl -w net.core.rmem_max=262144sysctl -w net.core.wmem_max=262144sysctl -w net.core.rmem_default=262144sysctl -w net.core.wmem_default=262144ASMLib 安装后安装后 使用 asmlib realease 1.0.1。确保正确运行了确保正确运行了“oracleasm configure“确保对于所需的磁盘正确运行了确保对于所需的磁盘正确运行了“oracleasm createdisk“执行执行“oracleasm listdisks“显示可使用磁盘显示可使用磁盘对于每个标记的磁盘执行对于每个标记的磁盘执行“oracleasm querydisk“,确保它已被标记确保它已被标记使用使用cat /proc/filesystem命令,确保存在一个命令,确保存在一个 oracleasm 文件系统文件系统执行执行 df ha,此命令应该显示此命令应该显示 /dev/oracleasmfs 已经装载已经装载ls -l /dev/oracleasm/disks,确保确保 ownership/permissions 为为 oracle:oinstall验证对于验证对于 ASMLIB 是否使用了下列搜索字符串(或对是否使用了下列搜索字符串(或对 DBCA 或对命令行):或对命令行):“ORCL:*“Oracle 10g的现有版本要求执行自定义安装才能获取标记的的现有版本要求执行自定义安装才能获取标记的 asmlib 磁盘。磁盘。如果如果 ASM 实例当前处于活动状态,则在发现实例当前处于活动状态,则在发现 asmlib 磁盘的同时,要跟踪磁盘的同时,要跟踪 ASM alert.log,来查看来查看 ASM 是否会显示有关发现的消息。是否会显示有关发现的消息。验证验证 RAC 配置配置在所有节点上运行的实例在所有节点上运行的实例SQL select * from gv$instanceRAC 在专用互联上进行通信在专用互联上进行通信SQL oradebug setmypid SQL oradebug ipcSQL oradebug tracefile_name/home/oracle/admin/RAC_1/udump/rac_1_ora_1343841.trc Check trace file in the user_dump_dest:SSKGXPT 0 x2ab25bc flags info for network 0 socket no 10 IP 10.0.0.1 UDP 49197 sflags SSKGXPT_UP info for network 1 socket no 0 IP 0.0.0.0 UDP 0 sflags SSKGXPT_DOWNRAC 正在使用所要求的正在使用所要求的 IPC 协议:协议:Check Alert.log. cluster interconnect IPC version:Oracle UDP/IP IPC Vendor 1 proto 2 Version 1.0 PMON started with pid=2 . 仅在必要时才使用仅在必要时才使用 cluster_interconnects议程议程 计划最佳应用体系结构考虑事项期望效果项目计划 实施最佳应用基础架构考虑事项安装数据库配置应用程序考虑事项 运作的最佳应用备份与恢复监控与调整生产移植本地管理的表空间本地管理的表空间 将所有表空间创建为本地管理,并且带有自动分段空间管理CREATE TABLESPACE xx .EXTENT MANAGEMENT LOCAL .SEGMENT SPACE MANAGEMENT AUTO .在 DBCA 中这是自动完成的ASSM 自动分段空间管理 (ASSM)消除了计算 PCTUSED、FREELISTS 和 FREELIST GROUPS 的复杂过程允许实例进行空间的动态亲和,避免了可用列表组固有空间的硬分区。 避免了并发访问时的争用,并优化了空间使用。不需要任何维护。使您能够支持任意数量的实例,而不用对对象作任何更改。使用在线重新构建功能,将对象从可用列表组移到 ASSM。在 DBCA 中自动配置应用程序部署应用程序部署 对于 RAC 无需特殊的应用程序设计或编码 在一个单一实例 SMP 环境中运行正常的所有应用程序在 RAC 也会运行正常 只是.在一个实例环境中出现的争用问题在 RAC 环境中可能会更加严重。如果与数据相关的路由可在中间层实现,则还可以进一步提高性能应用程序部署应用程序部署 规则与单一实例相同SQL 调整顺序缓存将大型对象分区使用不同的块大小避免 DDL按照前面的注意事项使用 LMT 和 ASSMSQL 调整调整 优化的执行计划 可共享的 SQL 解析 审计 全表扫描顺序顺序 顺序号总是使用缓存选项 将顺序缓存设置为 1000 或更多 增加 SYS.AUDSES$ 的缓存值在出现大量“登录”时会有所帮助将顺序 sys.audses$ 的缓存更改为 10000;对大型表对大型表/索引进行分区索引进行分区 使用合适的分区。 改善对象的可管理性。 DML 密集对象的散列、列表和组合分区会有所帮助。不同的块大小不同的块大小 大块用于经常进行长扫描的表。大多数为读操作的表和索引。使用批量加载进行加载并且没有更新的表。 小块用于上述情况之外的环境。尽量少用尽量少用 DDL 不要创建和删除属于正常用户应用程序一部分的表 而采用其他方式DDL 访问数据字典,在单个实例以及 RAC 上都会引起争用问题DDL 操作可能会使得存储的 sql 语句失效,从而导致重新分析,这样会影响性能议程议程 计划最佳应用体系结构考虑事项期望效果项目计划 实施最佳应用基础架构考虑事项安装数据库配置应用程序考虑事项 运作的最佳应用备份与恢复监控与调整生产移植操作操作 DBA 过程与单个实例基本相同,只有一些较小区别,而且大多数为机械上的区别。 管理 Oracle 环境通过引导/重新引导服务器来启动/停止 Oracle 集群系列管理多个重做日志线程 启动和关闭数据库使用网格控制 备份和恢复 性能监控和调整 生产移植备份和恢复备份和恢复 使用 RMAN备份和恢复 ASM 文件的唯一选择 使用网格控制访问 RMAN 的 GUI 界面 对于备份和存档日志使用 10g 快速恢复区域在 ASM 上,可用于所有实例实例恢复实例恢复 设置 fast_start_mttr_target初始设置为 300 比较好性能与可用性的平衡 为一次恢复确定缓冲区大小。 确保使用了异步 I/O。 使用恢复并行。避免逐出故障节点避免逐出故障节点 如果一些重要进程无法快速响应,则可能会收到“heart beat”故障为 LMS 启用实时优先级不要长时间在 100% CPU 情况下运行系统确保对于控制文件和 voting 磁盘都具有良好的 I/O 响应时间性能监控性能监控/调整调整 首先对单个实例 10g 进行调整 Oracle 性能管理器 / ADDM / AWR RAC 特定的视图 使用脚本/跟踪进行补充监控 V$SESSION_WAIT 看等待事件中涉及哪些块跟踪类似 10046/8 的事件可提供附加的等待事件详细信息如同在单个实例上一样监控警报日志,跟踪文件 使用系统级别监控进行补充CPU 使用率从来不会达到 100%I/O 服务次数从来不会大于可接受的阈值CPU 在优化级别运行队列性能监控性能监控/调整调整 单个节点上明显的应用程序不足无法通过多个节点得到解决。单点争用。在 SMP 上不可伸缩单个实例数据库上的 I/O 限制 在单个实例数据库上进行调整来首先确保应用程序的可伸缩使用 v$segment_statistics 识别涉及的对象,从而识别/调整争用如果绝大部分时间都是在等待,则集中关注排在前面的那些等待事件如果出现 CPU 限制,则集中关注有问题的 SQL 在基础系统(数据库、操作系统、存储子系统等)上维护一个均衡负载单个组件上过多的负载可能会引起异常行为。性能监控性能监控/调整调整 判断 RAC 是否是性能瓶颈“集群”等待事件类交叉实例通讯量的数量 请求的类型 块的类型反应时间 块接收时间 缓冲区大小因素 带宽因素生产移植生产移植 遵守功能强大的系统生命周期规则全面的测试计划(功能和负载)演练生产移植计划更改控制更改控制 对于开发、测试、对于开发、测试、QA/UAT、生产使用单独的环境生产使用单独的环境 系统和应用程序更改控制系统和应用程序更改控制 将更改记录到将更改记录到 spfile备份和恢复过程安全控制支持过程9i 到到 10g 的移植的移植 两个集群管理器都需要 集群管理器共存的问题安装和配置问题 正在准备注意事项资料,可以在Metalink 上得到仅用于移植,不用于永久性的生产总结总结 使用 RAC 和 Linux 可节省大量成本 Linux 和集群对于某些公司来说可能是新技术 RAC 是经过良好验证的技术 只要坚持一些最佳应用,在 Linux 上实施 RAC 就应该会相对简单一些接下来接下来,您可以您可以 参加相关讲座 参观相关演示/展览 访问有关网站,了解详细信息AQ&树立质量法制观念、提高全员质量意识。22.5.2522.5.25Wednesday, May 25, 2022人生得意须尽欢,莫使金樽空对月。21:16:4721:16:4721:165/25/2022 9:16:47 PM安全象只弓,不拉它就松,要想保安全,常把弓弦绷。22.5.2521:16:4721:16May-2225-May-22加强交通建设管理,确保工程建设质量。21:16:4721:16:4721:16Wednesday, May 25, 2022安全在于心细,事故出在麻痹。22.5.2522.5.2521:16:4721:16:47May 25, 2022踏实肯干,努力奋斗。2022年5月25日下午9时16分22.5.2522.5.25追求至善凭技术开拓市场,凭管理增创效益,凭服务树立形象。2022年5月25日星期三下午9时16分47秒21:16:4722.5.25严格把控质量关,让生产更加有保障。2022年5月下午9时16分22.5.2521:16May 25, 2022作业标准记得牢,驾轻就熟除烦恼。2022年5月25日星期三21时16分47秒21:16:4725 May 2022好的事情马上就会到来,一切都是最好的安排。下午9时16分47秒下午9时16分21:16:4722.5.25一马当先,全员举绩,梅开二度,业绩保底。22.5.2522.5.2521:1621:16:4721:16:47May-22牢记安全之责,善谋安全之策,力务安全之实。2022年5月25日星期三21时16分47秒Wednesday, May 25, 2022相信相信得力量。22.5.252022年5月25日星期三21时16分47秒22.5.25谢谢大家!谢谢大家!树立质量法制观念、提高全员质量意识。22.5.2522.5.25Wednesday, May 25, 2022人生得意须尽欢,莫使金樽空对月。21:16:4721:16:4721:165/25/2022 9:16:47 PM安全象只弓,不拉它就松,要想保安全,常把弓弦绷。22.5.2521:16:4721:16May-2225-May-22加强交通建设管理,确保工程建设质量。21:16:4721:16:4721:16Wednesday, May 25, 2022安全在于心细,事故出在麻痹。22.5.2522.5.2521:16:4721:16:47May 25, 2022踏实肯干,努力奋斗。2022年5月25日下午9时16分22.5.2522.5.25追求至善凭技术开拓市场,凭管理增创效益,凭服务树立形象。2022年5月25日星期三下午9时16分47秒21:16:4722.5.25严格把控质量关,让生产更加有保障。2022年5月下午9时16分22.5.2521:16May 25, 2022作业标准记得牢,驾轻就熟除烦恼。2022年5月25日星期三21时16分47秒21:16:4725 May 2022好的事情马上就会到来,一切都是最好的安排。下午9时16分47秒下午9时16分21:16:4722.5.25一马当先,全员举绩,梅开二度,业绩保底。22.5.2522.5.2521:1621:16:4721:16:47May-22牢记安全之责,善谋安全之策,力务安全之实。2022年5月25日星期三21时16分47秒Wednesday, May 25, 2022相信相信得力量。22.5.252022年5月25日星期三21时16分47秒22.5.25谢谢大家!谢谢大家!