Inhaltsverzeichnis
Die Oracle Datenbank Welt
Sammlung von kurzen Notizen zu den Themen rund um die Oracle Datenbank.
Übersicht über die wichtigsten Komponenten einer Oracle Datenbank Umgebung:
Historie der Versionen:
- 1979 Version 2
- 1983 Version 3
- 1984 Version 4
- 1985 Version 5
- 1988 Version 6
- 1997 Version 7
- 1997 Version 8
- 1998 Version 8i
- 2001 Version 9i
- 2003 Version 10g
- 2007 Version 11g
- 2013 Version 12c
- 2018 Version 18 ⇒ siehe auch ⇒ Release Update Introduction and FAQ (Doc ID 2285040.1)
- 2019 Version 19c ( ist im Endeffekt eine 12.2.0.3 und das letzte Release der Oracle DB 12c Produktfamilie )
- 2020 Version 20c (nur in der Cloud als preview)
- 2021 Version 21 (NUR noch als PDB!)
- usw.
- Siehe auch hier ⇒ http://www.dadbm.com/roadmap-oracle-database-releases/
- Support Hinweis ⇒ Release Schedule of Current Database Releases (Doc ID 742060.1) und 161818.1 – Oracle Database (RDBMS) Releases Support Status Summary
Was für ein Feature ist in welcher Version von Oracle verfügbar : https://apex.oracle.com/database-features/
Architektur Übersicht ⇒ https://www.oracle.com/webfolder/technetwork/tutorials/architecture-diagrams/19/database-technical-architecture.html
Bzgl. dem Ende des Supports siehe Node ⇒ Release Schedule of Current Database Releases (Doc ID 742060.1)
( MOS Note: 742060.1 für den letzten Stand der Graphik - Aug 22, 2023. )
Die Datenbank Version auslesen ⇒ * Datenbank Version unter Oracle 12c versus 19c auslesen
Das Data Dictionary abfragen ⇒ https://www.viskey4you.com/
Das Oracle Forum
Die Deutsche Oracle User Group
Lizenz Fragen
Oracle Database 12.1.0.2 Standard Edition (SE2) - einschränkungen - Sollten auch noch für die Version 18 gelten!
siehe ⇒ http://www.oracle.com/us/corporate/pricing/databaselicensing-070584.pdf
Oracle Database Standard Edition 2 may only be licensed on servers that have a maximum capacity of 2 sockets. When used with Oracle Real Application Clusters, Oracle Database Standard Edition 2 may only be licensed on a maximum of 2 one-socket servers. In addition, notwithstanding any provision in Your Oracle license agreement to the contrary, each Oracle Database Standard Edition 2 database may use a maximum of 16 CPU threads at any time. When used with Oracle Real Application Clusters, each Oracle Database Standard Edition 2 database may use a maximum of 8 CPU threads per instance at any time. The minimums when licensing by Named User Plus (NUP) metric are 10 NUP licenses per server
Oracle einfach bedienen und administrieren
Die Modi der Datenbank
Die Job Steuerung der Datenbank
Backup und Recovery
OraPowerShell Powershell und Bash Scripts + meine SQL Script Library
- NEU ⇒ Umzug auf gitHub ⇒ https://github.com/gpipperr/OraPowerShell
Grundlagen:
12c Rac
- VOT wieder herstellen siehe ⇒ http://www.ewan.cc/?q=node/108
Die Datenbank ID zurücksetzen:
EXEC dbms_backup_restore.zerodbid(0);
User Management in der Datenbank
Das Netzwerk Protokoll der DB SQL*Net
Der Listener
Berechtigungsprobleme:
Der Datenbank Service
An der Datenbank anmelden
Netzwerk/Firewall und SQL*Net
Datenbank Connection Pooling
SQL*Net und IPv6
- siehe Configuring an Oracle Database, Enterprise Edition, with the IPv6 IPv4 Mapping Address (Doc ID 831153.1)
SQL*Net Trace
Ab 11g den Listener dynamisch tracen
#Bei Bedarf am Listener entsprechend anmelden LSNRCTL> set current_listener LISTENER_GPI #einschalten LSNRCTL> set trc_level 16 # Wo liegt der Trace LSNRCTL> show trc_file #Ausschalten LSNRCTL> set trc_level 0
siehe ⇒ „SQL*Net listener dynamic tracing (Doc ID 1940914.1)“
Der Oracle Connection Manager
12c
21c
High Availability Clustering mit Pacemaker
SQL*Plus / SQLC und SQL Scripts
SQL*Plus:
SQL Scripte:
Command Line SQLcl 12c - Nachfolger für SQL*Plus
Alternativen:
SQL Tuning
11g
12c
18c
AWR
chained Rows Problem
siehe ⇒ http://www.akadia.com/services/ora_chained_rows.html
Analysieren:
ANALYZE TABLE T_03_COLL_1_IMMO_PRIV COMPUTE STATISTICS;
resmgr:pq queued | enq: JX - SQL statement queue
In einer 12c Umgebung kann beobachtet werden das ein Truncate plötzlich mit dem Wait Event „esmgr:pq queued“ hängt. Hier auf das Verhältnis von PARALLEL_SERVER_TARGET zu den anderen Parallel Parametern achten!
Siehe dazu auch:
SQL Trace
Last Test
Wait Events
Blogs:
Oracle:
Tuning Blogs
Wartung
Benutzer Verwaltung
MS AD Integration
Weitere Themen
Features der Datenbank
Oracle Text
VPD
Standby DB und Data Guard
Alternative Lösung für die SE ⇒ http://standbyone.de/
Streams
External Table
Heterogeneous Connectivity - Oracle Database Gateway for ODBC
Java in der Datenbank
Oracle Fail Safe Unter Windows kann die Datenbank in die Microsoft Failover Cluster Technologe integriert werden
Workload Management
User APPQOSSYS siehe ⇒ Database Quality of Service Management User's Guide
Mehr:
- How to enable QoS Management functionality in a database without using EM Cloud Control (Doc ID 2001997.1)
Oracle Multitenant ab Oracle 12c
Table Compression
EE Feature + Option!
OEM - Enterprise Manager - Grid Control
Lizenz
siehe https://docs.oracle.com/cd/E24628_01/doc.121/e24474/ch10_base_functionality.htm#OEMLI335
„The base installation of Enterprise Manager Cloud Control 12c includes several features free of charge with the purchase of any Oracle software license or Support contract.”
„Users of Standard Edition and Enterprise Edition databases can use the Base Framework features and the Base Database Management Features. The following items are included as part of base database management features of Enterprise Manager Cloud Control 12c“
⇒ Die Basisfunktionalität kann auch schon bereits in der Standard Edition eingesetzt werden!
Alternativen
Alternative in APEX „Oracle Apex Database Monitor“:
12c Database
OEM 12c
- BI Publisher with Enterprise Manager Integration
Links zu 12c
- Zentraler Einstieg in die Dokumentation ⇒ https://docs.oracle.com/en/enterprise-manager/
Server Side THRESHOLDS
Support Portal:
- Information Center: Enterprise Manager Base Platform Release Cloud Control 12c (Doc ID 1379818.2)
AWR Warehouse für 12c
11g dbconsole
11g
Ora-600 Monitoring
Datenbank Installation
Leistet Oracle Support für den Betrieb der DB auf VMware? Wenn genug Lizenzen für die Umgebung vorhanden sind inzwischen JA!
Siehe
- ⇒ Support Position for Oracle Products Running on VMWare Virtualized Environments (Doc ID 249212.1)
- ⇒ Oracle Linux Support Policies for Virtualization and Emulation (Doc ID 417770.1)
Zeichensatz:
Die wichtigste Entscheidung bei der Installation ist die richtige Wahl des Zeichensatzes der Datenbank
Welcher Zeichensatz ist in meiner DB aktuell eingestellt:
- SELECT value$ FROM sys.props$ WHERE name = 'NLS_CHARACTERSET';“
Was für möglichen Zeichensätze werden unterstützt:
- Über das DD ⇒ „select * from V$NLS_VALID_VALUES“;
- Über die Doku 12c ⇒ https://docs.oracle.com/database/121/NLSPG/applocaledata.htm#NLSPG584
Ansible im Oracle Umfeld
Ansible (https://www.ansible.com/) ist ein Open-Source Werkzeug zur Konfiguration und Administration, insbesondere im Umfeld von RedHat Basierenden Server Systemen.
Docker
Einfach mal ohne das ganze Installationsdrama arbeiten ⇒ fertige Docker Images verwenden ⇒ https://container-registry.oracle.com/pls/apex/f?p=113:1:16736952150739::NO:::
23ai
Oracle Datenbank 23ai
23c
Oracle Datenbank 23c
21c
Oracle Datenbank 21c Linux
19c
Basis Vorbereitung:
Oracle Datenbank 19c Unter MS Windows
18c
Oracle 18c auf Linux:
Oracle 18c XE auf Linux
12c
Basis Vorbereitung:
Installation:
ASM:
Linux:
Windows:
Probleme:
12c Standard Edition (September 2015)
11g
Basis Vorbereitung:
Installation:
Problem und Nacharbeiten
Support nodes:
- Reconfiguring & Recreating The 11gR2 Restart/OHAS/SIHA Stack Configuration (Standalone). (Doc ID 1422517.1)
10g
Auditing
Sicherheit
User
User soll das gesamte DD lesen können:
GRANT SELECT ANY DICTIONARY TO scott;
In 12c etwas besser eingeschränkt, Tabellen wie $USER können nicht mehr gelesen werden! ⇒ http://www.petefinnigan.com/ramblings/how_to_grant_all_privs.htm
Spalte oracle_maintained in den Datenbank Views verwenden:
SELECT username,oracle_maintained FROM dba_users;
TDE
Log4j
Passwort
- Passworte entschlüsseln ⇒ https://hashcat.net/hashcat/
Rollen
Securtiy Checklisten:
Securtiy Empfehlungen Oracle 12c:
Security Scanner
Applicationssicherheit
Mit UTL_FILE/Directory und External Table zum DBA ⇒ http://ora-600.pl/art/privilege_escalation_2.pdf
PL/SQL
Oracle Security im Netz
IDS Intrusion Detection System - mit der Oracle Datenbank
Für Linux tripwire http://www.tripwire.org/
- Übersicht und Anleitung siehe ⇒http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2014/04/Einbrueche-mit-dem-IDS-Tripwire-erkennen
Für Oracle Linux 7:
wget https://ftp.fau.de/epel/epel-release-latest-7.noarch.rpm rpm -ivh epel-release-latest-7.noarch.rpm yum repolist yum install tripwire tripwire-setup-keyfiles tripwire --init
Allgemein
Ideen
Tactics and Techniques representing the MITRE ATT&CK® Matrix for Enterprise
Produktvergleiche Sicherheitsoftware
SSL Zertifikate
Blogs
Online Scanner
USB
Migration und Upgrade
19c
Support Nodes:
- Oracle 19c - Complete checklist for Manual Upgrade for upgrading Oracle 12.x, 18c Container database (CDB) to Oracle 19c (19.x) (Doc ID 2549866.1)
18c
12c R1 nach R2
11g R2 nach 12 R1
Vor dem Upgrade muss geklärt werden, ob ein 1zu1 Upgrade erfolgen soll oder bereits jetzt auf wenigstens Single Tenant umgestiegen werden soll.
Für eine Übersicht siehe
11g R1 nach 11g R2
10g nach 11g
9i nach 10g
Allgemein
Wichtige Support Dokumente der Datenbank für die Versionsverwaltung
Security:
- Release Schedule of Current Database Releases (Doc ID 742060.1)
12.1 und kleiner
- Oracle Database - Overview of Database Patch Delivery Methods - 12.1.0.2 and older (Doc ID 1962125.1) (Doc ID 1962125.1)
- Patch für 11.2.0.4 ⇒ Database 11.2.0.4 Proactive Patch Information (Doc ID 2285559.1)
- RAC PATCHING QUICK REF: Applying CRS PSU, CRS Bundle, GI PSU, Windows Bundles 10.2 - 11.2 (Doc ID 1446371.1)
ab 12.2
- Download Reference for Oracle Database/GI Update, Revision, PSU, SPU(CPU), Bundle Patches, Patchsets and Base Releases (Doc ID 2118136.2)
19c
- Oracle Database 19c Proactive Patch Information(2521164.1)
Welche Pache müssen on top auf den RU eingespielt werden?
- Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
OPatch
- OPatch Patch Number: 6880880
- Primary Note For OPatch (Doc ID 293369.1)
- OPatch - Where Can I Find the Latest Version of OPatch? [Video] (Doc ID 224346.1)
Checks:
- Check Scripts: hcheck.sql - Script to Check for Known Problems in Oracle8i, Oracle9i, Oracle10g, Oracle 11g and Oracle 12c (Doc ID 136697.1)
Patch Rollback 12c
Linux
Windows:
- Alle Windows Services stoppen - prüfen das keine DLL in Verwendung ist
- opatch rollback -id <patch_id_zum_deinstallieren>
- DB Service wieder starten
- DB im „startup upgrade“ starten
- datapatch -verbose
- DB stoppen, Servcie durchstarten
Import und Export
Import/Export IMP/EXP
DataPump
SQLLDR
Real Application Cluster
Siehe Lizenzinformation unter ⇒ https://docs.oracle.com/en/database/oracle/oracle-database/19/dblic/Licensing-Information.html#GUID-0F9EB85D-4610-4EDF-89C2-4916A0E7AC87
Gute Übersicht ⇒ https://www.oracle.com/webfolder/technetwork/tutorials/architecture-diagrams/19/rac/main.html
Installation
18c
12c R2
12c R1
11G
Support Infos:
- How to Clone an 11.2.0.3 Grid Infrastructure Home and Clusterware (Doc ID 1413846.1)
10G
Upgrade
11G
-
- Support Dokument für Patches: 11.2.0.3 Grid Infrastructure Patch Set Updates - List of Fixes in each GI PSU (Doc ID 1517790.1)
- The processes and resources started by CRS (Grid Infrastructure) do not inherit the ulimit setting for „max user processes“ from /etc/security/limits.conf setting (Doc ID 1594606.1)
Betrieb
Autostart beim nächsten Boot verhindern
Auf dem Knoten, der nicht mehr starten soll!
#als root! cd $GRID_HOME/bin/ ./crsctl disable crs # wieder einschalten mit ./crsctl disable crs #prüfen ./crsctl check crs
srvctl tracen
export SRVM_TRACE=true srvctl ....
19c
12c
RH7 Doku ⇒ https://www.redhat.com/en/files/resources/en-rhel-deploy-oracle-rac-database-12c-rhel-7.pdf
11g
- ASM Internals ⇒ https://twiki.cern.ch/twiki/bin/view/PDBService/ASM_Internals
- KSV master wait ⇒ https://nzdba.wordpress.com/tag/ksv-master-wait/
Übersicht Clusterware siehe hier www.twg-it.de
Support:
- Oracle Support Document 265769.1 (Troubleshooting 10g and 11.1 Clusterware Reboots)
- Top 5 issues for Instance Eviction (Doc ID 1374110.1)
- Script to Collect RAC Diagnostic Information (racdiag.sql) (Doc ID 135714.1)
- 11gR2 GI Node May not Join the Cluster After Private Network is Functional After Eviction due to Private Network Problem (Doc ID 1479380.1)
Timing Issues:
- Heartbeat/Voting/Quorum Related Timeout Configuration for Linux, OCFS2, RAC Stack to Avoid Unnecessary Node Fencing, Panic and Reboot (Doc ID 395878.1)
- Cluster Health Monitor (CHM) FAQ (Doc ID 1328466.1)
- Data Collecting for Troubleshooting Oracle Clusterware (CRS or GI) And Real Application Cluster (RAC) Issues (Doc ID 289690.1)
- Steps To Change CSS Misscount, Reboottime and Disktimeout (Doc ID 284752.1)
- CSS Timeout Computation in Oracle Clusterware (Doc ID 294430.1)
- CRS-2409:The clock on host <hostname> is not synchronous with the mean cluster time (Doc ID 1135337.1)
- CRS-2409 messages seen from CTSS despite NTP running properly. (Doc ID 1311163.1)
10g
Entwicklung RAC
Bücher Oracle RAC
Multitenant Architecture - Plugable Database
Ab Oracle 21 ein Muss! Oracle 19c letzte Version mit „normalen“ Betriebsmodus!
Lizenz ⇒ siehe https://docs.oracle.com/en/database/oracle/oracle-database/19/dblic/database-licensing-information-user-manual.pdf auf Seite 11 ⇒ „For all offerings, if you are not licensed for Oracle Multitenant, then you may have up to 3 user-created PDBs in a given container database at any time“
Bei jeder Option sind dann also 3 Plugable Datenbank pro DB in der Basis Lizenz enthalten.
Oracle Internals
Mehr oder weniger Spass mit Oracle
11g
Architektur
Problemstellungen
Space Management:
- Master Note: Overview of Oracle Segment Storage (Doc ID 1491960.1)
Qracle ASM
Performance
Oracle ASM Utiltiy um Metricen einzusammlen von Bertrand Drouvot:
Migration
Wartung
Installation
SQL*Net
Probleme
Hilfreiche Befehle
ASM Header von den Platten auslesen
$GRID_HOME/bin/kfed read /dev/oracleasm/disks/VOT1
Quellen und Links
EOUC
DOAG
Oracle Blogs
Oracle Link Lists
Oracle Poster - 12c DD Overview
Oracle Websessions:
- Oracle DBA Monthly -Datenbank-Update für Administratoren
Tools
Foren und Oracle DBA Webseiten
Oracle News Aggregator
cheat sheets
Dokumentation
Bücher
- The Oracle Hacker's Handbook: Hacking and Defending Oracle ⇒ http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470080221.html
Intern
Topic SQL Scripte
Die neusten SQL Scripte liegen hier ⇒ http://orapowershell.codeplex.com/SourceControl/latest#sql/help.sql
2010/05/05 09:03 | Probleme beim Sichern der DB lösen In regelmäßigen Abständen sind die Logfile der Sicherung zu überprüfen. (siehe: /opt/oracle/admin/<sid>\backup\backup_<tag>.log) Mit dem Script am Ende der Seite regelmäßig prüfen, ob die Flash Recovery Area nicht vollläuft! | |
2012/03/22 17:30 | Anzeige der per Foreign Key referenzierten Tabellen Wie erkennt man bei einem „ORA-02449: unique/primary keys in table referenced by foreign keys“ die abhängigen Tabellen? Lösung: SELECT table_name ,constraint_name ,status ,owner FROM all_constraints WHERE r_owner = :ref_owner AND constraint_type = 'R' AND r_constraint_name IN (SELECT constraint_name FROM all_constraints … | |
2010/04/30 13:00 | Flashback aktivieren DB:10g Aufgabe: Auf einer 10g Cluster Datenbank soll Flashback aktiviert werden. Die Datenspeicherung erfolgt über eine Oracle ASM Instance. Bisher wurde die Recovery Area Parameter nicht verwendet. Die Platte für die Archivelogs und RMAN Backups ist gross aber langsam, die Flashback Logs soll auf einer schnellen 100GB Lun abgelegt werden. Die Flashback Logs lassen sich aber nicht einzeln konfigurieren. | |
2010/04/29 18:45 | Ungültige Objekte in der DB "reparieren" In einer produktiven Datenbank sollten kleine Objekte ungültig sein und die Entwickler sollten bei ungültigen Objekten diese „reparieren“. Folgendes Schript hilft die schlimmsten Fehler zu beseitigen, wenn z.b. der Oracle Enterprise Manager hunderte von ungültigen Objekten anmerkt. | |
2010/04/26 16:24 | Per SQL Spool Scripte erzeugen SQL*Plus im Detail unter Einführung SQL*Plus Synonyme erzeugen ##SOURCESCHEME## mit dem Schemanamen ersetzen -- Setup some SQLPlus parameters. SET heading off -- Spool everything to an file to reuse the generated SQL. spool synonymspool -- Do the Query. SELECT 'CREATE SYNONYM ##DESTINATIONSCHEME##.' || TABLE_NAME || ' FOR ##SOURCESCHEME##.' || TABLE_NAME || ';' FROM cat WHERE TABLE_NAME NOT LIKE 'BIN%'; -- Close spool. spool off | |
2013/07/23 13:38 | Größe einer Tabelle analysieren Oft ist es notwendig, sich neben der reinen Größe einer Tabelle auch den Füllgrade anzeigen zu lassen: (Die aktuelle Version liegt immer hier OraPowerShell SQL Library - space.sql ) set pagesize 300 set linesize 250 set verify off define lnum = "format 9G999G999D99" define num = "format 99G999" define snum = "format 9G999" ttitle left "Space Usage of a table" skip 2 define ENTER_OWNER='&TABLE_OWNER' define ENTER_TABLE='&TABLE_NAME' column segment_nam… | |
2010/05/05 09:03 | Die aktuellen SQL Statements in der DB auswerten Der einfachste Ansatz zum finden von „problematischen“ SQL Statements ist die Auswertung der in der SGA gecachten Statements nach den evlt. Problemfällen. Dabei werden die Statements gesucht, die oft aufgerufen werden UND viele Resourcen (CPU und Lesevorgänge) verbrauchen. | |
2010/05/05 09:03 | Statistiken anlegen und überwachen 1. Systemweite Statistik In der DOAG News 01/2013 (S.52) ist ein sehr gut gemachter Artikel von Thorsten W. Grebe über die Problematik mit den Oracle Systemstatistiken zu finden: “Glücksspiel Systemstatistiken - Das Märchen vom typischen Workload“. |