oracle19c数据库升级路径Q/A

如题

已邀请:

1    关于直播视频和课件PPT

直播视频和课件待审核后会上传到网站供下载,直播课程结束两至三天后,会在19c公益讲座微信群中发送下载链接,请关注群中消息。

 

2    关于19c升级实验环境和脚本

实验环境不需要预约,请访问下边的URL链接,下载实验虚机和查阅实验脚本。

https://mikedietrichde.com/database-upgrade-hands-on-lab-oracle-18c-and-19c/hol-19c-main-index-page-oracle-database-19c-hands-on-lab/

 

3    关于19c补丁、RU和RUR的问题

从12.2.0.2开始,Oracle Database开始采用RU(Release Update)和RUR(Release Update Revision)的方式发布补丁。

Ÿ   RU:季度补丁包,包含查询优化器修复、功能修复、安全修复、回退修复。

Ÿ   RUR:季度补丁包的修复,包含安全修复、回退修复。

Ÿ   RU和RUR的切换:可以来回切换,但是新的patch必须是之前patch的超集(新的patch包含了之前patch的所有修复)。

建议阅读MOS文档:Release Update介绍以及FAQ (Doc ID 2289879.1)

 

3.1  怎么确认RUR之间的切换关系?有包含矩阵说明么?

最基础的判断原则是新的patch必须是之前patch的超集(新的patch包含了之前patch的所有修复)。另外可以依据以下的简化规则判断。

Ÿ   现有的版本是19.A.B,想应用的版本是19.C.D

Ÿ   如果C+D≥A+B,并且C≥A,可以从19.A.B切换到19.C.D

Ÿ   否则不可以切换

 

3.2  如果现阶段已经是19.4,想应用补丁,是应该应用19.6,还是19.4.2,这两种应用补丁有什么区别?

在19.4.0上应用19.6.0和19.4.2都可以。Oracle推荐应用最新的Updates,这样可以避免很多已知的问题。但是如果认为使用19.4.0已经达到稳定状态,希望优先考虑安全更新而不是功能修复,那么可以选择19.4.2,但是有可能会碰到已在最新Update中包含的已知问题。

19.4.2是基于19.4.0补丁包的修复,只会包含19.4.0以后的安全补丁,以及对19.4.0中的功能修复的回退修复。

而19.6.0与19.4.2相比,会有更多的功能修复内容。

 

3.3  假如目前是19.4.2这个RUR版本,是否可以升级19.5.0/19.5.1/19.6.0?

不可以从19.4.2->19.5.0,19.5.0中不包含19.4.2新增的安全修复和回退修复。

可以从19.4.2->19.5.1,19.5.1中已经包含了19.4.2所有新增的安全修复和回退修复。

可以从19.4.2->19.6.0,19.6.0中已经包含了19.4.2所有新增的安全修复和回退修复。

 

3.4  从 Update 转换向相同季度发布的 Revision 会怎样?比如,从 18.5.0到18.4.1? 虽然后两位的数的和都是5,但是从 high-priority non-security fixes 的角度来看,却是倒退了一个季度?

不可以从Update 转换成相同季度发布的 Revision,例如从18.5.0到18.4.1是不可以的。

虽然它们都是相同季度发布,但是在18.4.1中不包含18.5.0中的功能修复内容,也就是说18.4.1不是18.5.0的超集。

 

3.5  RUR是在RU的基础上再次修复,还是这2个是独立的?

RUR是在上一个季度的RU基础上进行修复。例如19.4.1是在19.4.0基础上进行修复,而19.4.2是在19.4.1基础上进行修复。

 

3.6  新发布的RU 是否包含了上一版本的RUR? 谢谢

新发布的RU中会包含上一版本的RUR。例如19.6.0中会包含19.5.1和19.4.2中的安全修复和回退修复。

 

3.7  为什么到19以后第二位表示补丁版本了,而11g的补丁版本不是11.1.0.4.xxx吗?

Oracle从18c开始采用年度数据库软件发布的技术支持策略,并开始使用新的数据库软件版本编号系统。新的版本编号系统会使用3个数字编码格式:年.更新.发布 (Year.Update.Revision)。

Ÿ   软件是哪年发布的 (第一个部分)

Ÿ   哪个季节发布的Update (第二个部分)

Ÿ   哪个季节发布的Revision (第三个部分)

 

3.8  升级到19.5还是19.6更好?

Oracle推荐保持应用最新的Updates,这样可以避免很多已知的问题。并且可以避免申请很多小补丁,并显著降低更多的补丁维护的操作。

