编辑: 摇摆白勺白芍 2019-09-18
技术讲座 5:升级到 Oracle 数据库 11g 第2版毛铭琪 高级咨询顾问 Oracle Corporation OTN DBA 日 以下内容旨在概述产品的总体发展方向.

此信息仅供参 考,不可纳入任何合同.此信息不承诺提供任何资料、 代码或功能,并且不应作为制定购买决策的依据.此处 所述有关 Oracle 产品的任何特性或功能的开发、发布以 及相应的日程安排均由 Oracle 自行决定. OTN DBA 日 为什么您应该考虑升级? 可畅通无阻升级到第

2 版?企业面临冲突挑战 C 业务需要变化以提高利润 C IT 需要降低成本 ? Oracle 数据库 11g 经过充分验证 C 投入使用已有

2 年C数千个客户已经升级 ? 当前数据库的支持时间所剩无几 C 对Oracle 9i 数据库的扩展支持将于

2010 年7月31 日终止 C Oracle 数据库 10g 将于

2010 年7月31 日进入扩展支持阶段 C 第1年扩展支持之后,支持费用将提高 20% OTN DBA 日 时间

2008 2003

2004 2005

2006 2007

2002 2009

2010 现在 生命周期支持政策

2011 2012

2013 2014 持续支持 高级支持 R2

2007 年7月扩展支持

2010 年7月2009 年1月2012 年1月R2

2010 年7月2013 年7月http://www.oracle.com/support/library/brochure/lifetime-support-technology.pdf

2015 2016

2012 年8月2015 年8月2008 年7月2011 年7月2018 R2 OTN DBA 日 从 Oracle 9i 直接升级到 包含真正应用集群、ASM 和Data Guard 的Oracle 数据库 11g 要比我们所预计的更轻松、更 顺畅. Lars K?ller 博士 部门主管 计算中心 Bielefeld University OTN DBA 日 准备 会议日程 性能挑战 升级后 升级 联机应用程序升级 最佳实践 OTN DBA 日 升级到 Oracle 数据库 11g OTN DBA 日 推荐的补丁 OTN DBA 日 版本管理 准备 ? 建议: ? 定义数据库版本组: ? 最高的可用性 ? 升级期间停机时间最短(不到

1 小时) ? 高可用性 ? 升级期间停机时间为 1-2 小时 ? 非关键 ? 允许几小时的停机时间 ? 认同特定补丁级别(如9.2.0.

8、10.2.0.4 和11.1.0.7) ? 标准化安装/数据库 ? 始终安装相同的选件(如果可能) ? 较少的选件将缩短升级所需时间 ? 考虑提供 黄金映像 ? 标识几个非关键的系统并将它们提前升级到最新版本 OTN DBA 日 升级所需时间 ? 完成升级需要 多长时间? ? 不取决于: ? 数据库大小 ? 使用的数据类型 ? 取决于: ? 需要升级的对象数量 ? 例如:安装的选件/组件的数量 ? 有效且不陈旧的数据字典统计信息 ? 同义词数量 ― 将重新编译同义词(从9i 升级) ? XDB 中的对象数量 ? 如果增大 COMPATIBLE,则以下因素对升级所需时间的影响很小: ? 数据文件数量 ? 重做日志大小 OTN DBA 日 文档 升级指南 ― 开始之前学习 ? http://download.oracle.com/docs/cd/E11882_01/server.112/e10819/toc.htm ? 说明:837570.1 手动升级到 11g 第2版的完整清单 ? 说明:870814.1 使用 DBUA 将数据库升级到 11g 第2版的完整清单 ? 说明:421191.1 在任何平台上手动从版本 X 升级到版本 Y 的完整清单 Oracle? 数据库升级指南 11g 第2版(11.2) 部件号 E10819-02 OTN DBA 日OTN 升级页面 http://www.oracle.com/technology/products/database/oracle11g/upgrade/index.html OTN DBA 日OTN 升级论坛 准备 ? http://forums.oracle.com/forums/forum.jspa?forumID=583&

start=0 OTN DBA 日Oracle 认证 准备 ? OTN DBA 日 安装 ? 如何获取软件? ? 从OTN 下载: http://otn.oracle.com/software/index.html ? Metalink: ? http://edelivery.oracle.com/ OTN DBA 日 安装 ? 从OTN 下载: OTN DBA 日 会议日程 准备 性能挑战 升级后 升级 联机应用程序升级 最佳实践 OTN DBA 日 升级前检查 升级 ? 升级信息脚本:utlu111i.sql ? 存储位置:$OH_11g/rdbms/admin ? 运行在源数据库环境中 ? 检查所有 init 参数,并对过期的、不适当的参数显示警告 ? 检查: ? 组件 ? 表空间 SYSAUX ? 字符集 ? 时区文件版本 ? 集群 信息 OTN DBA 日 升级前检查 升级 ? utlu111i.sql:杂项警告: OTN DBA 日?为什么选择 DST 时区补丁?(DST:夏令时) ? 自2007 年起,用于更改为 DST 的日期已针对

