Anasayfa » Oracle Database Upgrade from 12c to 19c
Oracle Database Upgrade from 12c to 19c
Oracle veri tabanında sürüm yükseltmek(upgrade) için farklı metodlar kullanılmaktadır. Bunlar aşağıdaki şekilde özetlenebilir.
- Database Upgrade Assistant(DBUA)
- Manual Upgrade
- Data Pump(expdp-impdp)
- Transportable Tablespaces
- Oracle Golden Gate
Ben yükseltme işlemi için Manual Upgrade yöntemini kullanacağım. Yükseltme yapacağımız kaynak veri tabanı ve hedef veri tabanı bilgileri aşağıdaki gibidir.
Kaynak ve Hedef Veri Tabanı
Kaynak Hostname :GokhanAta.localdomain
Database version:12.2.0.1
Database Name :orcl
CDB :Non-CDB, Single Instance
ORACLE_HOME :/u01/app/oracle/product/12.2.0.1/db_1
Hedef Hostname :GokhanAta.localdomain
Databaes Version:19.3.0.0
Database name :orcl
ORACLE_HOME :/u01/app/oracle/product/19.3.0/dbhome_1
Yükseltme işlemine başlamadan önce veri tabanının yedeği alınmalıdır. Veri tabanı yedeğinin nasıl alınacağına https://gokhanata.com/2021/08/rman-nedir-ve-nasil-yedek-alinir/ linkinden ulaşabilirsiniz.
Root kullanıcısıyla sisteme bağlanıp 19c pre-install paketini indirip Oracle 19c ortamını hazırlıyoruz.
# yum install -y oracle-database-preinstall-19c
# mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
# chown -R oracle:oinstall /u01
# chmod -R 775 /u01
Oracle web sitesinden indirdiğimiz LINUX.X64_193000_db_home.zip dosyasını oracle kullanıcısıyla /home/oracle dizinine gönderiyoruz ve arşivi açarak kuruluma başlıyoruz.
$ unzip LINUX.X64_193000_db_home.zip
$ ./runInstaller
Dosyayı çalıştırdıktan sonra aşağıdaki adımları takip ediyoruz.

