暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

autoupgrade.jar升级示例

原创 张玉龙 2020-08-17
2499

https://docs.oracle.com/en/database/oracle/oracle-database/19/upgrd/using-autoupgrade-oracle-database-upgrades.html#GUID-71883C8C-7A34-4E93-8955-040CB04F2109

支持升级的版本

参考MOS:Database Server Upgrade/Downgrade Compatibility Matrix (Doc ID 551141.1)
image.png

下载最新的 autoupgrade.jar

AutoUpgrade Tool (Doc ID 2485457.1)

要求Java 8 or newer

19C 软件里的JAVA默认就是8

[oracle@dg19c ~]$ /u01/app/oracle/product/19.0.0/db_1/jdk/bin/java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
复制

autoupgrade.jar 示意图

image.png

autoupgrade.jar的四种模式

image.png

源端ORACLE_HOME和目标ORACLE_HOME在用一台服务器上,升级示例

image.png

$ /u01/app/oracle/product/19.0.0/db_1/jdk/bin/java -jar autoupgrade.jar -version
build.hash 3b51369
build.version 19.9.1
build.date 2020/07/10 11:20:49
build.max_target_version 19
build.supported_target_versions 12.2,18,19
build.type production
复制

创建一个参数文件

$ vi config.txt
global.autoupg_log_dir=/home/oracle/logs
upg1.dbname=orcl
upg1.start_time=NOW
upg1.source_home=/u01/app/oracle/product/11.2.0/db_1
upg1.target_home=/u01/app/oracle/product/19.0.0/db_1
upg1.sid=orcl
upg1.log_dir=/home/oracle/logs
upg1.upgrade_node=localhost
upg1.target_version=19
upg1.timezone_upg=yes
复制

升级前分析数据库
image.png
根据oracle分析给出的报告进行整改。
执行升级操作

[oracle@zylong ~]$ /u01/app/oracle/product/19.3.0/db_1/jdk/bin/java -jar autoupgrade.jar -config config.txt -mode deploy
AutoUpgrade tool launched with default options
Processing config file ...
+--------------------------------+
| Starting AutoUpgrade execution |
+--------------------------------+
1 databases will be processed
Type 'help' to list console commands

upg> status
---------------- Config -------------------
User configuration file    [/home/oracle/config.txt]
General logs location      [/home/oracle/logs/cfgtoollogs/upgrade/auto]
Mode                       [DEPLOY]
DB upg fatal errors        ORA-00600,ORA-07445
DB Post upgrade abort time [60] minutes
DB upg abort time          [1440] minutes
DB restore abort time      [120] minutes
DB GRP abort time          [3] minutes
------------------------ Jobs ------------------------
Total databases in configuration file [1]
Total Non-CDB being processed         [1]
Total CDB being processed             [0]
Jobs finished successfully            [0]
Jobs finished/aborted                 [0]
Jobs in progress                      [1]
Jobs stage summary
    Job ID: 103
    DB name: orcl
        SETUP             <1 min 
        GRP               <1 min 
        PREUPGRADE        <1 min 
        PRECHECKS         <1 min 
        PREFIXUPS         <1 min 
        DRAIN             <1 min 
        DBUPGRADE         9 min (IN PROGRESS)
------------ Resources ----------------
Threads in use                        [39]
JVM used memory                       [92] MB
CPU in use                            [13%]
Processes in use                      [18]

upg> lsj
+----+-------+---------+---------+-------+--------------+--------+------------+
|Job#|DB_NAME|    STAGE|OPERATION| STATUS|    START_TIME| UPDATED|     MESSAGE|
+----+-------+---------+---------+-------+--------------+--------+------------+
| 103|   orcl|DBUPGRADE|EXECUTING|RUNNING|20/08/03 16:02|16:10:08|10%Upgraded |
+----+-------+---------+---------+-------+--------------+--------+------------+
Total jobs 1

