Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle...

65
Oracle 18 XE Johannes Ahrends

Transcript of Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle...

Page 1: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

Oracle 18 XE

Johannes Ahrends

Page 2: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

… ü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

Page 3: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

Funktionen und Optionen

Page 4: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 5: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 6: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 7: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 8: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 9: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 10: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 11: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

Installation

Page 12: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

Download

• https://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html

www.carajandb.com 12

Page 13: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 14: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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!

Page 15: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 16: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 17: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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'.

Page 18: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 19: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 20: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 21: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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 *

Page 22: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 23: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 24: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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'

Page 25: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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;

Page 26: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

Für Oracle XE gibt es keine Patches!

Page 27: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

Oracle Java Virtual Machine

• OJVM in der Datenbank

• Oracle Security Alert for CVE-2018-3110

www.carajandb.com 27

Page 28: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

Oracle Java Virtual Machine

• OJVM in der Datenbank

• Oracle Security Alert for CVE-2018-3259

www.carajandb.com 28

Page 29: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 30: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 31: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 32: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 33: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 34: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 35: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

Spotlight

• Root-Container

• User: c##spot

• CONTAINER_DATA=ALL

www.carajandb.com 35

Page 36: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

Multitenant Database

Page 37: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 38: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 39: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 40: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 41: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

Toad und Pluggable Databases

www.carajandb.com 41

Page 42: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

Memory

Page 43: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 44: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 45: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 46: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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.

Page 47: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

In-Memory

Page 48: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 49: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 50: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 51: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 52: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 53: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 54: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

Ä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

Page 55: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 56: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 57: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 58: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

Test 1: mit Hint

www.carajandb.com 58

Page 59: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

Test 2: ohne Hint → InMemory

www.carajandb.com 59

Page 60: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

Spotlight

www.carajandb.com 60

Page 61: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

Sonstiges

Page 62: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 63: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:
Page 64: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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

Page 65: Oracle 18 XE - CarajanDB… über mich •Oracle Spezialist seit 1992 •1992: Presales bei Oracle in Düsseldorf •1999: Projektleiter bei Herrmann & Lenz Services GmbH •2005:

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