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

autoupgrade.jar升级示例

原创 张玉龙 2020-08-17
2664

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论