• Oracle-Autoupgrade方式升级19c


    前言:

    Autoupgrade是Oracle 推出的自动升级工具,通过该工具可以将数据库升级为Oracle12.2之后的版本,工具支持升级前的检查、升级问题修复、一键式自动升级以及升级后的问题修复,极大的简化数据库的升级步骤。

    支持的目标升级版本:

    • Oracle Database 21c (21.3 and newer)

    • Oracle Database 19c (19.3 and newer)

    • Oracle Database 18c (18.5 and newer)

    • Oracle Database 12c Release 2 (12.2 + DBJAN2019RU and newer

    支持的源端升级版本:

    只要源端版本可以直接升级到支持的目标版本,都可以使用该工具进行

    具体可以参考Oracle mos: Database Server Upgrade/Downgrade Compatibility Matrix (Doc ID 551141.1)

    Autoupgrade步骤:

    SETUP: AutoUpgrade程序作业管理器创建的初始阶段,每个启动作业的准备工作。

    PREUPGRADE: AutoUpgrade根据当前系统配置对系统进行检查的阶段,以确定它是否准备好进行升级,例如检查是否有足够的可用磁盘空间。

    PRECHECKS:AutoUpgrade分析源Oracle主数据库以确定数据库是否满足升级要求的阶段。

    PREFIXUPS:在开始升级之前,修复更新前检查发现的问题。例如,对源端收集字典统计信息。

    guaranteed restore point (GRP):AutoUpgrade在开始升级过程之前创建恢复点,在失败时候进行回滚。此选项仅适用于Oracle数据库企业版版本,在Oracle数据库标准版中不可用。即使创建了闪回点,但Oracle强烈建议在开始升级之前执行全数据量备份。

    DRAIN: 关闭数据库阶段,例如:RAC数据库会关闭集群参数,启动单节点迁移模式

    DBUPGRADE: 在此阶段执行升级,并编译升级完成后发现的任何无效对象。

    POSTCHECKS:在升级后修复之前,在目标Oracle主数据库(升级后的Oracle数据库)上执行更新后检查的阶段。

    POSTFIXUPS: 修复更新后检查发现的问题,例如升级时区。

    POSTUPGRADE: 复制或者合并源端的配置文件(tnsnames.ora, sqlnet.ora, and other files) 到目标端的ORACLE_HOME

    Autoupgrade模式:

    analyze模式:

    检查当前数据库是否具备升级条件,当前模式只会读取数据库的信息,不会对数据库有任何的操作,不影响应用,包括setup+prechecks

    fixups模式:

    会执行跟analyze一样的检查升级条件,并修复不满足的升级条件,会对数据库进行操作,包括setup+prechecks+prefixups

    deploy模式

    对数据库进行更新操作,包含创建检查点,更新前的检查,修复更新前的检查问题,关闭数据库,对数据库进行更新,更新后的检查,修复更新后的检查问题,复制或者合并源文件到目标端

    upgrade模式

    对数据库进行更新操作,包括对数据库进行更新,更新后的检查,修复更新后的检查问题,相比与deploy模式,upgrade适合升级源端与目标端软件在不同服务器上的数据库,需要将更新前检查,修复与正式更新分开执行的升级,deloy模式不适合这种升级

    Autoupgrade配置准备:

    • 创建用户配置文件

    • 源Oracle数据库已经启动并在原始的ORACLE_HOME目录中运行。在AutoUpgrade在进行upgrade时,会将数据库重新启动在要更新的ORACLE_HOME下面。

    • 运行数据库的服务器的主机名要配置在hosts文件或DNS,如果登录到目标数据库所在的服务器上,并且数据库在localhost上运行或者在AutoUpgrade运行的地方运行,那么从AutoUpgrade配置文件中删除hostname参数。

    • 在容器数据库(cdb)上,如果只升级某一个pdb,则要open进行升级的pdb,并在配置文件中配置pdbs参数。如果没有指定pdb列表,则自动升级CDB上的所有pdb。

    • 下载最新的AutoUpgrade jar文件(AutoUpgrade .jar),并且使用Java 8环境进行运行。

    • 如果想在批处理或脚本中运行AutoUpgrade,则使用非控制台参数noconsole参数调用。

    • 在Oracle19c(19.3)以后的版本Oracle home中,autoupgrade.jar文件默认存在。但是,在使用AutoUpgrade之前,Oracle建议下载最新版本,从mos文档2485457.1中下载获得。

    Autoupgrade升级案例

    案例描述:

    本案例是将一套12.2.0.1的RAC集群升级到19.16.0.0的RAC集群,采用的升级方式是先通过Dataguard+failover方式将数据库实时复制到异机的新环境RAC集群(软件配置19.16gi+19.16rdbms+12.2 rdbms),并在异机的新环境上通过Autoupgrade的方式将数据库升级为19.16.0.0

    环境信息:

    源端目标端
    操作系统redhat6.8redhat7.5
    hostnamehostoldhostnew
    GI版本12.2.0.1.18041719.16.0.0
    RDBMS版本12.2.0.1.180417

    12.2.0.1.220118

    19.16.0.0

    db_unique_namedbolddbnew

    迁移前准备:

    1 部署新环境以及配置ADG进行数据同步(部署步骤这里不进行展开)

    2 jdk版本不满足8以上,需要安装jdk8环境

    1. --检查java版本
    2. [oracle@hostold1 bin]$ java -version
    3. java version "1.7.0_79"
    4. OpenJDK Runtime Environment (rhel-2.5.5.4.el6-x86_64 u79-b14)
    5. OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
    6. --安装jdk8环境
    7. cd /tmp
    8. tar xvf jdk-8u311-linux-x64.tar.gz
    9. [root@hostold1 tmp]# /tmp/jdk1.8.0_311/bin/java -version
    10. java version "1.8.0_311"
    11. Java(TM) SE Runtime Environment (build 1.8.0_311-b11)
    12. Java HotSpot(TM) 64-Bit Server VM (build 25.311-b11, mixed mode)

    3 下载上传最新的autoupgrade.jar,从mos文档2485457.1中下载获得

    4 创建Autoupgrade参数文件

    1. #参数文件主要有两种变量global与local,global是全局变量,会作用于全部的数据库(global.parameter),
    2. #local是局部变量会作用与指定数据库(db_unique_name.parameter)
    3. vi /tmp/config.txt
    4. #日志路径
    5. global.autoupg_log_dir=/tmp/autoupgrade_log
    6. #升级完成之后收集数据字典统计信息
    7. global.dictionary_stats_after=yes
    8. #升级之前收集数据字典统计信息
    9. global.dictionary_stats_before=yes
    10. #升级之前收集固定表统计信息
    11. global.fixed_stats_before=yes
    12. #创建闪回点
    13. global.restoration=yes
    14. #升级完成之后不删除闪回点,人工确认
    15. global.drop_grp_after_upgrade=no
    16. #源端DB ORACLE_HOME
    17. dbold.source_home=/oracle/app/oracle/product/12.0.0/dbhome_1
    18. #目标端DB ORACLE_HOME
    19. dbold.target_home=/oracle/app/oracle/product/19.0.0/dbhome_1
    20. #升级数据库的ORACLE_SID
    21. dbold.sid=dbold1
    22. #升级的开始时间
    23. dbold.start_time=now
    24. #日志目录
    25. dbold.log_dir=/tmp/autoupgrade_log/dbold
    26. #升级节点的hostname
    27. dbold.upgrade_node=hostold1
    28. #升级之后执行对象编译
    29. dbold.run_utlrp=yes
    30. #升级之后,升级时区
    31. dbold.timezone_upg=yes
    32. #升级的目标版本19c
    33. dbold.target_version=19

    5 在源端环境执行analyze,分析不满足升级的条件

    1. --会进入控制台界面
    2. [oracle@hostold1 tmp]$ java -jar /tmp/autoupgrade.jar -config /tmp/dboldconfig.txt -mode analyze
    3. AutoUpgrade 22.5.221011 launched with default internal options
    4. Processing config file ...
    5. +--------------------------------+
    6. | Starting AutoUpgrade execution |
    7. +--------------------------------+
    8. 1 Non-CDB(s) will be analyzed
    9. Type 'help' to list console commands
    10. upg>
    11. --通过lsj可以查看job状态
    12. upg> lsj
    13. +----+-------+---------+---------+-------+----------+-------+----------------------------+
    14. |Job#|DB_NAME| STAGE|OPERATION| STATUS|START_TIME|UPDATED| MESSAGE|
    15. +----+-------+---------+---------+-------+----------+-------+----------------------------+
    16. | 100| dbold1|PRECHECKS|EXECUTING|RUNNING| 17:46:24|12s ago|Loading database information|
    17. +----+-------+---------+---------+-------+----------+-------+----------------------------+
    18. Total jobs 1
    19. --执行完成只会,会自动退出控制台,并输出html或者txt log格式报告
    20. upg> cJob 100 completed
    21. ------------------- Final Summary --------------------
    22. Number of databases [ 1 ]
    23. Jobs finished [1]
    24. Jobs failed [0]
    25. Please check the summary report at:
    26. /tmp/autoupgrade_log/cfgtoollogs/upgrade/auto/status/status.html
    27. /tmp/autoupgrade_log/cfgtoollogs/upgrade/auto/status/status.log

    6 修复那些需要人为介入的不满足升级条件

    1. 注:检查项目信息可以参考Database Preupgrade tool (via autoupgrade.jar) check list (Doc ID 2380601.1)
    2. 或者通过命令确认java -jar /tmp/autoupgrade.jar -config /tmp/dboldconfig.txt -listchecks xxx
    3. --查看检查的报告,检查FLASH_RECOVERY_AREA_SETUP, MIN_ARCHIVE_DEST_SIZE, ISRAC_SWITCHEDON_TARGETHOME需要人为介入修改
    4. [oracle@hostold1 prechecks]$ more /tmp/autoupgrade_log/cfgtoollogs/upgrade/auto/status/status.log
    5. ==========================================
    6. Autoupgrade Summary Report
    7. ==========================================
    8. [Date] Sun Nov 27 17:47:05 CST 2022
    9. [Number of Jobs] 1
    10. ==========================================
    11. [Job ID] 100
    12. ==========================================
    13. [DB Name] dbold
    14. [Version Before Upgrade] 12.2.0.1.0
    15. [Version After Upgrade] 19
    16. ------------------------------------------
    17. [Stage Name] PRECHECKS
    18. [Status] FAILURE
    19. [Start Time] 2022-11-27 17:46:24
    20. [Duration]
    21. [Log Directory] /tmp/autoupgrade_log/dbold/dbold1/100/prechecks
    22. [Detail] /tmp/autoupgrade_log/dbold/dbold1/100/prechecks/dbold_preupgrade.log
    23. Check failed for dbold1, manual intervention needed for the below checks
    24. [FLASH_RECOVERY_AREA_SETUP, MIN_ARCHIVE_DEST_SIZE, ISRAC_SWITCHEDON_TARGETHOME]
    25. Cause:
    26. Reason:Database Checks has Failed details in /tmp/autoupgrade_log/dbold/dbold1/100/prechecks
    27. Action:[MANUAL]
    28. Info:Return status is ERROR
    29. ExecutionError:No
    30. Error Message:None
    31. --FLASH_RECOVERY_AREA_SETUP,需要设置闪回区的大小,闪回点使用
    32. alter system set db_recovery_file_dest_size=500G;
    33. alter system set db_recovery_file_dest='+recoc1';
    34. --MIN_ARCHIVE_DEST_SIZE日志归档空间不够,需要清理
    35. --ISRAC_SWITCHEDON_TARGETHOME,忽略不处理,因为目标升级ORACLE_HOME不在同一套服务器上,所以会检查保持目标ORACLE_HOME异常

    正式迁移:

    将目标备库failover为主库,然后在目标库服务器进行升级,而源库则作为回退的环境

    1. --将目标库failover为主库
    2. select database_role,inst_id,open_Mode from gv$database;
    3. DATABASE_ROLE INST_ID OPEN_MODE
    4. ---------------- ---------- --------------------
    5. PHYSICAL STANDBY 1 READ ONLY WITH APPLY
    6. PHYSICAL STANDBY 2 READ ONLY WITH APPLY
    7. ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;
    8. ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
    9. --重启dbnew
    10. srvctl stop database -d dbnew
    11. srvctl start database -d dbnew
    12. --切换为主库
    13. SQL> select database_role,inst_id,open_Mode from gv$database;
    14. DATABASE_ROLE INST_ID OPEN_MODE
    15. ---------------- ---------- --------------------
    16. PRIMARY 1 READ WRITE
    17. PRIMARY 2 READ WRITE

    源端清空目标端投递链路

    1. --备份主库的pfile文件
    2. create pfile='/tmp/initdbold20221128.ora' from spfile;
    3. --主库清空链路二
    4. alter system set log_archive_dest_2='';

    目标库dbnew 设置闪回区,为创建闪回点做准备

    1. alter system set db_recovery_file_dest_size=500G;
    2. alter system set db_recovery_file_dest='+recoc1';

    数据补丁字典更新

    1. --为了避免潜在的bug,新环境目标库dbnew安装了最新补丁为12.2.0.1.220118,由于数据字典还是旧的12.2.0.1.220118,所以需要进行补丁数据字典更新
    2. cd $ORACLE_HOME/OPatch
    3. ./datapatch -verbose
    4. --确认更新完成
    5. select patch_id,STATUS,action,action_time,description
    6. from dba_registry_sqlpatch
    7. PATCH_ID STATUS ACTION ACTION_TIME DESCRIPTION
    8. ---------- ------------------------- --------------- --------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
    9. 27475613 SUCCESS APPLY 04-AUG-20 11.20.36.981367 PM OJVM RELEASE UPDATE: 12.2.0.1.180417 (27475613)
    10. 27674384 SUCCESS APPLY 04-AUG-20 11.20.38.112001 PM DATABASE APR 2018 RELEASE UPDATE 12.2.0.1.180417
    11. 27475613 SUCCESS ROLLBACK 28-NOV-22 04.12.10.158536 PM OJVM RELEASE UPDATE: 12.2.0.1.180417 (27475613)
    12. 33561275 SUCCESS APPLY 28-NOV-22 04.12.10.168726 PM OJVM RELEASE UPDATE 12.2.0.1.220118
    13. 33587128 SUCCESS APPLY 28-NOV-22 04.12.12.905965 PM DATABASE JAN 2022 RELEASE UPDATE 12.2.0.1.220118
    14. SQL>

    配置autoupgrade的参数文件

    1. --创建日志目录
    2. mkdir -p /tmp/dbnew_autoupgrade_log/dbnew
    3. --参数文件
    4. vi /tmp/dbnewconfig.txt
    5. global.autoupg_log_dir=/tmp/dbnew_autoupgrade_log
    6. global.dictionary_stats_after=yes
    7. global.dictionary_stats_before=yes
    8. global.fixed_stats_before=yes
    9. global.restoration=yes
    10. global.drop_grp_after_upgrade=no
    11. dbnew.source_home=/oracle/app/oracle/product/12.0.0/dbhome_1
    12. dbnew.target_home=/oracle/app/oracle/product/19.0.0/dbhome_1
    13. dbnew.sid=dbnew1
    14. dbnew.start_time=now
    15. dbnew.log_dir=/tmp/dbnew_autoupgrade_log/dbnew
    16. dbnew.upgrade_node=hostnew01
    17. dbnew.run_utlrp=yes
    18. dbnew.timezone_upg=yes
    19. dbnew.target_version=19

    进行升级前的analyze

    1. /oracle/app/oracle/product/12.0.0/dbhome_1/jdk/bin/java -jar /oracle/soft/autoupgrade.jar -config /tmp/dbnewconfig.txt -mode analyze
    2. ###############analyze检查通过,没有需要进行人为干预的选项
    3. [oracle@hostnew01 ~ ]$ more /tmp/dbnew_autoupgrade_log/cfgtoollogs/upgrade/auto/status/status.log
    4. ==========================================
    5. Autoupgrade Summary Report
    6. ==========================================
    7. [Date] Mon Nov 28 16:15:05 CST 2022
    8. [Number of Jobs] 1
    9. ==========================================
    10. [Job ID] 101
    11. ==========================================
    12. [DB Name] dbnew
    13. [Version Before Upgrade] 12.2.0.1.0
    14. [Version After Upgrade] 19.16.0.0.0
    15. ------------------------------------------
    16. [Stage Name] PRECHECKS
    17. [Status] SUCCESS
    18. [Start Time] 2022-11-28 16:14:41
    19. [Duration]
    20. [Log Directory] /tmp/dbnew_autoupgrade_log/dbnew/dbnew1/101/prechecks
    21. [Detail] /tmp/dbnew_autoupgrade_log/dbnew/dbnew1/101/prechecks/dbnew_preupgrade.log
    22. Check passed and no manual intervention needed

    进行升级前的fixups

    1. /oracle/app/oracle/product/12.0.0/dbhome_1/jdk/bin/java -jar /oracle/soft/autoupgrade.jar -config /tmp/dbnewconfig.txt -mode fixups
    2. [oracle@hostnew01 ~ ]$ more /tmp/dbnew_autoupgrade_log/cfgtoollogs/upgrade/auto/status/status.log
    3. ###############fixup完成
    4. ==========================================
    5. Autoupgrade Summary Report
    6. ==========================================
    7. [Date] Mon Nov 28 16:42:06 CST 2022
    8. [Number of Jobs] 1
    9. ==========================================
    10. [Job ID] 102
    11. ==========================================
    12. [DB Name] dbnew
    13. [Version Before Upgrade] 12.2.0.1.0
    14. [Version After Upgrade] 19.16.0.0.0
    15. ------------------------------------------
    16. [Stage Name] PRECHECKS
    17. [Status] SUCCESS
    18. [Start Time] 2022-11-28 16:16:13
    19. [Duration] 0:00:19
    20. [Log Directory] /tmp/dbnew_autoupgrade_log/dbnew/dbnew1/102/prechecks
    21. [Detail] /tmp/dbnew_autoupgrade_log/dbnew/dbnew1/102/prechecks/dbnew_preupgrade.log
    22. Check passed and no manual intervention needed
    23. ------------------------------------------
    24. [Stage Name] PREFIXUPS
    25. [Status] SUCCESS
    26. [Start Time] 2022-11-28 16:16:33
    27. [Duration]
    28. [Log Directory] /tmp/dbnew_autoupgrade_log/dbnew/dbnew1/102/prefixups
    29. [Detail] /tmp/dbnew_autoupgrade_log/dbnew/dbnew1/102/prefixups/prefixups.xml
    30. ------------------------------------------
    31. --主要的耗时是prefixups,检查前项目的修复
    32. tail -100f /tmp/yjzx_autoupgrade_log/dbnew/dbnew1/102/autoupgrade_20221128.log
    33. 2022-11-28 16:42:07.107 INFO ----------------------Stages Summary------------------------ - DispatcherOSHelper.writeStageSummary
    34. 2022-11-28 16:42:07.107 INFO SETUP <1 min - DispatcherOSHelper.writeStageSummary
    35. 2022-11-28 16:42:07.107 INFO DISPATCH <1 min - DispatcherOSHelper.writeStageSummary
    36. 2022-11-28 16:42:07.107 INFO PRECHECKS <1 min - DispatcherOSHelper.writeStageSummary
    37. 2022-11-28 16:42:07.107 INFO PREFIXUPS 25 min - DispatcherOSHelper.writeStageSummary
    38. 2022-11-28 16:42:07.107 INFO DISPATCH <1 min - DispatcherOSHelper.writeStageSummary
    39. 2022-11-28 16:42:07.107 INFO COMPLETED <1 min - DispatcherOSHelper.writeStageSummary
    40. --主要是统计信息收集,回收站清空
    41. [oracle@hostnew01 /tmp/dbnew_autoupgrade_log/dbnew/dbnew1/102/prefixups ]$ cat prefixups.xml |grep -i name
    42. <Container name="dbnew1">
    43. <Name>UNIAUD_RECORDS_IN_FILE</Name>
    44. <Name>DICTIONARY_STATS</Name>
    45. <Name>EXISTENCE_OF_DATAPUMP_AQ_TABLES</Name>
    46. <Name>MANDATORY_UPGRADE_CHANGES</Name>
    47. <Name>INVALID_OBJECTS_EXIST</Name>
    48. <Name>PURGE_RECYCLEBIN</Name>

    进行正式升级

    1. /oracle/app/oracle/product/12.0.0/dbhome_1/jdk/bin/java -jar /oracle/soft/autoupgrade.jar -config /tmp/dbnewconfig.txt -mode deploy
    2. ###############升级完成
    3. upg> Job 103 completed
    4. ------------------- Final Summary --------------------
    5. Number of databases [ 1 ]
    6. Jobs finished [1]
    7. Jobs failed [0]
    8. Jobs restored [0]
    9. Jobs pending [0]
    10. ---- Drop GRP at your convenience once you consider it is no longer needed ----
    11. Drop GRP from dbnew1: drop restore point AUTOUPGRADE_9212_dbnew122010
    12. Please check the summary report at:
    13. /tmp/dbnew_autoupgrade_log/cfgtoollogs/upgrade/auto/status/status.html
    14. /tmp/dbnew_autoupgrade_log/cfgtoollogs/upgrade/auto/status/status.log
    15. ###############升级完成,查看分析报告
    16. [oracle@hostnew01 ~ ]$ more /tmp/autoupgrade_log/cfgtoollogs/upgrade/auto/status/status.log
    17. ==========================================
    18. Autoupgrade Summary Report
    19. ==========================================
    20. [Date] Mon Nov 28 17:44:07 CST 2022
    21. [Number of Jobs] 1
    22. ==========================================
    23. [Job ID] 103
    24. ==========================================
    25. [DB Name] dbnew
    26. [Version Before Upgrade] 12.2.0.1.0
    27. [Version After Upgrade] 19.16.0.0.0
    28. ------------------------------------------
    29. [Stage Name] GRP
    30. [Status] SUCCESS
    31. [Start Time] 2022-11-28 16:47:07
    32. [Duration] 0:00:12
    33. [Detail] Please drop the following GRPs after Autoupgrade completes:
    34. AUTOUPGRADE_9212_dbnew122010
    35. ------------------------------------------
    36. [Stage Name] PREUPGRADE
    37. [Status] SUCCESS
    38. [Start Time] 2022-11-28 16:47:20
    39. [Duration] 0:00:00
    40. [Log Directory] /tmp/autoupgrade_log/dbnew/dbnew1/103/preupgrade
    41. ------------------------------------------
    42. [Stage Name] PRECHECKS
    43. [Status] SUCCESS
    44. [Start Time] 2022-11-28 16:47:20
    45. [Duration] 0:00:28
    46. [Log Directory] /tmp/autoupgrade_log/dbnew/dbnew1/103/prechecks
    47. [Detail] /tmp/autoupgrade_log/dbnew/dbnew1/103/prechecks/dbnew_preupgrade.log
    48. Check passed and no manual intervention needed
    49. ------------------------------------------
    50. [Stage Name] PREFIXUPS
    51. [Status] SUCCESS
    52. [Start Time] 2022-11-28 16:47:49
    53. [Duration] 0:00:17
    54. [Log Directory] /tmp/autoupgrade_log/dbnew/dbnew1/103/prefixups
    55. [Detail] /tmp/autoupgrade_log/dbnew/dbnew1/103/prefixups/prefixups.xml
    56. ------------------------------------------
    57. [Stage Name] DRAIN
    58. [Status] SUCCESS
    59. [Start Time] 2022-11-28 16:48:06
    60. [Duration] 0:03:23
    61. [Log Directory] /tmp/autoupgrade_log/dbnew/dbnew1/103/drain
    62. ------------------------------------------
    63. [Stage Name] DBUPGRADE
    64. [Status] SUCCESS
    65. [Start Time] 2022-11-28 16:51:30
    66. [Duration] 0:35:38
    67. [Log Directory] /tmp/autoupgrade_log/dbnew/dbnew1/103/dbupgrade
    68. ------------------------------------------
    69. [Stage Name] POSTCHECKS
    70. [Status] SUCCESS
    71. [Start Time] 2022-11-28 17:27:41
    72. [Duration] 0:00:02
    73. [Log Directory] /tmp/autoupgrade_log/dbnew/dbnew1/103/postchecks
    74. [Detail] /tmp/autoupgrade_log/dbnew/dbnew1/103/postchecks/dbnew_postupgrade.log
    75. Check passed and no manual intervention needed
    76. ------------------------------------------
    77. [Stage Name] POSTFIXUPS
    78. [Status] SUCCESS
    79. [Start Time] 2022-11-28 17:27:43
    80. [Duration] 0:12:02
    81. [Log Directory] /tmp/autoupgrade_log/dbnew/dbnew1/103/postfixups
    82. [Detail] /tmp/autoupgrade_log/dbnew/dbnew1/103/postfixups/postfixups.xml
    83. ------------------------------------------
    84. [Stage Name] POSTUPGRADE
    85. [Status] SUCCESS
    86. [Start Time] 2022-11-28 17:39:46
    87. [Duration] 0:00:55
    88. [Log Directory] /tmp/autoupgrade_log/dbnew/dbnew1/103/postupgrade
    89. ------------------------------------------
    90. [Stage Name] SYSUPDATES
    91. [Status] SUCCESS
    92. [Start Time] 2022-11-28 17:40:41
    93. [Duration]
    94. [Log Directory] /tmp/autoupgrade_log/dbnew/dbnew1/103/sysupdates
    95. ------------------------------------------
    96. Summary: /tmp/autoupgrade_log/dbnew/dbnew1/103/dbupgrade/upg_summary.log
    97. 2022-11-28 17:44:07.284 INFO ----------------------Stages Summary------------------------ - DispatcherOSHelper.writeStageSummary
    98. 2022-11-28 17:44:07.285 INFO SETUP <1 min - DispatcherOSHelper.writeStageSummary
    99. 2022-11-28 17:44:07.285 INFO GRP <1 min - DispatcherOSHelper.writeStageSummary
    100. 2022-11-28 17:44:07.285 INFO PREUPGRADE <1 min - DispatcherOSHelper.writeStageSummary
    101. 2022-11-28 17:44:07.285 INFO PRECHECKS <1 min - DispatcherOSHelper.writeStageSummary
    102. 2022-11-28 17:44:07.285 INFO PREFIXUPS <1 min - DispatcherOSHelper.writeStageSummary
    103. 2022-11-28 17:44:07.285 INFO DRAIN 3 min - DispatcherOSHelper.writeStageSummary
    104. 2022-11-28 17:44:07.285 INFO DBUPGRADE 35 min - DispatcherOSHelper.writeStageSummary
    105. 2022-11-28 17:44:07.285 INFO DISPATCH <1 min - DispatcherOSHelper.writeStageSummary
    106. 2022-11-28 17:44:07.285 INFO POSTCHECKS <1 min - DispatcherOSHelper.writeStageSummary
    107. 2022-11-28 17:44:07.286 INFO POSTFIXUPS 12 min - DispatcherOSHelper.writeStageSummary
    108. 2022-11-28 17:44:07.286 INFO POSTUPGRADE <1 min - DispatcherOSHelper.writeStageSummary
    109. 2022-11-28 17:44:07.286 INFO SYSUPDATES 3 min - DispatcherOSHelper.writeStageSummary
    110. 2022-11-28 17:44:07.286 INFO COMPLETED <1 min - DispatcherOSHelper.writeStageSummary
    111. 2022-11-28 17:44:07.289 INFO End of dispatcher instance for dbnew - AutoUpgDispatcher.run
    112. --升级的信息
    113. [oracle@hostnew01 ~ ]$ more /tmp/autoupgrade_log/dbnew/dbnew1/103/dbupgrade/upg_summary.log
    114. Oracle Database Release 19 Post-Upgrade Status Tool 11-28-2022 17:24:4
    115. Database Name: dbnewPRO
    116. Component Current Full Elapsed Time
    117. Name Status Version HH:MM:SS
    118. Oracle Server UPGRADED 19.16.0.0.0 00:14:45
    119. JServer JAVA Virtual Machine UPGRADED 19.16.0.0.0 00:02:24
    120. Oracle XDK UPGRADED 19.16.0.0.0 00:01:14
    121. Oracle Database Java Packages UPGRADED 19.16.0.0.0 00:00:13
    122. OLAP Analytic Workspace UPGRADED 19.16.0.0.0 00:00:19
    123. Oracle Label Security UPGRADED 19.16.0.0.0 00:00:10
    124. Oracle Database Vault UPGRADED 19.16.0.0.0 00:00:24
    125. Oracle Text UPGRADED 19.16.0.0.0 00:01:18
    126. Oracle Workspace Manager UPGRADED 19.16.0.0.0 00:00:46
    127. Oracle Real Application Clusters UPGRADED 19.16.0.0.0 00:00:00
    128. Oracle XML Database UPGRADED 19.16.0.0.0 00:01:33
    129. Oracle Multimedia UPGRADED 19.16.0.0.0 00:00:45
    130. Spatial UPGRADED 19.16.0.0.0 00:04:29
    131. Oracle OLAP API UPGRADED 19.16.0.0.0 00:00:19
    132. Datapatch 00:01:26
    133. Final Actions 00:01:30
    134. Post Upgrade 00:00:03
    135. Total Upgrade Time: 00:30:30
    136. Database time zone version is 26. It is older than current release time
    137. zone version 32. Time zone upgrade is needed using the DBMS_DST package.
    138. Grand Total Upgrade Time: [0d:0h:35m:38s]
    139. [oracle@hostnew01 ~ ]$

    确认升级的组件以及时区

    1. --使用Oracle19c的环境变量
    2. source /home/oracle/.oracle19c.env
    3. --确认组件升级完成
    4. set linesize 400
    5. set pagesize 400
    6. Col Comp_name Format a60
    7. Col Status Format a12
    8. Select Comp_name, status, Version
    9. From Dba_Registry
    10. Order by Comp_name;
    11. COMP_NAME STATUS VERSION
    12. ------------------------------------------------------------ ------------ ------------------------------
    13. JServer JAVA Virtual Machine VALID 19.0.0.0.0
    14. OLAP Analytic Workspace VALID 19.0.0.0.0
    15. Oracle Database Catalog Views VALID 19.0.0.0.0
    16. Oracle Database Java Packages VALID 19.0.0.0.0
    17. Oracle Database Packages and Types VALID 19.0.0.0.0
    18. Oracle Database Vault VALID 19.0.0.0.0
    19. Oracle Label Security VALID 19.0.0.0.0
    20. Oracle Multimedia VALID 19.0.0.0.0
    21. Oracle OLAP API VALID 19.0.0.0.0
    22. Oracle Real Application Clusters VALID 19.0.0.0.0
    23. Oracle Text VALID 19.0.0.0.0
    24. Oracle Workspace Manager VALID 19.0.0.0.0
    25. Oracle XDK VALID 19.0.0.0.0
    26. Oracle XML Database VALID 19.0.0.0.0
    27. Spatial VALID 19.0.0.0.0
    28. ---确认时区升级完成
    29. SQL> select version from v$timezone_file;
    30. VERSION
    31. ----------
    32. 32

    删除闪回点

    1. --确认升级完成之后,删除闪回点,如果不删除无法调整COMPATIBLE参数
    2. drop restore point AUTOUPGRADE_9212_dbnew122010;

    修改COMPATIBLE为19.0.0

    1. 注:可以通过autoupgrade设置参数global.raise_compatible=yes,在升级完成之后,自动调整参数为19.0.0,但前提是需要先删除闪回点
    2. 这里没有设置,是为了人工进一步确认升级完成之后,再调整COMPATIBLE参数,因为参数一旦调整,就无法进行降级
    3. --设置COMPATIBLE为19.0.0
    4. ALTER SYSTEM SET COMPATIBLE = '19.0.0' SCOPE=SPFILE;
    5. --重启生效
    6. srvctl stop database -d dbnew
    7. srvctl start database -d dbnew

    总结:

    整个升级的过程比较于之前dbua或者catupgrd.sql方式升级,步骤大大简化,减少人为操作的时间以及错误,在多实例的升级场景中,优势将会更加的明显。

  • 相关阅读:
    引入Bootstrap的CSS样式后,<h>标签、<p>标签等HTML自带的标签被覆写没有?答:覆写了。
    LQ0197 锦标赛【程序填空】
    C++ 11智能指针详解和使用
    Redis主从复制集群的介绍及搭建
    linux 系统查询redis中指定key值(命令)
    Linux常用命令(超详细)
    Tomcat 的安装以及其中配置环境原理的详细说明
    生产依赖与开发依赖区别: 前端程序没有区别,后端程序有点区别
    CogView中的RowParallelLinear
    LeetCode844. 比较含退格的字符串
  • 原文地址:https://blog.csdn.net/sinat_36757755/article/details/128088782