7 个不同时区进行 了更改 ? HST - EST - MST - EST5EDT - MST7MDT - CST6CDT - PST8PDT ? 当前 DST 定义包括在以下补丁集中 ? 10.2.0.4 ? Oracle 数据库 11g 需要时区版本 V.4 ? Oracle 9i:时区 V1 ? Oracle 10g:时区 V2 ? 没有时区 V4 则不能升级到 Oracle 数据库 11g!!! 时区补丁 OTN DBA 日?汇总 ―

4 个重要 ML 说明: ? 说明 414590.1:常见问题解答和问题 ? 说明 413671.1:时区 V4 ― 检查并链接到补丁 ? ? 说明 359145.1:用于下载 utltzuv2.sql 的链接 ? 说明 396387.1:解释 ? 运行脚本 utltzuv2.sql 以识别 TIMESTAMP WITH TIMEZONE ? 将应用 timezone.dat 和timezlrg.dat 文件 时区补丁 OTN DBA 日 准备 ? 性能分析的可能性: ? STATSPACK ― 导出 Perfstat 用户!!! ? 说明:394937.1 STATSPACK 指南 ? AWR ― 提取 AWR ? 比较升级前/后差异,生成 AWR 差异报告 ? 真正应用测试 ? SQL Performance Analyzer ? 数据库重放 OTN DBA 日 准备 ? 如果从 10g 或11g 升级,则清除回收站 SQL>

purge DBA_RECYCLEBIN;

OTN DBA 日 准备 ? 在升级前创建字典统计信息 ― 否则将花费更长时间 ? 或者在 / 中: BEGIN dbms_stats.gather_schema_stats ('

SYS'

, options =>

'

GATHER'

, estimate_percent =>

DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt =>

'

FOR ALL COLUMNS SIZE AUTO'

, cascade =>

TRUE);

END;

/ SQL>

EXECUTE dbms_stats.gather_dictionary_stats;

OTN DBA 日 升级前检查 升级 ? utlu111i.sql:组件和选件? ? 注释: 请确保将当前使用的所有组件都安装到新的 ORACLE_HOME 中OTN DBA 日 升级前检查 升级 ? 记下所有无效对象: 使用 ultrp.sql 重新编译 SYS 和SYSTEM 中的无效对象 SQL>

SELECT UNIQUE object_name, object_type, owner FROM dba_objects WHERE status='

INVALID'

;

OTN DBA 日 升级路径 升级 OS 更改? 是否升级 导出/导入 CTAS、COPY 可传输表空间 可传输数据库 Oracle Streams DBUA 停机时间 >

45 分钟? 是否SQL 应用 CLI SQL>

@catupgrd OTN DBA 日Database Upgrade Assistant (GUI) 升级 ? 特性: ? GUI 驱动的升级 ? 大量重要检查 ? 识别 RAC ― 包括所有节点 ? 对于 RAC(几乎)是必需的!!! ? 可以实现脱机备份和恢复 ? ASM 升级 ? Oracle XE 升级(尚未用于 11g 第2版) ? 补丁升级 ? 静默模式: $ dbua Chelp 显示所有有效选项 ? 文档: ? Oracle? Database Upgrade Guide OTN DBA 日 命令行升级 升级 ? 命令行升级分步说明: 1. 完成数据库的联机备份 2. 安装 11g 第2版Oracle 软件 3. 使用 utlu111i.sql 分析数据库并按照脚本给出的所有要求进行操 作4. 使用 NETCA 创建新的监听器 5. 切换到新环境,启动数据库 (startup upgrade) 并创建 SYSAUX 表空间 (如果源数据库是 Oracle 9i 数据库) 6. 运行升级脚本 catupgrd.sql,然后重新编译:utlrp.sql 7. 检查升级后的状态:utlu111s.sql OTN DBA 日 会议日程 准备 性能挑战 升级后 升级 联机应用程序升级 最佳实践 OTN DBA 日 统计信息 升级后 ? 创建表统计信息: ? 创建系统统计信息: SQL>

exex dbms_stats.gather_fixed_objects_stats;

SQL>

select pname, pval1 VALUE, pval2 INFO from aux_stats$;

NAME VALUE INFO STATUS COMPLETED DSTART 04-09-2008 12:30 DSTOP 05-09-2008 12:30 FLAGS

1 CPUSPEEDNW 1392,39 IOSEEKTIM 11,405 IOTFRSPEED 25595,605 ... SQL>

EXECUTE dbms_stats.gather_system_stats('

start'

);

... SQL>

EXECUTE dbms_stats.gather_system_stats('

stop'

);

OTN DBA 日 参数 COMPATIBLE 升级后 ? 在11g 数据库中至少必须为 10.0.0 ? 一旦为 11.0.0,则无法返回 ? 仅支持版本降级到 10.0.0 ? 仅支持补丁降级到 11.0.0 ? 不再有 ALTER DATABASE RESET COMPATIBILITY 命令 COMPATIBLE = 10.0/1/2.0 COMPATIBLE = 11.0.0 OTN DBA 日 参数 COMPATIBLE 升级后 ? DBUA 将COMPATIBLE 保留为 10.x.0 ? 启用 Oracle 11g 特性: ? 然后重新启动数据库 ? 将启用新特性 ? 将调整数据文件头 ? 将在首次访问期间调整重做日志文件 SQL>

