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)

下载最新的 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 示意图

autoupgrade.jar的四种模式

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

$ /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
升级前分析数据库

根据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不在用一台服务器上,升级示例
版本检查

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