upg> lsj
+----+-------+---------+---------+-------+--------------+--------+------------+
|Job#|DB_NAME|    STAGE|OPERATION| STATUS|    START_TIME| UPDATED|     MESSAGE|
+----+-------+---------+---------+-------+--------------+--------+------------+
| 103|   orcl|DBUPGRADE|EXECUTING|RUNNING|20/08/03 16:02|16:59:33|99%Compiled |
+----+-------+---------+---------+-------+--------------+--------+------------+
Total jobs 1

upg> Job 103 completed
------------------- Final Summary --------------------
Number of databases            [ 1 ]

Jobs finished successfully     [1]
Jobs failed                    [0]
Jobs pending                   [0]
------------- JOBS FINISHED SUCCESSFULLY -------------
Job 103 for orcl

---- Drop GRP at your convenience once you consider it is no longer needed ----
Drop GRP from orcl: drop restore point AUTOUPGRADE_9212_ORCL112040
复制

源端ORACLE_HOME和目标ORACLE_HOME不在用一台服务器上,升级示例

版本检查
image.png

[oracle@test ~]$ /home/oracle/java/jdk1.8.0_261/bin/java -version 
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)

[oracle@test ~]$ /home/oracle/java/jdk1.8.0_261/bin/java -jar autoupgrade.jar -version
build.hash 3b51369
build.version 19.9.1
build.date 2020/07/10 11:20:49
build.max_target_version 19
build.supported_target_versions 12.2,18,19
build.type production
复制

创建参数文件

$ vi config.txt
global.autoupg_log_dir=/home/oracle/logs
upg1.dbname=orcl
upg1.start_time=NOW
upg1.source_home=/u01/app/oracle/product/11.2.0/db_1
upg1.target_home=/u01/app/oracle/product/19.0.0/db_1
upg1.sid=orcl
upg1.log_dir=/home/oracle/logs
upg1.upgrade_node=localhost
upg1.target_version=19
upg1.timezone_upg=yes
复制

源端执行分析操作

[oracle@test ~]$ /home/oracle/java/jdk1.8.0_261/bin/java -jar autoupgrade.jar -config config.txt -mode analyze
AutoUpgrade tool launched with default options
Processing config file ...
+--------------------------------+
| Starting AutoUpgrade execution |
+--------------------------------+
1 databases will be analyzed
Type 'help' to list console commands
upg> Job 100 completed
------------------- Final Summary --------------------
Number of databases            [ 1 ]

Jobs finished successfully     [1]
Jobs failed                    [0]
Jobs pending                   [0]
------------- JOBS FINISHED SUCCESSFULLY -------------
Job 100 for orcl

[oracle@test ~]$ cd logs/orcl/100/prechecks/
[oracle@test prechecks]$ ll
total 264
-rwx------ 1 oracle oinstall   3978 Aug  4 09:48 orcl_checklist.cfg
-rwx------ 1 oracle oinstall  15562 Aug  4 09:48 orcl_checklist.json
-rwx------ 1 oracle oinstall  14810 Aug  4 09:48 orcl_checklist.xml
-rwx------ 1 oracle oinstall  33305 Aug  4 09:48 orcl_preupgrade.html
-rwx------ 1 oracle oinstall  15409 Aug  4 09:48 orcl_preupgrade.log
-rwx------ 1 oracle oinstall 177513 Aug  4 09:48 prechecks_orcl.log
复制

源端执行修复操作

[oracle@test ~]$ /home/oracle/java/jdk1.8.0_261/bin/java -jar autoupgrade.jar -config config.txt -mode fixups
AutoUpgrade tool launched with default options
Processing config file ...
+--------------------------------+
| Starting AutoUpgrade execution |
+--------------------------------+
1 databases will be processed
Type 'help' to list console commands

upg> lsj
+----+-------+---------+---------+-------+--------------+--------+--------------+
|Job#|DB_NAME|    STAGE|OPERATION| STATUS|    START_TIME| UPDATED|       MESSAGE|
+----+-------+---------+---------+-------+--------------+--------+--------------+
| 101|   orcl|PREFIXUPS|EXECUTING|RUNNING|20/08/04 09:54|09:56:48|Remaining 6/11|
+----+-------+---------+---------+-------+--------------+--------+--------------+
Total jobs 1

