1 / 58

升级 、 迁移和整合 到 Oracle Database 12c

升级 、 迁移和整合 到 Oracle Database 12c. Mike Dietrich 数据库升级和实用程序 Oracle Corporation. Roy Swonger 软件开发 和 产品管理高级总监. Carol Tagliaferri 软件开发高级经理. Cindy Lim 首席技术人员. Joseph Errede 首席技术人员. Mike Dietrich 资深首席技术专家. Eric Wittenberg 首席软件工程师. 数据库升级开发组. 终身支持政策. 现在. 2007 年 1 月. 2010

elaine-moon
Télécharger la présentation

升级 、 迁移和整合 到 Oracle Database 12c

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 升级、迁移和整合到 Oracle Database 12c Mike Dietrich 数据库升级和实用程序 Oracle Corporation

  2. Roy Swonger 软件开发和产品管理高级总监 Carol Tagliaferri 软件开发高级经理 Cindy Lim 首席技术人员 Joseph Errede 首席技术人员 Mike Dietrich 资深首席技术专家 Eric Wittenberg 首席软件工程师 数据库升级开发组

  3. 终身支持政策 现在 2007 年 1 月 2010 年 7 月 2009 年 1 月 2012 年 1 月 2010 年 7 月 2013 年 7 月 2012 年 8 月 2015 年 8 月 2015 年 1 月 2018 年 1 月 2018 年 6 月 2021 年 6 月 现在 标准支持服务 免费扩展支持服务 扩展支持服务 持续支持服务

  4. 现在需要升级吗?

  5. 升级、迁移与整合 • 多租户环境简介 • 可插拔数据库发展之路 • 使用可插拔数据库 • 总结

  6. 多租户环境- 概念! • 整合 • 减少维护 • 简化和加速供应、克隆和迁移 • 选件名为 Oracle Multitenant

  7. 注意!! • 许多众所周知的概念都将发生改变 • 管理员指南中有大约 150 页的新文档

  8. 地球依旧圆  • 您不是必须使用可插拔数据库……尚非必须 • Oracle Database 12c 非 CDB 可按预期工作 • 您还是可以使用新特性- 而这将需要改变旧习惯

  9. 实施 • 多租户容器数据库=> CDB • DBA 在 CDB 级别进行管理 • CDB 总是包含一个PDB$SEED,以及零个、一个或许多可插拔数据库(PDB) • 应用程序将连接到 PDB • 1 个 CDB 最高可容纳 252 个 PDB PDB$SEED PDB PDB PDB PDB CDB

  10. 容器 • CDB 中有什么? • PDB • 可插拔数据库 • 包含数据和代码 • CDB$ROOT • 对所有 PDB 可用的模式、对象等 • CDB 的数据字典中有关于所有 PDB 的信息 • PDB$SEED • 可用于创建 PDB 的模板 • PDB、CDB$ROOT 和 PDB$SEED 都称为容器 PDB$SEED PDB PDB PDB PDB CDB$ROOT

  11. 后台 • 一个 SGA、一组后台进程以及一个 spfile • 资源共享带来的优势 • 应用程序连接到 PDB 重做 控制 闪回 PDB$SEED PDB PDB PDB PDB CDB$ROOT spfile

  12. 创建 CDB • 两种选择: • DBCA • 强烈推荐 • 命令行 CREATE DATABASE • 建议不要采用此办法,因为必须创建所有选项 CREATE DATABASE cdb12 [...] ENABLE PLUGGABLE DATABASE SEED FILE_NAME_CONVERT=('/oradata/cdb12/','/oradata/pdbseed/') SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE […]

  13. 从命令行创建 CDB • 必须通过catcon.pl启动脚本: • catdb.sql 将针对所有选项运行所有脚本 • 最有用的 catcon.pl 选项: • -u用户名,还可以包括口令 • -d包含要执行的脚本的目录(默认值:当前目录) • -e 启用回显 • -s将每个脚本的输出导出到假脱机文件 • -l 写入日志文件的目录(默认值:当前目录) • -b 日志文件的基本名称(必选选项) $> perl catcon.pl-u SYS -d $ORACLE_HOME/rdbms/admin -e -s -b catalog catdb.sql

  14. CDB-PDB:简介 • 创建 CDB 之后: • 数据字典 • 通用用户 • 默认根目录下没有用户数据 PDB$SEED CDB$ROOT OBJ$ TAB$ SOURCE$

  15. CDB-PDB:简介 • 将 PDB 插入 CDB 之后: • 数据驻留在 PDB 中 • 将在 CDB 中创建引用 • 交换从 PDB 内部访问字典对象 PDB$SEED CDB$ROOT EMP DEPT PDB TAB$ OBJ$ SOURCE$ OBJ$ TAB$ SOURCE$

  16. CDB-PDB:简介 • 通用用户 • 存在于 CDB 及每个当前和未来的 PDB 中 • 所有Oracle 提供的用户均为通用用户 • 可执行插/拔/克隆操作的用户 • CDB1> create user c##adm1 identified by a1; • CDB1> create user c##adm2identified by a2 container=all; • 本地用户 • 仅存在于一个 PDB 中 PDB$SEED HUGO SYS SYS C##ADM C##BOSS C##ADM C##BOSS APP CDB$ROOT PDB

  17. CDB-PDB:简介 • 表空间 • CDB$ROOT 中的全局 UNDO 和 TEMP • PDB 可以有自己的 TEMP • 所有 PDB 将共享 CDB 的 UNDO PDB$SEED CDB$ROOT PDB DATA1 SYSTEM SYSTEM DATA2 SYSAUX TEMP_PDB SYSAUX SYSTEM TEMP SYSAUX UNDO

  18. 升级、迁移和整合 • 多租户环境简介 • 可插拔数据库发展之路 • 新建 PDB • 克隆 PDB • 升级并作为 PDB 插入 • 完全可传输的导出/导入 • 使用可插拔数据库 • 总结

  19. 创建 PDB • 通过种子快速供应: • 登录 CDB • 通过种子供应 • 参数 PDB_FILE_NAME_CONVERT 用于在新位置创建文件:PDB_FILE_NAME_CONVERT='strg1','strg2' • 如果需要,可从源数据库导入数据 • Data Pump Import 工具适用于 10g及更高版本(转储文件或通过NETWORK_LINK) • 原来的 Import 工具适用于 9i及早期版本 • 可传输表空间 create pluggable database PDB128 admin user PDB128adm identified by mypasswd roles = (DBA)

  20. 多租户环境概述 • 多租户环境简介 • 可插拔数据库发展之路 • 新建 PDB • 克隆 PDB • 升级并作为 PDB 插入 • 完全可传输的导出/导入 • 使用可插拔数据库 • 总结

  21. 克隆 PDB • 在 CDB 内快速克隆或远程克隆 • 当前源 PDB 必须处于READ ONLY 模式 • 本地: • 参数 PDB_FILE_NAME_CONVERT 用于在新位置创建文件 • 可以在 spfile (alter system) 或会话 (alter session) 中设置 • 远程: create pluggable database PDB7 from PDB4; create pluggable database PDB8 from PDB3@de.acme.cdb1;

  22. 升级、迁移和整合 • 多租户环境简介 • 可插拔数据库发展之路 • 新建 PDB • 克隆 PDB • 升级并作为 PDB 插入 • 完全可传输的导出/导入 • 使用可插拔数据库 • 总结

  23. 首先升级,然后插入 • 要将数据库插入多租户环境,必须首先将其升级到 Oracle Database 12c • 升级步骤与多租户的概念无关 • 完成升级之后,数据库将设置为只读 • 将生成一个 XML 描述 文件 • 然后即可插入该数据 库,它将成为可插拔 数据库

  24. 升级到 Oracle Database 12c 7.3.4 9.2.0.8 11.2.0.3 8.0.6 9.2.0.8 11.2.0.3 8.1.7.4 10.2.0.5 9.0.1.4 10.2.0.5 9.2.0.8 11.2.0.3 10.1.0.5 11.2.0.3 10.2.0.5 直接 11.1.0.7 直接 11.2.0.2 直接 请注意:本图将只适用于数据库升级!

  25. 升级到 Oracle 12c 后的新增特性 • 新的 SQL 自动FixUp脚本 • 修复升级之前和之后的问题 • 详细建议 • 并行升级 • 最多可节省 40% 的升级时间 • 升级由 catctl.pl 驱动,不再由catupgrd.sql 驱动 catctl.pl script1.sql script2.sql script3.sql script4.sql script7.sql script9.sql script8.sql script10.sql script5.sql script11.sql script6.sql script6.sql

  26. Oracle 12c 中新的升级前脚本 • 新的升级前脚本preupgrd.sql 将加载新的升级前软件包utluppkg.sql • 该脚本将随 Oracle 12c 主目录一起交付,运行于源数据库中

  27. SQL 自动化 - 升级之前 • Preupgrade_fixups.sql

  28. Oracle 12c 中新的并行升级 • 新的并行升级脚本 • Oracle 数据库中的默认特性 • SERVER 组件升级脚本尽可能并行执行 • 其他非相关组件并行运行 • 升级总时间缩短20% 至 40% • 并行升级由PERL 脚本驱动: • catctl.pl • 数据库需要处于 STARTUP UPGRADE 模式 catctl.pl script1.sql script2.sql script3.sql script4.sql script7.sql script9.sql script8.sql script10.sql script5.sql script11.sql script6.sql script6.sql

  29. Oracle 12c 中新的并行升级 • 已用于选定客户升级至 Oracle Database 11.2.0.3 • Payback 的 Exadata V1 迁移至 X2 • 并行升级速度提高 37% • 电子世界的市场领导者 • 并行升级已用于 100 多个 SAP 系统

  30. 并行升级脚本 • 在 Shell 中使用catctl.pl 并行启动升级: • catctl.pl是 PERL 驱动程序 • 将尽可能以并行方式执行升级脚本 • 同时还执行 catuppst.sql 和catbundle.sql • -n y决定并行度 • 最多可有 8 个并行线程

  31. 进度信息 • 在 catctl.pl 运行时进行监视:

  32. SQL 自动化 - 升级之后 • 执行postupgrade_fixups.sql:

  33. 时区 • 时区调整 • 时区转换应在升级之后完成 • 如果使用了数据类型TIMESTAMP WITH TIME ZONE,则需要调整时区 • 规则:TZ目标 ≥ TZ源 • 时区定义位置:$ORACLE_HOME/oracore/zoneinfo

  34. 时区 • 时区调整: • 使用该说明提供的脚本: MOS 说明:1509653.1 数据库将 重新启动!

  35. 升级并插入 CDB • 第 1 步: • 数据库升级到 Oracle 12c Oracle 10.2.0.5V102 PDB$SEED 数据库升级 CDB$ROOT Oracle 12.1.0.1V102

  36. 升级并插入 CDB • 第 2 步: • 数据库处于只读模式 • 创建 XML 文件 PDB$SEED CDB$ROOT Oracle 12.1.0.1V102 XML

  37. 升级并插入 CDB • 第 3 步: • 停止数据库并将其插入 CDB PDB$SEED 重用临时文件; CDB$ROOT Oracle 12.1.0.1V102 XML Oracle 12.1.0.1PDB1

  38. 升级并插入 CDB • 第 4 步: • 定义 TNS 别名并通过 TNS 连接到 PDB: • sqlplus"sys/oracle@PDB1 as sysdba" • 启动 PDB: • 使用以下脚本检查健全性:?/rdbms/admin/noncdb_to_pdb.sql PDB$SEED CDB$ROOT Oracle 12.1.0.1PDB1

  39. 升级、迁移和整合 • 多租户环境简介 • 可插拔数据库发展之路 • 新建 PDB • 克隆 PDB • 升级并作为 PDB 插入 • 完全可传输的导出/导入 • 使用可插拔数据库 • 总结

  40. 可传输表空间的概念 • 可传输表空间特性始自 Oracle 8i • 可以跨版本使用 • 要传输的版本必须总是为相同或更高版本 • Oracle Database 10g引入了跨平台可传输表空间 • 可以跨版本、跨平台使用 • 要求表空间处于只读模式 • SYSTEM/SYSAUX 中的所有操作都需要额外工作

  41. 可传输表空间示例 迁移元信息(视图、同义词、触发器、角色等) 视图 视图 代码 代码 HUGO HUGO APP APP 权限 权限 目标数据库 11.2.0.3 源数据库 10.2.0.4 用户 SYSTEMSYSAUXUNDOTEMP SYSTEMSYSAUXUNDOTEMP

  42. 完全可传输的导出/导入 • 传输整个数据库 • 跨版本、跨平台 • 导出始于 Oracle 11.2.0.3,导入始于 Oracle 12c • 3 个阶段: • 数据文件迁移 • 使用数据文件副本或 • RMAN 增量备份 • 通过网络导入传输 • 健全性检查

  43. 完全可传输的导出/导入 视图 视图 代码 代码 HUGO HUGO APP APP 转换和应用备份 权限 权限 源数据库 11.2.0.3 目标数据库 12.1.0.1 INC BCK0 INC BCK1 用户SYSTEMSYSAUXUNDOTEMP SYSTEMSYSAUXUNDOTEMP 数据泵

  44. 示例:11.2.0.3 12c PDB • 第 1 阶段:准备工作 Oracle 11.2.0.3V112 数据库链接 PDB$SEED RMAN0 级 RMAN1 级 RMAN1 级 CDB$ROOT Oracle 12.1.0.1PDB - 克隆

  45. 示例:11.2.0.3 12c PDB • 第 2 阶段:传输 - 停机! 表空间只读 Oracle 11.2.0.3V112 数据库链接 impdpoow/passwd@PDB12 NETWORK_LINK=db11 VERSION=12 FULL=YTRANSPORTABLE=ALWAYSMETRICS=Y LOGFILE=oow_dir:src112fullimp.logTRANSPORT_DATAFILE='/fra/d/ts1.dbf' … PDB$SEED RMAN0 级 RMAN1 级 RMAN1 级 RMAN1 级 CDB$ROOT 备份必须可访问 Oracle 12.1.0.1PDB12

  46. 示例:11.2.0.3 12c PDB • 第 3 阶段:清除 表空间读写 Oracle 11.2.0.3V112 数据库链接 PDB$SEED CDB$ROOT Oracle 12.1.0.1PDB12

  47. 升级、迁移和整合 • 多租户环境简介 • 可插拔数据库发展之路 • 使用可插拔数据库 • 总结

  48. 字典视图 • 新增字典视图系列:{USER|ALL|DBA|CDB}_VIEWS • 一些重要的新增视图:

  49. 层次结构 • 通用用户可以从 CDB 和所有 PDB 访问信息 • 通过DBA_ 视图中的 CON_ID 列显示相关性: • 在非 CDB 中,CON_ID始终为 0 PDB$SEED CDB$ROOT EMP DEPT PDB TAB$ OBJ$ SOURCE$ OBJ$ TAB$ SOURCE$

More Related