alter system set compatible='

11.1.0.6'

scope=spfile;

OTN DBA 日 新参数 ― 选择 升级后 ? CONTROL_MANAGEMENT_PACK_ACCESS ? 默认值:DIAGNOSTIC+TUNING ? 值: DIAGNOSTIC+TUNING DIAGNOSTIC NONE ? 用途: 控制对诊断包和调优包 若干功能的访问 ? 示例: CONTROL_MANAGEMENT_PACK_ACCESS=NONE select count(*) from v$active_session_history;

==>

0 rows OTN DBA 日 新参数 ― 选择 升级后 ? DIAGNOSTIC_DEST ? 默认值:$ORACLE_BASE ? 值: 操作系统路径/目录 ? 格式: /diag/rdbms// ? 用途: 取代 background_dump_dest、 user_dump_dest、监听器跟踪等 ― 指定 ADR 主目录(自动诊断信息库) OTN DBA 日?ADR:系统范围的日志记录/跟踪目录 ? 哦,我的 alert.log 现在是 XML 格式??? ? 不要惊慌: ? 文件仍保持文本格式 ? 有两个非常适用的接口: ? adrci ? DatabaseControl ? 错误分类 ? 问题(严重错误,如ORA-

600、ORA-

7445、ORA-4031??) ? 事件(单个错误 ― 如果经常出现,就会变成问题!!) 自动诊断信息库 升级后 OTN DBA 日11g 中的自动化 升级后 ? 作业 OTN DBA 日11g 中的自动化 升级后 ? 作业

240 分钟 =

4 小时……

1200 分钟 =

20 小时 OTN DBA 日11g 中的自动化 升级后 ? 自动配置已定义的维护作业 OTN DBA 日11g 中的自动化 升级后 ? 配置优化器统计信息收集 OTN DBA 日11g 中的自动化 升级后 ? 配置自动 SQL 调优 OTN DBA 日 会议日程 准备 性能挑战 升级后 升级 联机应用程序升级 最佳实践 OTN DBA 日 挑战和最佳实践 性能挑战 ? >

90% 的所谓升级问题实际上不是升级问题,而是升级后出 现的性能问题 ? 使用足够的测试场景和方法很重要 ? 典型的问题区域: ? 优化器 ― 执行计划 ? 查询速度慢 ? 报告或批处理需要花费更长时间才完成 ? 资源需求增加 OTN DBA 日 挑战和最佳实践 性能挑战 ? 在升级到新版本之前,获取尽可能多的性能信息 ― 这至关 重要!!! ? 获取准确的性能统计信息 ? 比较:前?后?测量查询和批处理时间 ? 测试数据库升级 ? 进行功能测试 ? 始终使用真实生产数据 ? 使用 RMAN 创建生产数据库的副本 ? 使用实际负载运行性能测试!!! OTN DBA 日 挑战和最佳实践 性能挑战 ? 性能分析和预测的可能性: ? STATSPACK ? 可用于 8i/9i/10g/11g ? AWR ? 在10g/11g 中提供 ? SQL 计划管理 ? 自11g 起提供 ? 真正应用测试 ? SQL Performance Analyzer ? 可用于 9i/10g/11g ? 数据库捕获和重放 ? 捕获可用于 9i/10g/11g ? 重放仅可用于 11g OTN DBA 日 会议日程 准备 性能挑战 升级后 升级 联机应用程序升级 最佳实践 OTN DBA 日Oracle 数据库 11g 第2版联机应用程序升级 ? 安装补丁或升级时,任务关键的大型应用程序通常在 数十个小时内不可用 ? Oracle 数据库 11g 第2版引入了革命性的新功能,允 许在不中断应用程序可用性的情况下进行联机应用程 序升级 ? 可以同时使用升级前应用程序和升级后应用程序 OTN DBA 日 联机应用程序升级 流程 1. 所有会话使用升级前应用程序 2. 在升级期间(也称为热滚动期间),同时使用升级 前和升级后应用程序,以便: a. 允许每个现有会话继续使用升级前应用程序,直到用户决定 终止会话 b. 使用升级后应用程序启动任何新会话 3. 当会话不再使用升级前应用程序时,升级前应用程 序可以报废 OTN DBA 日 联机应用程序升级 挑战 要实现联机应用程序升级,必须应对以下挑战: ? 将升级安装到生产数据库必须对升级前应用程序 的实时用户不可见 ? 升级前应用程序的用户执行的事务必须在升级后应用 程序中反映出来 ? 对于热滚动,升级后应用程序用户执行的事务必须在 升级前应用程序中反映出来 OTN DBA 日Edition ― 版本 ? 版本 是11.2 中新的非模式对象类型 ? 每个数据库至少具有一个版本 ? 新安装或升级的数据库具有的初始版本称为 ORA$BASE ? 每个数据库会话使用一个版本 ? 您可以将新版本作为现有版本的子项来创建 ? 版本从其父项继承所有对象 ? 每个........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题