如果已达到稳定状态,并希望优先考虑安全更新而不是功能修复。在这种情况下,可以选择应用 Revisions,但是有可能会碰到已在最新Update中包含的已知问题。

 

4    关于Data Guard滚动升级

4.1  Data Guard的滚动升级对于主备数据库版本的要求如何?

使用Data Guard的滚动升级要求主备数据库版本至少是10.1.0.3。

 

4.2  Data Guard 不是要求同版本的数据库么,现在可以跨版本了吗?

通常Data Guard的部署采用Physical Standby模式,这种方式要求主备是相同版本的数据库。

Data Guard滚动升级过程中是先把备库转换为Logical Standby模式,这种数据复制方式的主备库可以是不同版本。

 

4.3  logical standby升级的方式中,为什么后面要flashback?

Data Guard滚动升级开始后,首先是将备库从Physical Standby模式转换为Logical Standby模式,之后备库上所有的数据同步都是通过Logical SQL apply执行的。主备库在磁盘上的数据库结构在数据块级别不再是完全一样的。

当备库完成升级,转换为主库后,需要在转换后的主备库之间重新构建Physical Standby模式。

因此需要将原来的主库flashback到最初的还原点,让主备库具备完全相同的数据块基础,然后再通过Physical Standby模式在原来的主库上同步后来的变化。

 

4.4  DG滚动升级中,逻辑备库还能转换回去物理备库?是新版本支持的吗?

DG逻辑备库和物理备库的转换在Oracle 10g已经支持。

 

4.5  AIX到linux 迁移能用DG吗?

不支持。可以使用GoldenGate实现零停机迁移。

 

4.6  请问flashback 可以进行跨版本的闪回么?比如upgrade 11g到19c,升级完成后可以flashback到11g的版本么?flashback会把软件也一起回退吗?

可以。如果升级前创建了可保证的还原点,升级11g到19c后,可以flashback回11g。软件不会回退,直接更换数据库软件主目录即可。

 

4.7  DG环境源端是12.1.0.2,目标端先升到19C,正常运行一段时间后再升源端可以吗

可以正常运行一段时间后再升级源端。

但是目标端升级到19c之后并转换为主库后,不建议启用SQL Apply从19c主库向12.1.0.2备库同步数据。

可参阅MOS文档:Using Transient Logical Rolling Upgrade for Database Migration (Doc ID 2350945.1)

 

5    关于GoldenGate

5.1  OGG如果做长期容灾的话是不是不太适合?维护量是不是太大?

如果主库和备库可以采用相同的操作系统平台和数据库版本,建议使用Active Data Guard进行容灾。

如果因为运维或业务的原因,主库和备库是不同的操作系统或数据库版本,需要用GoldenGate来做数据库容灾。

与使用ADG相比,用GoldenGate做容灾,在初期的维护量相对会大一些,当运行稳定后就会好很多。

 

5.2  AIX 11.2.0.4 迁移到linux X86上 19c版本,通过OGG方式迁移,用何种方式进行初始化?

如果数据量不大,可以用Data Pump指定SCN进行初始化。如果数据量较大,建议用XTTS进行初始化。

 

5.3  GoldenGate 从19c到11g也可以么?

可以,GoldenGate支持异构跨版本的数据实时复制。

 

5.4  现有的OGG两边的数据库可以先升级一侧的,然后升级另外一侧的吗?

可以,GoldenGate支持异构跨版本的数据实时复制。

先升级复制目标端的数据库,然后通过GoldenGat从源端低版本的数据库向目标端高版本的数据库实时复制数据。

在升级时间点,停止应用与源库的连接,将应用连接到目标端高版本数据库进行业务处理,然后再来升级源库。

 

6    关于RAC升级

6.1  RAC环境怎么升级数据库?

RAC环境下首先将CLUSTER_DATABASE参数设置为FALSE,然后在一个节点升级数据库,升级完成后使用srvctl upgrade database升级Clusterware中的数据库配置,最后将CLUSTER_DATABASE参数改回TRUE,启动数据库。

 

6.2  RAC模式下需要在每个节点上去执行相同的升级操作?

不需要。RAC模式下只需要在一个节点执行数据库升级,升级完成后需要更新Clusterware中的数据库配置。

 

6.3  单机和RAC环境升级19.6需要更新哪些补丁?

单机升级需要19.3 DB基础版本+19.6 DB补丁+OJVM补丁。