root kullanıcısı ile sisteme bağlanıp /u01/app/oracle/product/19.3.0/dbhome_1 dizinindeki root.sh dosyasını çalıştırıyoruz.
Kurulum tamamlandıktan sonra preupgrade.jar dosyasını çalıştırıyoruz.
$/u01/app/oracle/product/12.2.0.1/db_1/jdk/bin/java -jar /u01/app/oracle/product/19.3.0/dbhome_1/rdbms/admin/preupgrade.jar FILE DIR /u01/preupgrade
Çıktı:
==================
PREUPGRADE SUMMARY
==================
/u01/preupgrade/preupgrade.log
/u01/preupgrade/preupgrade_fixups.sql
/u01/preupgrade/postupgrade_fixups.sql
Execute fixup scripts as indicated below:
Before upgrade:
Log into the database and execute the preupgrade fixups
@/u01/preupgrade/preupgrade_fixups.sql
After the upgrade:
Log into the database and execute the postupgrade fixups
@/u01/preupgrade/postupgrade_fixups.sql
Preupgrade complete: 2021-11-30T10:58:03
/u01/preupgrade/preupgrade.log dosyası incelenirse;
[oracle@GokhanAta preupgrade]$ cat preupgrade.log
Report generated by Oracle Database Pre-Upgrade Information Tool Version
19.0.0.0.0 Build: 1 on 2021-11-30T11:58:03
Upgrade-To version: 19.0.0.0.0
=======================================
Status of the database prior to upgrade
=======================================
Database Name: ORCL
Container Name: orcl
Container ID: 0
Version: 12.2.0.1.0
DB Patch Level: No Patch Bundle applied
Compatible: 12.2.0
Blocksize: 8192
Platform: Linux x86 64-bit
Timezone File: 26
Database log mode: NOARCHIVELOG
Readonly: FALSE
Edition: EE
Oracle Component Upgrade Action Current Status
---------------- -------------- --------------
Oracle Server [to be upgraded] VALID
JServer JAVA Virtual Machine [to be upgraded] VALID
Oracle XDK for Java [to be upgraded] VALID
Real Application Clusters [to be upgraded] OPTION OFF
Oracle Workspace Manager [to be upgraded] VALID
OLAP Analytic Workspace [to be upgraded] VALID
Oracle Label Security [to be upgraded] VALID
Oracle Database Vault [to be upgraded] VALID
Oracle Text [to be upgraded] VALID
Oracle XML Database [to be upgraded] VALID
Oracle Java Packages [to be upgraded] VALID
Oracle Multimedia [to be upgraded] VALID
Oracle Spatial [to be upgraded] VALID
Oracle OLAP API [to be upgraded] VALID
==============
BEFORE UPGRADE
==============
REQUIRED ACTIONS
================
1. (AUTOFIXUP) Empty the RECYCLEBIN immediately before database upgrade.
The database contains 2 objects in the recycle bin.
The recycle bin must be completely empty before database upgrade.
RECOMMENDED ACTIONS
===================
2. (AUTOFIXUP) Gather stale data dictionary statistics prior to database
upgrade in off-peak time using:
EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;
Dictionary statistics do not exist or are stale (not up-to-date).
Dictionary statistics help the Oracle optimizer find efficient SQL
execution plans and are essential for proper upgrade timing. Oracle
recommends gathering dictionary statistics in the last 24 hours before
database upgrade.
For information on managing optimizer statistics, refer to the 12.2.0.1
Oracle Database SQL Tuning Guide.
3. (AUTOFIXUP) Gather statistics on fixed objects prior the upgrade.
None of the fixed object tables have had stats collected.
Gathering statistics on fixed objects, if none have been gathered yet, is
recommended prior to upgrading.
For information on managing optimizer statistics, refer to the 12.2.0.1
Oracle Database SQL Tuning Guide.
INFORMATION ONLY
================
4. To help you keep track of your tablespace allocations, the following
AUTOEXTEND tablespaces are expected to successfully EXTEND during the
upgrade process.
Min Size
Tablespace Size For Upgrade
---------- ---------- -----------
SYSAUX 480 MB 504 MB
SYSTEM 800 MB 912 MB
UNDOTBS1 65 MB 439 MB
Minimum tablespace sizes for upgrade are estimates.
5. Check the Oracle Backup and Recovery User's Guide for information on how
to manage an RMAN recovery catalog schema.
If you are using a version of the recovery catalog schema that is older
than that required by the RMAN client version, then you must upgrade the
catalog schema.
It is good practice to have the catalog schema the same or higher version
than the RMAN client version you are using.
ORACLE GENERATED FIXUP SCRIPT
=============================
All of the issues in database ORCL
which are identified above as BEFORE UPGRADE "(AUTOFIXUP)" can be resolved by
executing the following
SQL>@/u01/preupgrade/preupgrade_fixups.sql
=============
AFTER UPGRADE
=============
REQUIRED ACTIONS
================
None
RECOMMENDED ACTIONS
===================
6. Upgrade the database time zone file using the DBMS_DST package.
The database is using time zone file version 26 and the target 19 release
ships with time zone file version 32.
Oracle recommends upgrading to the desired (latest) version of the time
zone file. For more information, refer to "Upgrading the Time Zone File
and Timestamp with Time Zone Data" in the 19 Oracle Database
Globalization Support Guide.
7. To identify directory objects with symbolic links in the path name, run
$ORACLE_HOME/rdbms/admin/utldirsymlink.sql AS SYSDBA after upgrade.
Recreate any directory objects listed, using path names that contain no
symbolic links.
Some directory object path names may currently contain symbolic links.
Starting in Release 18c, symbolic links are not allowed in directory
object path names used with BFILE data types, the UTL_FILE package, or
external tables.
8. (AUTOFIXUP) Gather dictionary statistics after the upgrade using the
command:
EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;
Oracle recommends gathering dictionary statistics after upgrade.
Dictionary statistics provide essential information to the Oracle
optimizer to help it find efficient SQL execution plans. After a database
upgrade, statistics need to be re-gathered as there can now be tables
that have significantly changed during the upgrade or new tables that do
not have statistics gathered yet.
9. Gather statistics on fixed objects after the upgrade and when there is a
representative workload on the system using the command:
EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
This recommendation is given for all preupgrade runs.
Fixed object statistics provide essential information to the Oracle
optimizer to help it find efficient SQL execution plans. Those
statistics are specific to the Oracle Database release that generates
them, and can be stale upon database upgrade.
For information on managing optimizer statistics, refer to the 12.2.0.1
Oracle Database SQL Tuning Guide.
ORACLE GENERATED FIXUP SCRIPT
=============================
All of the issues in database ORCL
which are identified above as AFTER UPGRADE "(AUTOFIXUP)" can be resolved by
executing the following
SQL>@/u01/preupgrade/postupgrade_fixups.sql
Yukarıdaki log dosyasında yazılan önerileri adım adım gerçekleştirelim. sqlplus ile sisteme bağlanalım.
[oracle@GokhanAtaDev ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Tue Nov 30 11:59:25 2021
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
db_recovery_file_dest_size parametresini set ediyoruz.
SQL> set echo on
SQL> set serveroutput on
SQL> Alter system set db_recovery_file_dest_size=10G;
System altered.
DBMS_STATS.GATHER_DICTIONARY_STATS prosedürü çalıştırıyoruz.
SQL> EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;
PL/SQL procedure successfully completed.
Geri dönüşüm sepetini temizliyoruz.
SQL> PURGE DBA_RECYCLEBIN;
DBA Recyclebin purged.
Materialized View’ları yeniliyoruz.
SQL> declare
2 list_failures integer(3) :=0;
3 begin
4 DBMS_MVIEW.REFRESH_ALL_MVIEWS(list_failures,'C','', TRUE, FALSE);
5 end;
6 /
PL/SQL procedure successfully completed.
Log dosyasında belirtilen system, sysaux ve undo tablespacelerinde yer alan veri dosyalarının boyutunu genişleteceğiz. Bunun için önce data file’ların lokasyonlarını öğrenelim ve aşağıdaki şekilde boyutlarını büyütelim.
SQL> Select name from v$datafile;
NAME
--------------------------------------------
/u01/app/oracle/oradata/orcl/system01.dbf
/u01/app/oracle/oradata/orcl/sysaux01.dbf
/u01/app/oracle/oradata/orcl/undotbs01.dbf
/u01/app/oracle/oradata/orcl/users01.dbf
SQL> alter database datafile '/u01/app/oracle/oradata/orcl/system01.dbf' resize 1000M;
Database altered.
SQL> alter database datafile '/u01/app/oracle/oradata/orcl/sysaux01.dbf' resize 600M;
Database altered.
SQL> alter database datafile '/u01/app/oracle/oradata/orcl/undotbs01.dbf' resize 500M;
Database altered.
Veri tabanı sürümünü yükseltebilmek için arşiv modda olması gerekmektedir. Veri tabanının arşiv modda olup olmadığı aşağıdaki şekilde sorgulanır.
SQL> archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /u01/app/oracle/product/12.2.0.1/db_1/dbs/arch
Oldest online log sequence 1
Current log sequence 2
Yukarıda görüldüğü üzere veri tabanı arşiv modunda değil. Veri tabanını arşiv moda alabilmek için mount moduna geçirmek gerekir. Veri tabanını kapatarak mount moduna geçiriyoruz.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 1157627904 bytes
Fixed Size 8619936 bytes
Variable Size 788531296 bytes
Database Buffers 352321536 bytes
Redo Buffers 8155136 bytes
Database mounted.
SQL> alter database archivelog;
Database altered.
SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
Arşiv moduna alınan veri tabanı açılır.
SQL> alter database open;
Database altered.
Veri tabanı açıldıktan sonra sqlplus ile sisteme bağlanılır ve /u01/preupgrade dizininde yer alan preupgrade_fixups.sql scripti çalıştırılır.
SQL> @/u01/preupgrade/preupgrade_fixups.sql
Executing Oracle PRE-Upgrade Fixup Script
Auto-Generated by: Oracle Preupgrade Script
Version: 19.0.0.0.0 Build: 1
Generated on: 2021-11-30 11:57:55
For Source Database: ORCL
Source Database Version: 12.2.0.1.0
For Upgrade to Version: 19.0.0.0.0
Preup Preupgrade
Action Issue Is
Number Preupgrade Check Name Remedied Further DBA Action
------ ------------------------ ---------- ----------------------------
1. purge_recyclebin YES None.
2. dictionary_stats YES None.
3. pre_fixed_objects YES None.
4. tablespaces_info YES None.
5. rman_recovery_version NO Informational only.
Further action is optional.
The fixup scripts have been run and resolved what they can. However,
there are still issues originally identified by the preupgrade that
have not been remedied and are still present in the database.
Depending on the severity of the specific issue, and the nature of
the issue itself, that could mean that your database is not ready
for upgrade. To resolve the outstanding issues, start by reviewing
the preupgrade_fixups.sql and searching it for the name of
the failed CHECK NAME or Preupgrade Action Number listed above.
There you will find the original corresponding diagnostic message
from the preupgrade which explains in more detail what still needs
to be done.
PL/SQL procedure successfully completed.
Restore point oluşturulur.
SQL> create restore point pre_upgrade guarantee flashback database;
Restore point created.
SQL> select NAME,GUARANTEE_FLASHBACK_DATABASE,TIME from V$restore_point;
NAME GUARANTEE_FLASHBACK_DATABASE TIME
-------------------- ------------------------------ ------------------------------
PRE_UPGRADE YES 30-NOV-21 01.26.07.000000000 PM
Bu işlemden sonra veri tabanı kapatılır.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
Veri tabanı kapatıldıktan sonra 12c’de yer alan listener.ora, parametre ve şifre dosyaları 19c’de ilgili klasörlere kopyalanır.
[oracle@GokhanAta ~]$ cp $ORACLE_HOME/network/admin/listener.ora /u01/app/oracle/product/19.3.0/dbhome_1/network/admin
[oracle@GokhanAta dbs]$ cp init.ora spfileorcl.ora orapworcl /u01/app/oracle/product/19.3.0/dbhome_1/dbs/
LISTENER durdurulur, ORACLE_HOME ve PATH 19c’ye göre set edilir. Daha sonra LISTENER başlatılır.
[oracle@GokhanAta dbs]$ lsnrctl stop
[oracle@GokhanAta dbs]$ export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
[oracle@GokhanAta dbs]$ export PATH=$ORACLE_HOME/bin:$PATH
[oracle@GokhanAta dbs]$ lsnrctl start
LISTENER başlatıldıktan sonra ORACLE_HOME ve PATH tekrar set edilir. Which sqlplus komutu ile sqlplus aracının hangi ortamda çalışacağı öğrenilir.
[oracle@GokhanAta dbs]$ export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
[oracle@GokhanAta dbs]$ export PATH=$ORACLE_HOME/bin:$PATH
[oracle@GokhanAta dbs]$ which sqlplus
/u01/app/oracle/product/19.3.0/dbhome_1/bin/sqlplus
sqlplus ile sisteme bağlandıktan sonra startup upgrade ile veri tabanını upgrade modunda başlatıyoruz.
[oracle@GokhanAta dbs]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Tue Nov 30 13:42:20 2021
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup upgrade
ORACLE instance started.
Total System Global Area 1157627168 bytes
Fixed Size 8895776 bytes
Variable Size 704643072 bytes
Database Buffers 436207616 bytes
Redo Buffers 7880704 bytes
Database mounted.
Database opened.
SQL> select name,open_mode,cdb,version,status from v$database,v$instance;
NAME OPEN_MODE CDB VERSION STATUS
--------- -------------------- --- ----------------- ------------
ORCL READ WRITE NO 19.0.0.0.0 OPEN MIGRATE
Aşağıdaki komut ile upgrade başlatılır.
[oracle@GokhanAtaDev ~]$ $ORACLE_HOME/bin/dbupgrade
Çıktı:
Serial Phase #:103 [orcl] Files:1 Time: 14s
**************** Summary report ****************
Serial Phase #:104 [orcl] Files:1 Time: 2s
*** End PDB Application Upgrade Post-Shutdown **
Serial Phase #:105 [orcl] Files:1 Time: 2s
Serial Phase #:106 [orcl] Files:1 Time: 0s
Serial Phase #:107 [orcl] Files:1 Time: 56s
------------------------------------------------------
Phases [0-107] End Time:[2021_11_30 14:14:57]
------------------------------------------------------
Grand Total Time: 1804s
LOG FILES: (/u01/app/oracle/product/19.3.0/dbhome_1/cfgtoollogs/orcl/upgrade20211130134444/catupgrd*.log)
Upgrade Summary Report Located in:
/u01/app/oracle/product/19.3.0/dbhome_1/cfgtoollogs/orcl/upgrade20211130134444/upg_summary.log
Grand Total Upgrade Time: [0d:0h:30m:4s]
Upgrade başarıyla tamamlandıktan sonra ORACLE_HOME ve PATH set edilir.
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
sqlplus ile sisteme bağlandıktan sonra ve veri tabanının durumu ve versiyonu kontrol edilir.
[oracle@GokhanAta ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Tue Nov 30 14:16:27 2021
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1157627168 bytes
Fixed Size 8895776 bytes
Variable Size 939524096 bytes
Database Buffers 201326592 bytes
Redo Buffers 7880704 bytes
Database mounted.
Database opened.
SQL> select name,open_mode,status,version from v$database,v$instance;
NAME OPEN_MODE STATUS VERSION
--------- -------------------- ------------ -----------------
ORCL READ WRITE OPEN 19.0.0.0.0
Bu adımdan sonra post-upgrade adımları çalıştırılır.
SQL> @$ORACLE_HOME/rdbms/admin/utlusts.sql TEXT
Oracle Database Release 19 Post-Upgrade Status Tool 11-30-2021 14:17:5
Database Name: ORCL
Component Current Full Elapsed Time
Name Status Version HH:MM:SS
Oracle Server UPGRADED 19.3.0.0.0 00:12:27
JServer JAVA Virtual Machine UPGRADED 19.3.0.0.0 00:01:16
Oracle XDK UPGRADED 19.3.0.0.0 00:00:54
Oracle Database Java Packages UPGRADED 19.3.0.0.0 00:00:10
OLAP Analytic Workspace UPGRADED 19.3.0.0.0 00:00:10
Oracle Label Security UPGRADED 19.3.0.0.0 00:00:05
Oracle Database Vault UPGRADED 19.3.0.0.0 00:00:21
Oracle Text UPGRADED 19.3.0.0.0 00:00:33
Oracle Workspace Manager UPGRADED 19.3.0.0.0 00:00:27
Oracle Real Application Clusters UPGRADED 19.3.0.0.0 00:00:00
Oracle XML Database UPGRADED 19.3.0.0.0 00:01:31
Oracle Multimedia UPGRADED 19.3.0.0.0 00:00:42
Spatial UPGRADED 19.3.0.0.0 00:05:19
Oracle OLAP API UPGRADED 19.3.0.0.0 00:00:10
Datapatch 00:03:14
Final Actions 00:03:21
Post Upgrade 00:00:11
Total Upgrade Time: 00:28:15
Database time zone version is 26. It is older than current release time
zone version 32. Time zone upgrade is needed using the DBMS_DST package.
Upgrade sonrası oluşabilecek invalid nesneleri derlemek için aşağıdaki komut çalıştırılır.
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
Invalid nesneler derlendikten sonra sysdba rolüyle postupgrade_fixups.sql scripti çalıştırılır.
@/u01/preupgrade/postupgrade_fixups.sql
Çıktı:
@/u01/preupgrade/postupgrade_fixups.sql
Session altered.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
Package created.
No errors.
Package body created.
PL/SQL procedure successfully completed.
No errors.
Package created.
No errors.
Package body created.
No errors.
Executing Oracle POST-Upgrade Fixup Script
Auto-Generated by: Oracle Preupgrade Script
Version: 19.0.0.0.0 Build: 1
Generated on: 2020-11-17 02:21:12
For Source Database: DB12C
Source Database Version: 12.2.0.1.0
For Upgrade to Version: 19.0.0.0.0
Preup Preupgrade
Action Issue Is
Number Preupgrade Check Name Remedied Further DBA Action
------ ------------------------ ---------- --------------------------------
6. old_time_zones_exist NO Manual fixup recommended.
7. dir_symlinks YES None.
8. post_dictionary YES None.
9. post_fixed_objects NO Informational only.
Further action is optional.
The fixup scripts have been run and resolved what they can. However,
there are still issues originally identified by the preupgrade that
have not been remedied and are still present in the database.
Depending on the severity of the specific issue, and the nature of
the issue itself, that could mean that your database upgrade is not
fully complete. To resolve the outstanding issues, start by reviewing
the postupgrade_fixups.sql and searching it for the name of
the failed CHECK NAME or Preupgrade Action Number listed above.
There you will find the original corresponding diagnostic message
from the preupgrade which explains in more detail what still needs
to be done.
PL/SQL procedure successfully completed.
Session altered.
Yukarıda önerildiği şekilde old_time_zones_exists sürümü yükseltilir. Mevcut sürüm sorgulanırsa;
SQL> SELECT version FROM v$timezone_file;
VERSION
----------
26
Mevcut versiyonun 26 olduğunu gördük. Aşağıdaki scriptleri çalıştırıp tekrar sorgulayalım.
SQL> @$ORACLE_HOME/rdbms/admin/utltz_countstats.sql;
SQL> @$ORACLE_HOME/rdbms/admin/utltz_countstar.sql;
SQL> @$ORACLE_HOME/rdbms/admin/utltz_upg_check.sql;
SQL> @$ORACLE_HOME/rdbms/admin/utltz_upg_apply.sql;
SQL> SELECT version FROM v$timezone_file;
VERSION
----------
32
1 row selected.
İstatistikler ile ilgili bilgileri toplamak için aşağıdaki sorguyu çalıştırıyoruz.
SQL> execute DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
PL/SQL procedure successfully completed.
Yukarıdaki prosedürü çalıştırdıktan sonra postupgrade_fixups.sql scriptini tekrar derleyelim.
SQL> @/u01/preupgrade/postupgrade_fixups.sql
Çıktı:
Session altered.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
Package created.
No errors.
Package body created.
PL/SQL procedure successfully completed.
No errors.
1 row selected.
Package created.
No errors.
Package body created.
No errors.
Executing Oracle POST-Upgrade Fixup Script
Auto-Generated by: Oracle Preupgrade Script
Version: 19.0.0.0.0 Build: 1
Generated on: 2021-11-30 11:58:02
For Source Database: ORCL
Source Database Version: 12.2.0.1.0
For Upgrade to Version: 19.0.0.0.0
Preup Preupgrade
Action Issue Is
Number Preupgrade Check Name Remedied Further DBA Action
------ ------------------------ ---------- --------------------------------
6. old_time_zones_exist YES None.
7. dir_symlinks YES None.
8. post_dictionary YES None.
9. post_fixed_objects NO Informational only.
Further action is optional.
The fixup scripts have been run and resolved what they can. However,
there are still issues originally identified by the preupgrade that
have not been remedied and are still present in the database.
Depending on the severity of the specific issue, and the nature of
the issue itself, that could mean that your database upgrade is not
fully complete. To resolve the outstanding issues, start by reviewing
the postupgrade_fixups.sql and searching it for the name of
the failed CHECK NAME or Preupgrade Action Number listed above.
There you will find the original corresponding diagnostic message
from the preupgrade which explains in more detail what still needs
to be done.
PL/SQL procedure successfully completed.
Upgrade öncesi oluşturduğumuz restore_point’i drop edelim.
SQL> select name from v$restore_point;
NAME
-------------------------
PRE_UPGRADE
1 row selected.
SQL> drop restore point PRE_UPGRADE;
Restore point dropped.
Compatible parametresini set edelim. Veri tabanını kapatıp tekrar açalım ve parametreyi kontrol edelim.
SQL> alter system set compatible='19.0.0' scope=spfile;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1157627168 bytes
Fixed Size 8895776 bytes
Variable Size 973078528 bytes
Database Buffers 167772160 bytes
Redo Buffers 7880704 bytes
Database mounted.
Database opened.
SQL> show parameter compatible
NAME TYPE VALUE
------------------------------------ ----------- -----------
compatible string 19.0.0
noncdb_compatible boolean FALSE
Son olarak veri tabanının durumunu ve versiyonunu kontrol edelim.
SQL> select name, open_mode, version from v$database, v$instance;
NAME OPEN_MODE VERSION
--------- -------------------- --------------
ORADEV READ WRITE 19.0.0.0.0
Yukarıda da görüldüğü üzere veri tabanı başarıyla 12c’den 19c’ye upgrade oldu.