Oracle 18 XE Johannes Ahrends
Oracle 18 XE
Johannes Ahrends
… über mich
• Oracle Spezialist seit 1992
• 1992: Presales bei Oracle in Düsseldorf• 1999: Projektleiter bei Herrmann & Lenz Services GmbH• 2005: Technischer Direktor ADM Presales bei Quest Software GmbH• 2011: Geschäftsführer CarajanDB GmbH
• 2011 → Ernennung zum Oracle ACE
• Autor der Bücher:
• Oracle9i für den DBA, Oracle10g für den DBA, Oracle 11g Release 2 für den DBA
• DOAG Themenverantwortlicher Datenbankadministration, Standard Edition
• Hobbies:
• Drachen steigen lassen (Kiting) draußen wie drinnen (Indoorkiting)• Motorradfahren (nur draußen)
www.carajandb.com 2
Funktionen und Optionen
Limitierungen
• Kostenlos
• 2 Cores
• Eine Installation pro Umgebung (z.B. VM)
• 12 GB Userdata
• 2 GB RAM
• 3 PDBs
• Datenmigration über Data Pump
• Ausnahme: nach Oracle EE über PDB Unplug / Plug
• Migration nach Oracle SE2 ist nicht supported!
www.carajandb.com 4
Features und Optionen
www.carajandb.com
• Oracle® Database Express Edition Licensing Information User Manual 18c E89902-01 October 2018
Feature Enhalten (Ja / Nein)
Oracle Multitenant - # of PDBs Ja (maximum 3 PDBs)
PDB Snapshot Carousel Nein
Refreshable PDB Ja
Refreshable PDB Switchover Nein
Oracle Sharding Nein
Oracle RAC Nein
Oracle Data Guard Nein
Online Index Rebuild Ja
Online Table Reorganization Ja
Online Datafile Move Nein
5
Features und Optionen (2)
Feature Enhalten (Ja / Nein)
Block Level Media Recovery Nein
Automatic Block Repair Nein
Flashback Table Ja
Flashback Database Ja
Flashback Transaction / Transaction Query Nein
Optimization for Flashback Data Archive Ja
Cross Platform Backup and Recovery Ja
Recovering Tables and Table Partitions from RMAN Backups Nein
Gateways Nein
Tuning / Diagnostic / Data Masking Pack Nein
Real Appliation Testing Nein
Database Resource Manager Nein
www.carajandb.com 6
Features und Optionen (3)
Feature Enhalten (Ja / Nein)
SQL Plan Management Nein
SQL Tuning Sets Nein
Oracle Connection Manager Nein
Client Side / Query / PL/SQL Function Result Cache Ja
Adaptive Execution Plans Ja
In-Memory Column Store Ja
In-Memory Aggregation Ja
Attribute Clustering Ja
Automatic Workload Management Nein
Column-Level Encryption Ja
Tablespace Encryption Ja (aber nicht Online)
Advanced Security Ja
www.carajandb.com 7
Features und Optionen (4)
Feature Enhalten (Ja / Nein)
Database Vault Ja
Label Security Ja
Enterprise User Security Nein
Centrally Managed Users Ja
Fine Grained Auditing Ja
Real Application Security Ja
Data Redaction Ja
Virtual Private Database Ja
Spatial und Graph Ja
Partitioning Ja
On-Line Analytical Processing (OLAP) Nein
Oracle Advanced Analytics Ja
www.carajandb.com 8
Features und Optionen (5)
Feature Enhalten (Ja / Nein)
Advanced Compression Ja
Advanced Index Compression Ja
Prefix Compression Ja
Hybrid Columnar Compression Nein
Heat Map Nein
Automatic Data Optimization Nein
Deferred Segment Creation Ja
Bitmapped Index / Join Index Ja
Parallel Query /DML Nein
Transportable Tablespaces (incl. Cross-Platform) Ja
Ull Transportable Export / Import Ja
Summary Management (Materialized Views) Ja
www.carajandb.com 9
Multitenant Lizenzierung
• SE2: Standard Edition Two
• EE: Enterprise Edition
• EE-ES: EE on Engineered Systems
• DBCS: Database Cloud Service
• EE-HP: DBCS EE High Performance
• EEE-EP: DBCS EE Extreme Performance
• ExaCS: Exadata Cloud Service
www.carajandb.com 10
Quelle: Database Licensing Information User Manual 18c E87202-07 October 2018
Installation
Download
• https://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html
www.carajandb.com 12
Download
• Linux nur als rpm Paketoracle-database-xe-18c-1.0-1.x86_64.rpm
• Muss als Root-User installiert werden
• Internetanbindung erforderlich
• zusätzliches Preinstall Paket notwendig • oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
•
• ORACLE_BASE=/opt/oracle
• ORACLE_HOME=/opt/oracle/product/18c/dbhomeXE
www.carajandb.com 13
Installation
• Oracle Linux
www.carajandb.com 14
# yum localinstall oracle-database-xe-18c-1.0-1.x86_64.rpm
Examining oracle-database-xe-18c-1.0-1.x86_64.rpm: oracle-database-xe-18c-1.0-1.x86_64
Marking oracle-database-xe-18c-1.0-1.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package oracle-database-xe-18c.x86_64 0:1.0-1 will be installed
…
Installed:
oracle-database-xe-18c.x86_64 0:1.0-1
Dependency Installed:
bc.x86_64 0:1.06.95-13.el7
oracle-database-preinstall-18c.x86_64 0:1.0-1.el7
Complete!
Anpassungen
• Falls OS User „oracle“ schon existiert, wird dieser genommen
• Ansonsten angelegt mit User-ID 54321
• Falls OS Gruppe „dba“, „oinstall“ etc schon existieren, werden diese genommen• oinstall:54321
• dba:54322
• oper:54323
• backupdba:54324
• dgdba:54325
• kmdba:54326
• racdba:54330
www.carajandb.com 15
Datenbank Konfiguration
www.carajandb.com 16
# cat /etc/sysconfig/oracle-xe-18c.conf
#This is a configuration file to setup the Oracle Database.
#It is used when running '/etc/init.d/oracle-xe-18c configure'.
# LISTENER PORT used Database listener, Leave empty for automatic port assignment
LISTENER_PORT=1521
# EM_EXPRESS_PORT Oracle EM Express URL port
EM_EXPRESS_PORT=5500
# Character set of the database
CHARSET=AL32UTF8
# Database file directory
# If not specified, database files are stored under Oracle base/oradata
DBFILE_DEST=/u02/oradata
# SKIP Validations, memory, space
SKIP_VALIDATIONS=false
Ausführung 1
www.carajandb.com 17
[root@clapton ~]# /etc/init.d/oracle-xe-18c configure
Oracle Net Listener configured.
Specify a password to be used for database accounts. Oracle recommends that the
password entered should be at least 8 characters in length, contain at least 1
uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same
password will be used for SYS, SYSTEM and PDBADMIN accounts:
Confirm the password:
Configuring Oracle Listener.
Listener configuration succeeded.
Configuring Oracle Database XE.
[FATAL] [DBT-06103] The port (5,501) is already in use.
ACTION: Specify a free port.
Database configuration failed. Check logs under '/opt/oracle/cfgtoollogs/dbca'.
Fehlerursache
• Eintrag in /etc/hosts fehlt
www.carajandb.com 18
[root@clapton ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.99.101 clapton clapton.carajandb.local
Ausführung 2
www.carajandb.com 19
[root@clapton ~]# /etc/init.d/oracle-xe-18c configure
…
Oracle Net Listener configured.
100% complete
Database creation complete. For details check the logfiles at:
/opt/oracle/cfgtoollogs/dbca/XE.
Database Information:
Global Database Name:XE
System Identifier(SID):XE
Look at the log file "/opt/oracle/cfgtoollogs/dbca/XE/XE.log" for further details.
Connect to Oracle Database using one of the connect strings:
Pluggable database: clapton.carajandb.local/XEPDB1
Multitenant container database: clapton.carajandb.local
Use https://localhost:5500/em to access Oracle Enterprise Manager for Oracle Database
XE
Automatischer Start
• Oracle Linux 6
• Oracle Linux 7
www.carajandb.com 20
[root@cohen ~]# systemctl daemon-reload
[root@cohen ~]# systemctl enable oracle-xe-18c
[root@cohen ~]# /sbin/chkconfig oracle-xe-18c on
[root@cohen ~]# /sbin/service oracle-xe-18c start
Oracle User
• Oracle User wird automatisch angelegt
• HOME von Oracle fehlt!
• oraenv, coranv, dbhome gehören „root“
www.carajandb.com 21
# mkdir –p /home/oracle
# chown oracle:oinstall /home/oracle
# cd /usr/local/bin
# chown oracle:oinstall *
Wichtige / nützliche Packages
• wget
• rlwrap
www.carajandb.com 22
# yum -y install wget
# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -Uvh epel-release-latest-7.noarch.rpm
# yum -y install rlwrap
Firewall und SE-Linux
• Firewall ausschalten
• SE-Linux ausschalten
• sudo root
www.carajandb.com 23
# systemctl stop firewalld
# systemctl disable firewalld
# cp -f /etc/selinux/config /etc/selinux/config.org
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# sed -i '$i oracle ALL=(ALL) NOPASSWD: ALL' /etc/sudoers
Login
• Profile
• oraenv
www.carajandb.com 24
cat $HOME/.bash_profile
ORACLE_SID=XE
ORAENV_ASK=NO
. oraenv
unset ORAENV_ASK
tail -12 /usr/local/bin/oraenv
#
if [ "$USER" != "root" ]; then
PS1="${USER}@`hostname -s`[${ORACLE_SID}]% "
else
PS1="${USER}@`hostname -s`[${ORACLE_SID}]# "
fi
export PS1
alias logdir='cd $ORACLE_BASE/`cd $ORACLE_BASE;adrci exec="show homes"|grep $ORACLE_SID`/trace'
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
Multitenant Database
• Demo PDB löschen
www.carajandb.com 25
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 XEPDB1 READ WRITE NO
SQL> DROP PLUGGABLE DATABASE xepdb1 INCLUDING DATAFILES;
Für Oracle XE gibt es keine Patches!
Oracle Java Virtual Machine
• OJVM in der Datenbank
• Oracle Security Alert for CVE-2018-3110
www.carajandb.com 27
Oracle Java Virtual Machine
• OJVM in der Datenbank
• Oracle Security Alert for CVE-2018-3259
www.carajandb.com 28
Anpassung Optionen
• Löschen kritischer Komponenten:
• Oracle Java Virtual Machine
• Multimedia (Abhängigkeit)
• XMLDB
www.carajandb.com 29
cd $ORACLE_HOME/rdbms/admin
$ORACLE_HOME/perl/bin/perl catcon.pl -n 1 -b catnojav -d $ORACLE_HOME/rdbms/admin catnojav.sql
$ORACLE_HOME/perl/bin/perl catcon.pl -n 1 -b rmxml -d $ORACLE_HOME/xdk/admin rmxml.sql
$ORACLE_HOME/perl/bin/perl catcon.pl -n 1 -b rmjvm -d $ORACLE_HOME/javavm/install rmjvm.sql
$ORACLE_HOME/perl/bin/perl catcon.pl -n 1 -b rmctx -d $ORACLE_HOME/ctx/admin catnoctx.sql
$ORACLE_HOME/perl/bin/perl catcon.pl -n 1 -b imrem -d $ORACLE_HOME/ord/im/admin imremdo.sql
$ORACLE_HOME/perl/bin/perl catcon.pl -n 1 -e -b utlrp -d '''.''' utlrp.sql
Quellen: https://mikedietrichde.com/2017/08/07/javavm-xml-clean-oracle-database-11-2-12-2https://mikedietrichde.com/2017/08/01/oracle-multimedia-ordim-clean-oracle-database-11-2-12-2
Kontrolle
www.carajandb.com 30
SELECT con_id, comp_name, version, status, schema
FROM cdb_registry
ORDER BY con_id, comp_name;
CON_ID COMP_NAME VERSION STATUS SCHEMA
------ ---------------------------------------- ------------ ----------- ----------
1 JServer JAVA Virtual Machine 18.0.0.0.0 REMOVED SYS
1 OLAP Analytic Workspace 18.0.0.0.0 VALID SYS
1 Oracle Database Catalog Views 18.0.0.0.0 VALID SYS
1 Oracle Database Java Packages 18.0.0.0.0 REMOVED SYS
1 Oracle Database Packages and Types 18.0.0.0.0 VALID SYS
1 Oracle Database Vault 18.0.0.0.0 VALID DVSYS
1 Oracle Label Security 18.0.0.0.0 VALID LBACSYS
1 Oracle OLAP API 18.0.0.0.0 VALID OLAPSYS
1 Oracle Real Application Clusters 18.0.0.0.0 OPTION OFF SYS
1 Oracle Text 18.0.0.0.0 REMOVED CTXSYS
1 Oracle Workspace Manager 18.0.0.0.0 VALID WMSYS
1 Oracle XDK 18.0.0.0.0 REMOVED SYS
1 Oracle XML Database 18.0.0.0.0 VALID XDB
1 Spatial 18.0.0.0.0 VALID MDSYS
Anpassung Optionen
• Löschen Oracle Registry-Einträge
www.carajandb.com 31
cat > $HOME/xe/reg.sql <<EOF
delete from registry$ where status='99' and cid in ('XML','JAVAVM','CATJAVA','MULTIMEDIA','CONTEXT');
commit;
EOF
$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -b reg -d $HOME/xe reg.sql
CON_ID COMP_NAME VERSION STATUS SCHEMA
------ ---------------------------------------- ------------ ----------- ----------
1 OLAP Analytic Workspace 18.0.0.0.0 VALID SYS
1 Oracle Database Catalog Views 18.0.0.0.0 VALID SYS
1 Oracle Database Packages and Types 18.0.0.0.0 VALID SYS
1 Oracle Database Vault 18.0.0.0.0 VALID DVSYS
1 Oracle Label Security 18.0.0.0.0 VALID LBACSYS
1 Oracle OLAP API 18.0.0.0.0 VALID OLAPSYS
1 Oracle Real Application Clusters 18.0.0.0.0 OPTION OFF SYS
1 Oracle Text 18.0.0.0.0 VALID CTXSYS
1 Oracle Workspace Manager 18.0.0.0.0 VALID WMSYS
1 Oracle XML Database 18.0.0.0.0 VALID XDB
1 Spatial 18.0.0.0.0 VALID MDSYS
Context Leftovers
www.carajandb.com 32
oracle@cohen[XE]% cat ctx_leftovers.sql
DROP PROCEDURE sys.validate_context;
DROP PACKAGE xdb.dbms_xdbt;
DROP PROCEDURE xdb.xdb_datastore_proc;
DROP PUBLIC SYNONYM dbms_xdbt;
$ORACLE_HOME/perl/bin/perl catcon.pl -n 1 -b rmctx -d $ORACLE_HOME/ctx/admin catnoctx.sql
$ORACLE_HOME/perl/bin/perl catcon.pl -n 1 -e -b ctx_leftovers –d $HOME/xe ctx_leftovers.sql
Deinstallation
• Datenbank:
• Software
www.carajandb.com 33
oracle@cohen[XE]% sudo su -
# /etc/init.d/oracle-xe-18c delete
oracle@cohen[XE]% sudo su -
# yum remove oracle-database-xe-18c
ORA-12954
www.carajandb.com 34
ORA-12954: The request exceeds the maximum allowed database size of 12 GB.
SELECT s.con_id, s.owner, sum(s.bytes)/1024/1024 MByte
FROM cdb_segments s, cdb_users u
WHERE s.owner = u.username
AND s.con_id = u.con_id
AND u.oracle_maintained != 'Y'
GROUP BY s.con_id,s.owner
ORDER BY 1,2;
CON_ID OWNER MBYTE
---------- ---------- ----------
3 BASIS .9375
3 DEMO 6994.8125
4 BASIS .9375
4 DEMO 4898.8125
→ 11895.5 MB
Spotlight
• Root-Container
• User: c##spot
• CONTAINER_DATA=ALL
www.carajandb.com 35
Multitenant Database
Multitenant Database
• Multitenant Architektur
• Alternative Architektur ab Version 12.1.1 für alle Editionen
• Default bei Oracle 18 XE
• Multitenant Option
• Kostenpflichtig für die Enterprise Edition
• Bis zu 253 PDBs pro CDB (Exadata ab 12.2 4096 PDBs)
• Bis zu 3 PDBs in Oracle 18 XE
37
The non-CDB architecture was deprecated in Oracle Database 12c. It can be desupported and unavailable in a release after Oracle Database 12c Release 2.Oracle recommends use of the CDB architecture.
www.carajandb.com
CDB
Multitenant Database 18
38
…SMON PMON MMONRECO MMNL
Buffer Cache LogbufferShared Pool
… SGA
ParameterDatei
CKPT
Cntrlfiles
…
DBWn
. . .
SYSTEM SYSAUX TEMPUNDO
PDB$SEED
TEMP
SYSAUX
SYSTEMRedolog-Dateien
LGWR
PDB2TEMPUNDOAPPL2
SYSAUXSYSTEM
PDB3TEMPUNDOAPPL2
SYSAUXSYSTEM
PDB4TEMPUNDOAPPL2
SYSAUXSYSTEM
www.carajandb.com
XE und Multitenant
• Cloning
• 1:1 Kopie einer existierenden PDB in die gleiche oder eine andere CDB
• Proxy
• Zugriff auf eine entfernte PDB (z.B. in der Cloud) aus einer lokalen PDB
• Refreshable PDB
• Automatischer oder manueller Refresh einer PDB (Standby)
www.carajandb.com 39
Refreshable PDB
• Automatische Synchronisation zwischen Quell- und Ziel-PDB
• Gedacht für Test und Entwicklung
• Refreshmodes:
• None
• Manual
• Every n Minutes
• Ziel-PDB bleibt geschlossen
www.carajandb.com 40
Toad und Pluggable Databases
www.carajandb.com 41
Memory
SGA_TARGET – Versuch 1
• MEMORY = sga + pga
www.carajandb.com 43
SQL> show parameter sga_target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_target big integer 1536M
SQL> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_limit big integer 2G
pga_aggregate_target big integer 512M
SGA_TARGET – Versuch 1
www.carajandb.com 44
SQL> ALTER SYSTEM SET sga_target=3000M SCOPE=spfile;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORA-56752: Oracle Database Express Edition (XE) memory parameter invalid or not
specified
ORA-01078: failure in processing system parameters
Lösung des Fehlers ORA-01078
www.carajandb.com 45
SQL> create pfile='/tmp/initx.ora' FROM spfile;
File created.
SQL> !vi /tmp/initx.ora
SQL> startup nomount pfile='/tmp/initx.ora';
ORACLE instance started.
…
SQL> create spfile from pfile='/tmp/initx.ora';
File created.
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup
SGA_TARGET – Versuch 2
www.carajandb.com 46
SQL> ALTER SYSTEM SET pga_aggregate_target=100M;
System altered.
SQL> ALTER SYSTEM SET sga_target=1900M SCOPE=spfile;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1996485680 bytes
Fixed Size 8897584 bytes
Variable Size 520093696 bytes
Database Buffers 1459617792 bytes
Redo Buffers 7876608 bytes
Database mounted.
Database opened.
In-Memory
Spalten gegen Zeilenorientierung
• Optimierung für Transaktionen und Query Performance
Zeile• Transaktionen sind schneller bei Zeilenverarbeitung
• Schnell bei wenigen Zeilen und vielen Spalten• Beispiel: Einfügen oder Abfragen von Aufträgen
Spalte
AUFTRAG
AUFTRAEGE
R
E
G
I
O
N
• Analysen sind schneller bei Spaltenorientierung• Schnell bei wenigen Spalten und vielen Zeilen• Beispiel: Report für die Auftragssumme pro Region
AUFTRAEGE
www.carajandb.com 48
In-Memory Datenbank für beide Formate
• BEIDE Formate (Zeile und Spalte) für die selbe Tabelle
• Gleichzeitig aktiv und transaktionskonsistent
• Analysen und Reports benutzen das NEUE Spaltenformat
• OLTP benutzt das Zeilenformat
Spalten
Format
Memory
Zeilen
Format
Memory
AnalysenOLTPAuftraege Auftraege
www.carajandb.com 49
Oracle In-Memory Spalten Technologie
• Reines In-Memory Format mit Nologging
• Fast kein Overhead bei Änderungen
• Memoryoptimierte Komprimierung (2x bis 10x)
• Daten werden bei Startup oder erstenZugriff geladen
• Bei In-Memory wird ca. 90% des Speichers für das Zeilenformat benutzt
Memory
Reine Spaltenorientierung
www.carajandb.com 50
Extrem schnelle Verarbeitung
• Jede CPU scant lokale In-memory Spalten
• Scans verwenden SIMD VectorInstruktionen
• Milliarden Spalten pro Sekunde pro CPU Core
SIMD
Compare all
values in 1
cycle
Vergleich
der Werte
in einer
Instruktion
Laden
von Mill.
Regions-
werten Vecto
r R
eg
iste
r
In-Memory Column Store
RegionAuftraege
“NRW”
>100X Schneller
CPU
www.carajandb.com 51
Anwendung
• Größe des Speichers definieren (spfile)
• Bereich wird von der SGA abgezogen
• Kein Cache sondern statisch
• Instanz muss neu gestartet werden
• Tabelle, Partition oder Spalte(n) für In-Memory Benutzung definieren
• Weitere Optionen für das Laden, Komprimieren, Ein- oder Ausschließen
• Ev. Indizes löschen, die früher für Analysen verwendet wurden
SQL> ALTER SYSTEM SET inmemory_size= xGB SCOPE=spfile;
SQL> ALTER TABLE <tabelle> COLUMN (<spalte>,<spalte>) … INMEMORY;
www.carajandb.com 52
Starten der Datenbank
• Ändern der Datenbank Parameter
• StartupORACLE instance started.
Total System Global Area 1996485680 bytes
Fixed Size 8897584 bytes
Variable Size 469762048 bytes
Database Buffers 436207616 bytes
Redo Buffers 7876608 bytes
In-Memory Area 1073741824 bytes
Database mounted.
Database opened.
SQL> ALTER SYSTEM SET inmemory_size=1G scope=spfile;
www.carajandb.com 53
Ändern der Tabelle → inMemory
• Tabelle direkt ins Memory laden
• Laden dauert eine gewisse Zeit
SQL> ALTER TABLE umsaetze INMEMORY PRIORITY CRITICAL;
SQL> SELECT populate_status, inmemory_size, bytes, bytes_not_populated,
inmemory_compression
FROM v$im_segments
WHERE segment_name = 'UMSAETZE';
POPULATE_STAT INMEMORY_SIZE BYTES BYTES_NOT_POPULATED INMEMORY_COMPRESS
------------- ------------- ---------- ------------------- -----------------
STARTED 476315648 3795492864 3040034816 FOR QUERY LOW
…
POPULATE_STAT INMEMORY_SIZE BYTES BYTES_NOT_POPULATED INMEMORY_COMPRESS
------------- ------------- ---------- ------------------- -----------------
OUT OF MEMORY 733413376 3795492864 2638405632 FOR QUERY LOW
www.carajandb.com 54
Versuch 2
• Tabelle direkt ins Memory laden
• Laden dauert eine gewisse Zeit
SQL> ALTER TABLE umsaetze INMEMORY MEMCOMPRESS FOR QUERY HIGH PRIORITY CRITICAL;
SELECT populate_status, inmemory_size, bytes, bytes_not_populated,
inmemory_compression
FROM v$im_segments
WHERE segment_name = 'UMSAETZE';
POPULATE_STAT INMEMORY_SIZE BYTES BYTES_NOT_POPULATED INMEMORY_COMPRESS
------------- ------------- ---------- ------------------- -----------------
OUT OF MEMORY 465108992 3795492864 0 FOR QUERY HIGH
www.carajandb.com 55
Ladevorgang
• Critical → wird sofort nach dem Starten der Datenbank geladen
• High → wenn Critical fertig ist und noch Platz vorhanden
• Medium → wenn High fertig ist und noch Platz vorhanden
• Low → wenn Medium fertig ist und noch Platz vorhanden
• None → wenn das Objekt das erste Mal benutzt wird und noch Platz vorhanden (Default)
www.carajandb.com 56
InMemory Compression
• NO MEMCOMPRESS
• keine Komprimierung
• MEMCOMPRESS FOR DML
• Minimale Komprimierung für Abfragen und DML (OLTP Datenbanken)
• MEMCOMPRESS FOR QUERY LOW (Default)
• Normale Komprimierung für Abfragen
• MEMCOMPRESS FOR QUERY HIGH
• Hohe Komprimierung für Abfragen
• MEMCOMPRESS FOR CAPACITY LOW
• Normale Komprimierung mit sehr schneller Dekomprimierung speziell für Oracle Datenbanken
• MEMCOMPRESS FOR CAPACITY High
• Höchste Komprimierung mit langsamer Dekomprimierung
www.carajandb.com 57
Test 1: mit Hint
www.carajandb.com 58
Test 2: ohne Hint → InMemory
www.carajandb.com 59
Spotlight
www.carajandb.com 60
Sonstiges
Hocherfügbarkeit und Windows
• Oracle 12.2. mit Release Update 180717 (Juli 2018)
• Bug 26430323 : ORA-07445[KKQGBPCHECKVALIDITYDP] WHEN SELECTING FROM DUAL
• “As you are running your 12.2.0.1 version on Windows platform, one off patches are not available for Windows. On Windows bug fixes are released in quarterly patch bundles. The bug will be fixed in Windows although cannot give you a timeframe when this will happen.”
www.carajandb.com 62
CarajanDB
• Experten mit über 30 Jahren Datenbank Erfahrung
• Spezialisten für
• Datenbank Administration (Oracle und PostgreSQL)• Hochverfügbarkeit (RAC, Data Guard, Replication, etc.)• Migrationen (Unicode, PostgreSQL)• Performance Optimierung• Monitoring (OEM, Foglight, CheckMK, PEM)
• Fernwartung
• Schulung und Workshops
• PostgreSQL• Oracle• Toad
www.carajandb.com 64
Kontakt
• E-Mail: [email protected]
• Homepage: www.carajandb.com
• Adresse:• CarajanDB GmbH
Siemensstraße 2550374 Erftstadt
• Telefon:• +49 (22 35) 1 70 91 84• +49 (1 70) 4 05 69 36
• Twitter: carajandb
• Facebook: johannes.ahrends
• Blogs: • blog.carajandb.com• www.toadworld.com
65www.carajandb.com