如果是RAC环境,而且同时升级GI,需要19.3 GI和DB基础版本+19.6 GI和DB补丁+ OJVM补丁。

 

7    关于升级版本、升级路径和操作系统环境

7.1  Oracle 19c 升级可以安装在SUSE 11上面么?官方是否认可?

目前19c只对SUSE 12和SUSE 15进行了认证,但是没有对SUSE 11进行过19c的认证。

可以从support.oracle.com查询确认认证信息。

http://nccloud.yytimes.com/plugins/wc_editor/static/ueditor/themes/default/images/spacer.gif

 

7.2  什么是直接升级?哪些版本可以直接升级到19c?

直接升级是指在不迁移数据库中数据的前提下直接升级数据库版本。

11.2.0.4、12.1.0.2、12.2.0.1、18c这四个版本可以直接升级到19c。

 

7.3  11.2.0.4现在可以直接升级到19.6版本么

可以。

首先安装19.3的基础版本软件,然后将软件升级到19.6版本。

准备好19c软件环境后,按照升级步骤直接升级11.2.0.4的数据库就行。

 

7.4  请问11.2.0.4的19c升级模式,适用于 11.2.0.3版本么?

11.2.0.3不能直接升级到19c,可以选择间接升级或者迁移升级的方式。

 

7.5  如果对停机窗口有要求的化,11.2.0.3升级到19c,是通过中间版本11.2.0.4在原地升比较好,还是通过迁移好?

如果对停机窗口有要求,可以考虑通过TTS增量备份进行迁移升级,或者使用GoldenGate进行零停机迁移升级。这样可以避免两次升级,也可以控制停机窗口。

 

8    关于TTS

8.1  有没有11g 使用XTTS升级19c的操作手册?

建议参阅MOS文档:Upgrading a Database Using Transportable Tablespaces (TTS) (Doc ID 1457743.1)和Oracle 19c Database Administrator’s Guide中Transporting Data章节。

 

8.2  11.2.0.4迁移升级到19.6,可以使用XTTS方式吗?

可以。10.2及以上版本就可以使用XTTS进行迁移升级。

 

8.3  TTS增量备份支持是指升级源版本11.2.0.4么?

是的。升级源版本是11.2.0.4及以上支持TTS增量备份。

 

8.4  TTS支持pdb吗?

支持。

 

8.5  XTTS迁移通常会遇到那些典型问题?

关于XTTS迁移的典型问题和最佳实践参阅以下MOS文档。

Upgrading a Database Using Transportable Tablespaces (TTS) (Doc ID 1457743.1)

Best Practices for Using Transportable Tablespaces (TTS) (Doc ID 1457876.1)

 

8.6  XTTS方式迁移升级,与数据泵或GoldenGate相比,会对升级后的数据库性能有影响吗?

升级的数据库性能建议通过Database Replay、SQL Performance Analyzer、SQL Plan Management、SQL Tuning Advisor等升级测试工具进行优化和管理。

 

9    关于升级的兼容性

9.1  11.2.0.4升级到19.6,应用程序使用jdk1.7,升级后是否需要替换jdk包?

建议升级到JDK8以上。

请参阅MOS文档Starting With Oracle JDBC Drivers - Installation, Certification, and More! (Doc ID 401934.1)

 

9.2  迁移升级需要考虑compatible的延期设置么?

不需要考虑。只有在本地直接升级时需要考虑。

 

9.3  从12.1.0.2升级到19C,应用的存储过程是否全兼容,哪些地方需要改写代码?

19c向下完全兼容12.1.0.2。但是建议升级前对应用进行全面回归测试。

 

9.4  有没有相关文档说明哪些11.2.0.4版本里的oracle函数(一些开发会用到的函数)在19c会废弃?

建议参阅以下文档:

19c Database Upgrade Guide中Behavior Changes, Deprecated and Desupported Features for Oracle Database章节。

19c PL/SQL Packages and Types Reference中Desupported Features章节。

19c SQL Language Reference中Desupported Features章节。

 

10   涉及多租户架构的升级

10.1     non-cdb to cdb是不是先建一个新的cdb然后吧non-cdb插入到新的cdb中?

是的。首先创建一个新的CDB,然后将原来的NON-CDB升级,再插入到新的CDB中。

 

10.2     cdb是不是要和pdb的版本一样,否则pdb会自动升级到cdb的版本?

在兼容的情况下,PDB版本可以低于CDB版本。

如果不执

要回复问题请先登录注册