Oracle 19c Bring It On: Julian Dontcheff Martin Bach
Oracle 19c Bring It On: Julian Dontcheff Martin Bach
Oracle 19c Bring It On: Julian Dontcheff Martin Bach
on
Julian Dontcheff
Martin Bach
Julian Dontcheff
hp::h:::h:::h0::h:::h:::h:::h:::h:::h:::h:::h:::h:::hr::h:::h:::h:::h:::h:::h
The DBA should know about important changes
CDB$ROOT
SYSAUX
PDB$SEED TEMP Redo logs
SYSTEM TEMP
PDBn
PDB1
PDB2
SYSAUX …
• Root container
• Pluggable database
• Management benefits
CDB$ROOT
CDB ADMINS
APP1 ADMINS
Selected implications for administrators
• Prefixed CDB%
New class of users and roles New class of users and roles
Common user Local User
• Naming convention is to use C##username • You cannot connect to the root using a local user
account
• A common user potentially has access to PDBs
• No namespace collision: multiple PDBs can each have
All Oracle administrative users are common a SCOTT account (for example)
users
• Great advantage for consolidating applications
Selected implications for administrators
• Data Guard
• In general terms, you should try and limit the number of changes
Consideration about the application
Review database links Oracle JDBC drivers are now on Maven Central
Does the system in scope of the upgrade feed others via database links? It should now be much easier to include current JDBC drivers in an
Or vice versa? Are these releases compatible after the upgrade? application as part of the development and upgrade cycle
Monitoring
13.4.x has since
been released
• A bit more effort now, but pays off big time in the long run
There are opportunities with every challenge
Why Ansible
It takes away the dreaded, mundane tasks
• Previously we coerced the installer into a platform specific installation format and it
wasn’t fun
• Template collections?
• Let someone else run your database, as a service, for your application
# main.tf
Terraform is the de-facto standard for creating ## it all starts with the virtual cloud network
infrastructure as code resource "oci_core_vcn" "app1_vcn" {
cidr_block = var.vcn_cidr_block
• After a little learning phase you get productive very compartment_id = var.compartment_ocid
display_name = "app1-VCN"
quickly dns_label = "app1vcn"
}
• The big advantage is the ability to create exactly the ## an Internet Gateway is required for outside connectivity
• And finally you can enforce standards properly during the build
Don’t repeat the mistakes you made in the past, think fresh
And what about containers?
• Deploy by trashing the old container, replacing it with the new one
You can perform a direct upgrade to the new release from the following
releases:
• Any 19c
• Any 18c
• 12.2.0
Oracle Database 20c Upgrade
• In Oracle Database 20c, when the COMPATIBLE initialization parameter is not set in your parameter file, the
COMPATIBLE parameter value defaults to 20.0.0
• Installing earlier releases of Oracle Database on the same computer that is running Oracle Database 20c can cause issues
with client connections
Oracle Database 20c Upgrade
CDB Architecture
• Starting with Oracle Database 20c, non-CDB Oracle Database upgrades to non-CDB architecture are desupported
• With this option, you plug in the non-CDB Oracle Database release to the same release CDB. (For example, plug in a non-
CDB Oracle Database Release 19c into an Oracle Database 19c release CDB). Finish converting the non-CDB Oracle
Database to a PDB. Then, upgrade the entire CDB, with its PDBs, to Oracle Database 20c.
Option 2: Plug in the non-CDB, upgrade, and finish converting the non-CDB to a PDB after upgrade
• With this option, you plug in a non-CDB Oracle Database release to an OracleDatabase 20c CDB. Upgrade the plugged-in
non-CDB Oracle Database to Oracle Database 20c. Then, finish converting the non-CDB Oracle Database to a PDB.
Oracle Database 20c Upgrade
• Starting with Oracle Database 20c, the default network administration directory changes from the previous default in
the local Oracle home, Oracle_home/network (for example, /u01/app/oracle/product/19.1.0/dbhome_1/network), to a
new location.
• The new default location is the shared Oracle Base Home, in the path ORACLE_BASE/
homes/HOME_NAME/network/admin
• Starting with Oracle Database 20c, an Oracle Database installation configures all Oracle Database homes in read-only
mode by default
Oracle Database 20c Upgrade
• Starting in Oracle Database 20c, the IGNORECASE parameter for the orapwd file is desupported and all newly created
password files are case-sensitive
• Desupport of DISABLE_DIRECTORY_LINK_CHECK
• Each row in a chain, except the first row, is chained to the previous row in the chain by using a cryptographic hash. For
each Oracle RAC instance a blockchain table contains thirty two chains, ranging from 0 through 31.
New features to consider after 20c Upgrade
Automatic Index Optimization
• SQL> alter system set HEAT_MAP = ON;
• The optimization process includes actions such as compressing, shrinking or rebuilding the indexes:
Compress: Compresses portions of the key values in an index segment (~3 times)
Shrink: Merges the contents of index blocks where possible to free blocks for reuse
ADD POLICY TIER in order to perform the operation on a say low cost/ tier 2 tablespace when tier 1 storage is under space
pressure: alter index price_idx ILM ADD POLICY TIER TO BC_DATA;
ADD POLICY OPTIMIZE in order to kick off the process after a certain number of days passes without accessing the index: alter
index price_idx ILM ADD POLICY OPTIMIZE AFTER 3 DAYS OF NO ACCESS;
New features to consider after 20c Upgrade
Automatic Zone Maps
• A zone is a set of a contiguous data blocks on disk.
• A zone map is an index-like structure built on a table and stores information about the zones of that table.
1. A zone map stores information per zone instead of per row which makes it much more compact than an index
2. A zone map is not actively managed the way an index is kept in sync with the DML on the table