upg> Job 101 completed
------------------- Final Summary --------------------
Number of databases            [ 1 ]

Jobs finished successfully     [1]
Jobs failed                    [0]
Jobs pending                   [0]
------------- JOBS FINISHED SUCCESSFULLY -------------
Job 101 for orcl
复制

完成将源 Oracle 数据库从源服务器移动到目标服务器的任务。

[oracle@test orcl]$ sqlplus / as sysdba
SQL> shutdown immediate
[oracle@test orcl]$ scp -rp * 192.168.56.59:/oradata/orcl/
[oracle@test ~]$ scp autoupgrade.jar config.txt  192.168.56.59:/home/oracle/
复制

目标端创建pfile文件

*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.compatible='11.2.0.4.0'
*.control_files='/oradata/orcl/control01.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.db_recovery_file_dest='/arch'
*.db_recovery_file_dest_size=2737418240
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.log_archive_dest_1='LOCATION=/arch'
*.log_archive_trace=8191
*.open_cursors=300
*.pga_aggregate_target=400556032
*.processes=500
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_max_size=2147483648
*.sga_target=2147483648
*.undo_tablespace='UNDOTBS1'
复制

在目标服务器上,在 upgrade 模式下启动数据库运行自动升级

[oracle@dg19c ~]$ sqlplus / as sysdba
SQL> startup upgrade pfile='/home/oracle/pfile20200804.ora';
ORACLE instance started.

Total System Global Area 2147481656 bytes
Fixed Size                  8898616 bytes
Variable Size             486539264 bytes
Database Buffers         1644167168 bytes
Redo Buffers                7876608 bytes
Database mounted.
Database opened.
复制

目标端执行upgrade操作

[oracle@dg19c ~]$ /u01/app/oracle/product/19.0.0/db_1/jdk/bin/java -jar autoupgrade.jar -config config.txt -mode upgrade
AutoUpgrade tool launched with default options
Processing config file ...
+--------------------------------+
| Starting AutoUpgrade execution |
+--------------------------------+
1 databases will be processed
Type 'help' to list console commands

upg> lsj
+----+-------+---------+---------+-------+--------------+--------+------------+
|Job#|DB_NAME|    STAGE|OPERATION| STATUS|    START_TIME| UPDATED|     MESSAGE|
+----+-------+---------+---------+-------+--------------+--------+------------+
| 100|   orcl|DBUPGRADE|EXECUTING|RUNNING|20/08/04 10:19|10:56:21|91%Upgraded |
+----+-------+---------+---------+-------+--------------+--------+------------+
Total jobs 1

upg> Job 100 completed
------------------- Final Summary --------------------
Number of databases            [ 1 ]

Jobs finished successfully     [1]
Jobs failed                    [0]
Jobs pending                   [0]
------------- JOBS FINISHED SUCCESSFULLY -------------
Job 100 for orcl
复制

自动更新了timezone

SQL> select version from v$timezone_file;

   VERSION
----------
        32
复制

控制台命令

upg> help
exit                          // To close and exit
help                         // Displays help
lsj [(-r|-f|-p|-e) | -n <number>]  // list jobs by status up to n elements.
        -f Filter by finished jobs.
        -r Filter by running jobs.
        -e Filter by jobs with errors.
        -p Filter by jobs being prepared.
        -n <number> Display up to n jobs.
lsr                           // Displays the restoration queue
lsa                           // Displays the abort queue
tasks                         // Displays the tasks running
clear                         // Clears the terminal
resume -job <number>          // Restarts a previous job that was running
status [-job <number> [-long]]// Lists all the jobs or a specific job
restore -job <number>         // Restores the database to its state prior to the upgrade
restore all_failed            // Restores all failed jobs to their previous states prior to the upgrade
logs                          // Displays all the log locations
abort -job <number>           // Aborts the specified job
h[ist]                        // Displays the command line history
/[<number>]                   // Executes the command specified from the history. The default is the last command
复制

日志打包

java -jar autoupgrade.jar -config config.txt -zip
复制
最后修改时间:2020-08-17 17:01:57
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论