Mirko Hotzy, Andrea Held, Marek Adar, Christian Antognini, Ronny Egner, Markus Flechtner, Angelika Gallwitz, Stefan Oehrli, Daniel Steiger
Der Oracle DBA
Handbuch für die Administration der Oracle Database 12c
Inhalt
6
Vorwort
24
1 Schnelleinstieg
26
1.1 Grundsätzliches zu einer Oracle-Datenbank
26
1.1.1 Die Oracle-Instanz
27
1.1.2 Die System Global Area
27
1.1.3 Initialisierungsparameter
27
1.1.4 Die Oracle-Datenbank
27
1.1.5 Die Kontrolldatei
28
1.1.6 Die Redo Log-Dateien
28
1.1.7 Instanz-Recovery
28
1.1.8 Betriebsarten einer Datenbank
28
1.1.9 Optimal Flexible Architecture (OFA)
29
1.2 Vorbereitung eines Linux- und Windows-Systems für die Oracle-Installation
29
1.2.1 Die Oracle-Editionen
30
1.2.2 Hardware- und Softwarevoraussetzungen
33
1.2.3 Vorbereitung eines Windows-Systems für die Installation
34
1.2.4 Vorbereitung eines Linux-Systems für die Datenbankinstallation
35
1.2.4.1 Vorbereitung des Linux-Systems mit oracle-rdbms-server-12cR1-preinstall
37
1.2.4.2 Manuelle Vorbereitung
38
1.2.4.3 Zusätzliche Vorbereitungen
39
1.3 Die Installation
42
1.3.1 Software und Datenbankinstallation mit OUI
42
1.3.2 Datenbankinstallation mit DBCA
49
1.4 Grundlagen der Oracle-Administration
55
1.4.1 Administrationswerkzeuge
56
1.4.2 Das Grundwerkzeug SQLPlus
57
1.4.2.1 Anmelden an SQLPlus
57
1.4.2.2 SQL und SQLPlus-Befehle
57
1.4.2.3 SQLPlus-Befehle
58
1.4.3 Die Standardadministratoren
58
1.4.3.1 Anmelden als SYSDBA
59
1.4.4 Starten der Datenbankinstanz
61
1.4.5 Beenden der Datenbankinstanz
62
1.4.6 Initialisierungsparameter
63
1.4.6.1 Ändern von Session-Parametern
63
1.4.6.2 Ändern von System-Parametern
64
1.4.7 Das Listener Control
65
1.4.8 Oracle Enterprisemanager Express
66
1.4.9 Der SQLDeveloper
68
1.5 Online-Hilfe (My Oracle Support)
72
1.6 Die Oracle-Dokumentation
74
2 Architektur und Administration
76
2.1 Datenbank und Instanz
77
2.2 Physische Architektur einer Oracle-Datenbank
78
2.2.1 Datenblöcke
81
2.2.2 Datafiles
83
2.2.3 Tablespaces
84
2.2.4 Informationen zu Tablespaces im Data Dictionary
88
2.2.5 Empfehlungen zum Tablespace-Layout
88
2.2.6 Redo Logs
90
2.2.7 Controlfiles
92
2.2.8 Parameterfile
94
2.2.9 Passwordfile
95
2.2.10 Alert- und Trace-Dateien
95
2.2.11 Flashback Logs
97
2.2.12 Block-Change-Tracking-Protokoll
98
2.3 Instanz: Arbeitsspeicher- und Prozessarchitektur
99
2.3.1 System Global Area (SGA)
99
2.3.2 Program Global Area (PGA)
105
2.3.3 Memory Management
106
2.3.4 Prozesse
109
2.3.5 Prozesse auf Linux/Unix
113
2.3.6 Prozesse auf Windows-Systemen
113
2.3.7 Prozessarchitektur mit Oracle 12c: Multithreads
114
2.4 Konsistenz der Datenbank
114
2.4.1 Transaktionsmanagement
114
2.4.2 Lesekonsistenz
115
2.4.3 Undo Management
115
2.4.4 Sperren
116
2.4.5 Isolation Level
117
2.4.6 System Change Number (SCN)
117
2.4.7 Checkpoints
118
2.4.8 Crash Recovery
120
2.5 Start und Stopp einer Oracle-Datenbank
121
2.5.1 Phasen während des Startup
121
2.5.2 Phasen während des Shutdowns
123
2.5.3 Startup-Befehle
124
2.5.4 Shutdown-Befehle
127
2.6 Verwaltung von Tablespaces
129
2.6.1 Informationen zu bestehenden Tablespaces ermitteln
129
2.6.2 Tablespaces erstellen
133
2.6.3 Tablespace umbenennen
136
2.6.4 Tablespaces vergrößern und verkleinern
137
2.6.5 Datafiles zu Tablespaces hinzufügen
139
2.6.6 Datafiles verschieben oder umbenennen
139
2.6.7 Tablespaces löschen
141
2.6.8 Datafiles löschen
142
2.6.9 Default- und Temporary-Tablespace für Benutzer setzen
142
2.6.10 Offline- und Online-Setzen eines Tablespaces
143
2.6.11 Read-Only- und Read-Write-Setzen
144
2.6.12 Aktivieren und Deaktivieren des Logging für Tablespace
145
2.6.13 Verwaltung von Undo Tablespaces
146
2.6.14 Verwaltung von Temporary Tablespaces
153
2.7 Verwaltung von Redo Logs
156
2.7.1 Informationen zu Redo Logs aus dem Data Dictionary ermitteln
156
2.7.2 Redo Log-Historie
157
2.7.3 Empfehlungen zur Konfiguration von Redo Logs
157
2.7.4 Anlegen einer Redo Log-Gruppe
159
2.7.5 Hinzufügen eines weiteren Mitglieds zu einer bestehenden Gruppe
160
2.7.6 Löschen eines Mitglieds einer Redo Log-Gruppe
160
2.7.7 Löschen einer Redo Log-Gruppe
160
2.7.8 Wechseln der Redo Log-Gruppe
161
2.7.9 Verschieben und Umbenennen von Redo Logs
161
2.7.10 Logfiles bereinigen
162
2.7.11 Redo Logs für Real Application Clusters (RAC)
162
2.7.12 Der Archive Log-Modus
163
2.8 Verwaltung der Controlfiles
165
2.8.1 Informationen zu Controlfiles ermitteln
165
2.8.2 Controlfiles spiegeln
165
2.8.3 Controlfiles durch eine Kopie sichern
166
2.8.4 Controlfiles mit einem Trace dumpen
166
2.9 Parametrisierung
168
2.9.1 Der Startvorgang mit Parameterfile
168
2.9.2 Welche Parameterdatei wird aktuell verwendet?
169
2.9.3 Ändern der Parametrisierung
169
2.9.4 Zurücksetzen eines Parameters
170
2.9.5 Probleme bei der Änderung der Parametrisierung
171
2.9.6 Aktuelle Parametrisierung ermitteln
171
2.9.7 Parameter zur Datenbank- und Instanz-Konfiguration
172
2.9.8 Verdeckte Parameter
174
2.9.9 PFiles und SPFiles erzeugen
174
2.10 Passwort-Dateien verwalten
175
2.10.1 Passwort-Datei erstellen
175
2.10.2 Passwort-Dateien und Datenbankparameter
176
2.10.3 Privilegierte Benutzer einer Passwort-Datei hinzufügen und entfernen
176
2.11 Weitere Administrationsbefehle
177
2.11.1 Ändern des Globalen Namens der Datenbank
177
2.11.2 Ändern des Zeichensatzes
177
2.11.3 Benutzerverbindungen beenden: Kill Session
179
2.11.4 Benutzerverbindungen beenden: Disconnect Session
180
2.11.5 Benutzersessions sperren: Restricted Mode
181
2.11.6 Benutzeraktionen unterbinden: Quiesce Restricted
182
2.11.7 Einen Checkpoint erzwingen
183
2.11.8 Den Blockpuffer leeren: Flush buffer_cache
183
2.11.9 Den Shared Pool leeren: Flush shared_pool
183
2.11.10 Den Inhalt eines Datenblockes dumpen
184
2.12 Informationen zur Datenbank ermitteln
185
2.12.1 Statische Data Dictionary Views
185
2.12.2 Dynamische Performance Views
186
2.12.3 Allgemeine Informationen zur Datenbank
188
2.12.4 Startzeit und Status der Instanz
188
2.12.5 Hostname und Instanz-Name
188
2.12.6 Spracheinstellungen und Zeichensätze
188
2.12.7 Aktuelle Datenbankversion
189
2.12.8 Installierte Oracle-Optionen
189
2.12.9 Größen der Caches der SGA
189
2.12.10 Pfad zu Trace-Dateien und Alert-Log
190
2.12.11 Datenbank-Benutzer
191
2.12.12 Rechte und Rollen eines Datenbank-Benutzers
191
2.12.13 Datenbankobjekte
192
2.12.14 Offene Datenbankverbindungen
192
2.12.15 Aktive Sessions
193
2.12.16 SQL-Statement nach Session
193
2.12.17 Waits
193
2.12.18 Langlaufende Operationen
194
2.12.19 Sperren in der Datenbank
194
2.12.20 Die aktuelle System Change Number (SCN) ermitteln
195
2.13 Resümee
195
3 Verwaltung von Datenbankobjekten
196
3.1 Benutzer und Schemata
197
3.2 Bezeichner
197
3.3 Speicherhierarchie
198
3.4 Zeichensätze
200
3.5 Datentypen
203
3.6 Speicherorganisation von Tabellen
204
3.6.1 Heap Tables
204
3.6.2 Index Organized Tables (IOTs)
205
3.6.3 Object Tables
206
3.6.4 Global Temporary Tables
208
3.6.5 External Tables
209
3.6.6 Geclusterte Tabellen
210
3.6.6.1 Index-Cluster
211
3.6.6.2 Hash-Cluster
212
3.6.6.3 Sorted Hash-Cluster
212
3.6.7 Tabellenkomprimierung
213
3.6.8 Tabellenpartitionierung
213
3.7 Administrationsbefehle für Tabellen
214
3.7.1 Tabellen erstellen
214
3.7.2 Erstellen einer Tabelle aus einem Select-Statement
214
3.7.3 Tabellen kopieren
215
3.7.4 Tabellennamen ändern
215
3.7.5 Tabelleneigenschaften ändern
216
3.7.6 Löschen einer Tabelle
216
3.7.7 Tablespace zuordnen
216
3.7.8 Eine Tabelle in einen anderen Tablespace verschieben
217
3.7.9 Extent-Größen festlegen
218
3.7.10 Einstellen der Größe des Transaktionsheaders
218
3.7.11 Verzögerte Speicherallokation/Deferred Segment Creation
220
3.7.12 Cache/Nocache/Cache Reads
220
3.7.13 Logging und Nologging
221
3.7.14 Parallelisierung
222
3.7.15 Schreibschutz für Tabellen: Read only/Read write
223
3.7.16 Spalten hinzufügen
223
3.7.17 Spaltennamen ändern
223
3.7.18 Default-Werte für Spalten vergeben
224
3.7.19 Spaltendefinitionen ändern
224
3.7.20 Spalten physisch löschen
225
3.7.21 Spalten logisch löschen
226
3.7.22 Speicherplatz einer Tabelle ermitteln
226
3.7.23 Speicherplatz freigeben
227
3.7.24 Tabellen leeren mit Truncate Table
229
3.7.25 Wichtige Rechte rund um Tabellen
230
3.7.26 Informationen zu Tabellen und Spalten im Data Dictionary
231
3.8 Constraints
232
3.8.1 Not Null
233
3.8.2 Unique
233
3.8.3 Primary Key
234
3.8.4 Foreign Key
234
3.8.5 Check-Contraints
236
3.8.6 Aktivierung und Deaktivierung von Constraints
236
3.8.7 Verzögerte Überprüfung
238
3.8.8 Umbenennen von Constraints
238
3.8.9 Entfernen von Constraints
239
3.8.10 Wichtige Rechte rund um Constraints
239
3.8.11 Informationen zu Constraints im Data Dictionary
239
3.9 Views
240
3.9.1 Standard-Views
241
3.9.2 Materialized Views
242
3.9.3 Objekt-Views
243
3.9.4 Wichtige Rechte rund um Views
243
3.9.5 Informationen zu Views im Data Dictionary
244
3.10 Indizes
244
3.10.1 B*Baum
245
3.10.2 Bitmap Index
247
3.10.3 Reverse Key Index
248
3.10.4 Funktionsbasierter Index
248
3.10.5 Unique Index
249
3.10.6 Online-Erstellung eines Index
250
3.10.7 Speicherparameter: Tablespace und Extentgrößen
250
3.10.8 Einstellen der Größe des Transaktionsheaders
251
3.10.9 Reorganisation/Index Rebuild
252
3.10.10 Speicherplatz eines Index ermitteln
253
3.10.11 Speicherplatz freigeben
253
3.10.12 Deaktivieren eines Index
254
3.10.13 Invisible Index
255
3.10.14 Logging
256
3.10.15 Parallelisierung
257
3.10.16 Umbenennen eines Index
257
3.10.17 Monitoring der Index-Nutzung
258
3.10.18 Wichtige Rechte rund um Indizes
259
3.10.19 Informationen zu Indizes im Data Dictionary
259
3.11 Synonyme
259
3.11.1 Public Synonym
260
3.11.2 Wichtige Rechte rund um Synonyme
260
3.11.3 Informationen zu Synonymen im Data Dictionary
260
3.12 Datenbank-Links
261
3.12.1 Public Database-Link
262
3.12.2 Verbindungsdescriptor zur Remote-Datenbank
262
3.12.3 Rechte zu Datenbank-Links
262
3.12.4 Informationen zu Datenbank-Links im Data Dictionary
263
3.13 Sequenzen
263
3.13.1 Rechte zu Sequenzen
264
3.13.2 Informationen zu Sequenzen im Data Dictionary
264
3.14 PL/SQL-Programme
265
3.14.1 Stored Procedures/Functions
265
3.14.2 Packages
265
3.14.3 Trigger
265
3.14.4 Wichtige Rechte rund um PL/SQL-Programme
266
3.14.5 Informationen zu PL/SQL-Programmen im Data Dictionary
266
3.15 Resümee
266
4 Speicherplatzverwaltung
268
4.1 Datenbankspeicheroptionen
269
4.1.1 Eigenschaften eines Speichersystems
270
4.1.1.1 Verwaltung
270
4.1.1.2 Verfügbarkeit
271
4.1.1.3 Performance
271
4.1.1.4 Zugriff
273
4.1.2 Filesysteme
273
4.1.2.1 Verwaltung
274
4.1.2.2 Verfügbarkeit
275
4.1.2.3 Performance
275
4.1.2.4 Zugriff
275
4.1.3 Automatic Storage Management
276
4.1.3.1 Verwaltung
276
4.1.3.2 Verfügbarkeit
277
4.1.3.3 Performance
277
4.1.3.4 Zugriff
277
4.1.4 Die Auswahl der Datenbankspeicheroption
277
4.2 Data-, Temp- und Redo Log-File-Attribute
278
4.2.1 Initial Size
278
4.2.2 Automatische Filevergrößerung
280
4.2.3 Manuelle Filevergrößerung
280
4.3 Extent-Management-Optionen
281
4.3.1 Extent Map
282
4.3.2 Storage-Parameter
282
4.3.3 Extent-Allozierung
283
4.3.3.1 Deferred Segment Creation
283
4.3.3.2 Parallele Inserts
284
4.3.4 Dictionary Managed Tablespaces
285
4.3.5 Locally Managed Tablespaces
286
4.3.5.1 Uniform Extent Size
287
4.3.5.2 System Managed Extent Size
288
4.3.5.3 Smallfile- vs. Bigfile-Tablespaces
289
4.3.6 Auswahl der Extent-Management-Optionen
290
4.4 Segmentspace-Verwaltung
292
4.4.1 High-Water Mark
292
4.4.2 Manuelle Segmentspace-Verwaltung
294
4.4.3 Automatische Segmentspace-Verwaltung
296
4.4.4 Auswahl einer Segmentspace-Verwaltungsoption
299
4.5 Zusätzliche Segmentoptionen
299
4.5.1 Interested Transaction List (ITL)
299
4.5.2 Minimal Logging
301
4.6 Reorganisationen
303
4.6.1 Datensatzmigration und Datensatzverkettung
303
4.6.2 Verschieben von Segmenten
306
4.6.3 Verschieben von Tabelleninhalten
307
4.6.4 Rückgewinnung von freiem Platz
309
4.7 Resümee
310
5 Oracle Multitenant
312
5.1 Die Container-Datenbank-Architektur
312
5.1.1 Unterschiede zur klassischen Architektur
313
5.1.2 Die Architektur
315
5.1.3 Verzeichnisstrukturen und Dateinamen
317
5.1.4 Verfügbare Datenbankvarianten in Oracle 12c
318
5.2 Anlegen einer Container-Datenbank
319
5.2.1 CDB anlegen mit dem DBCA
319
5.2.2 CDB anlegen mit SQL-Skript
320
5.3 Aufteilung der Zuständigkeiten
322
5.4 Anlegen einer Pluggable-Datenbank
323
5.5 Kopieren von Pluggable-Datenbanken
325
5.5.1 Kopieren einer lokalen PDB
325
5.5.2 Remote Cloning
326
5.5.3 Metadata Cloning
327
5.5.4 Subset Cloning
327
5.5.5 Snapshot Cloning
328
5.6 Zugriff auf Pluggable-Datenbanken
329
5.7 Administration von Pluggable-Datenbanken
330
5.7.1 Öffnen und Schließen von PDBs
331
5.7.2 Droppen von PDBs
332
5.7.3 Verschieben von PDBs
332
5.7.4 Benutzer- und Rechteverwaltung
335
5.7.5 PDB-übergreifende Operationen
337
5.7.6 Upgrades in der CDB-Architektur
337
5.7.7 Parameter
338
5.7.8 Änderungen im Data Dictionary
339
5.7.9 Werkzeuge
341
5.7.9.1 Enterprise Manager 12c Cloud Control
341
5.7.9.2 Enterprise Manager 12c Database Express
341
5.8 Backup & Restore von Container-Datenbanken
343
5.9 Migration zur CDB-Architektur
345
5.9.1 Clonen einer Nicht-CDB als PDB
346
5.9.2 Einhängen einer Nicht-CDB als PDB
346
5.10 Verschiedenes
346
5.10.1 CDB im RAC
346
5.10.2 CDB & DataGuard
347
5.10.3 Ressourcenmanagement
348
5.11 Einsatzmöglichkeiten
349
5.11.1 Database as a Service (DBaaS)
349
5.11.1.1 EM 12c Cloud Management Pack for Oracle Database
349
5.11.1.2 Apex-Provisioning Tool
350
5.11.2 Entwicklungsdatenbanken
350
5.11.3 „Sammeldatenbanken“
351
5.12 Zusammenfassung
351
6 Security
352
6.1 Authentifizierung
353
6.1.1 Datenbankauthentifizierung
353
6.1.1.1 Passwörter und Password Hash
353
6.1.1.2 Authentifizierungsprotokoll
356
6.1.1.3 Protokollierung der Logins
357
6.1.1.4 Passwortprofile
358
6.1.1.5 Standardbenutzer, globale und lokale Benutzer
362
6.1.2 Betriebssystemauthentifizierung
363
6.1.3 Proxy-Authentifizierung
364
6.1.4 Kerberos
367
6.1.5 Authentifizierung per SSL und Zertifikaten
369
6.1.6 Enterprise User Security
372
6.2 Autorisierung
375
6.2.1 Systemprivilegien
375
6.2.2 Objektprivilegien
377
6.2.3 Administrative Privilegien
378
6.2.4 Berechtigungen auf Directories
382
6.2.5 Netzwerkzugriff
382
6.2.6 Rollen
384
6.2.6.1 Rollenkonzept
384
6.2.6.2 Passwortgeschützte Rollen
385
6.2.6.3 Secure Application Role
386
6.2.7 Überwachung von Privilegien
387
6.2.8 Virtual Private Database
389
6.2.8.1 Default Behavior
392
6.2.8.2 Column Masking Behavior
393
6.2.9 Database Vault
393
6.3 Auditing
397
6.3.1 Standard-Auditing
399
6.3.1.1 Statement- und Privilegien-Auditing
400
6.3.1.2 Objekt-Auditing
401
6.3.1.3 Auswertungen
401
6.3.1.4 Weitere Klauseln des Audit-Befehls
403
6.3.1.5 Ausschalten des Audits
404
6.3.1.6 Audit für administrative Benutzer
404
6.3.2 Unified Auditing
405
6.3.3 Audit Policies
410
6.3.4 Trigger-basiertes Audit
414
6.3.4.1 Event-Trigger
414
6.3.4.2 DML-Trigger
415
6.3.5 Fine-Grained Auditing
415
6.3.6 Verwalten der Audit-Informationen
417
6.3.7 Audit Vault und Database Firewall
420
6.4 Vertraulichkeit der Daten
423
6.4.1 Data Redaction
423
6.4.2 Verschlüsselung der Oracle-Dateien
427
6.4.2.1 Oracle Wallet
427
6.4.2.2 Verschlüsselung auf Spaltenebene
431
6.4.2.3 Verschlüsselung auf Tablespace-Ebene
433
6.4.3 Verschlüsselung und Integritätsprüfung des Netzwerkverkehrs
436
6.4.3.1 Verschlüsselung
436
6.4.3.2 Integritätsprüfung
439
6.4.3.3 SSL-Verschlüsselung
441
6.5 Resümee
443
7 Automatic Storage Management
444
7.1 Die ASM-Architektur im Überblick
445
7.2 Eine ASM-Umgebung konfigurieren
446
7.2.1 Die Software bereitstellen
446
7.2.2 Manuelle ASM-Konfiguration
447
7.2.3 ASM-Disks auf spezifischen Plattformen
449
7.2.3.1 AIX
449
7.2.3.2 Solaris
450
7.2.3.3 Linux
450
7.2.3.4 Windows
451
7.2.4 Der Discovery-Prozess
452
7.2.5 Der ASMCA
453
7.2.6 ASM im Enterprise Manager 11g und Cloud Control 12c/13c
455
7.3 ASM-Disks, -Diskgruppen und -Fehlergruppen
456
7.4 Das Utility ASMCMD
461
7.5 ASM-Sicherheit
463
7.6 ASM Monitoring, Performance und Troubleshooting
464
7.7 Eine Datenbank nach ASM konvertieren
469
7.8 Das ASM Cluster File-System (ACFS)
473
7.8.1 General Purpose ACFS-Dateisystem
474
7.8.2 CRS Managed ACFS-Dateisystem
475
7.8.3 ACFS Snapshots
476
7.8.4 ACFS verwalten
477
7.9 Oracle Flex ASM
478
7.9.1 Architektur
478
7.9.2 Aktivierung von Flex ASM
479
7.9.3 Verwaltung von Flex ASM
479
7.10 Resümee
480
8 Optimierung
482
8.1 Designing for Performance
482
8.1.1 Unzulänglichkeiten im logischen Datenbankdesign
483
8.1.2 Implementation von generischen Tabellen
483
8.1.3 Verzicht auf Constraints
484
8.1.4 Unzulängliches physisches Datenbankdesign
484
8.1.5 Falsche Datentypauswahl
485
8.1.6 Inkorrekte Verwendung von Bind-Variablen
485
8.1.7 Fehlender Einsatz von Advanced Datenbankfeatures
486
8.1.8 Fehlende Verwendung von Stored-Procedures
487
8.1.9 Ausführung von unnötigen Commits
487
8.1.10 Häufiges Öffnen und Schließen von Datenbankverbindungen
487
8.1.11 Öffnen von zu vielen Datenbankverbindungen
488
8.2 Konfigurationsempfehlungen
488
8.2.1 Initialisierungsparameter
489
8.2.1.1 Speicher-Subsystem
489
8.2.1.2 Arbeitsspeicher
490
8.2.1.3 Optimizer
493
8.2.2 Systemstatistiken
495
8.2.3 Objektstatistiken
497
8.3 Vorgehen bei Performance-Problemen
498
8.3.1 Probleme einordnen
499
8.3.2 Probleme lösen
500
8.4 Identifikation von Performance-Problemen
500
8.4.1 Analyse von reproduzierbaren Problemen
501
8.4.2 Echtzeitanalyse von nichtreproduzierbaren Problemen
509
8.4.2.1 Analyse mit dem Diagnostics Pack
509
8.4.2.2 Analyse ohne Diagnostics Pack
514
8.4.3 Nachträgliche Analyse von nichtreproduzierbaren Problemen
521
8.4.3.1 Analyse mit dem Automatic Workload Repository
521
8.4.3.2 Analyse mit dem Statspack
522
8.5 Ausführungspläne
527
8.5.1 Ermittlung des Ausführungsplans
527
8.5.1.1 SQL-Befehl EXPLAIN PLAN
527
8.5.1.2 Dynamische Performance Views
529
8.5.1.3 Real-time Monitoring
531
8.5.1.4 Automatic Workload Repository und Statspack
533
8.5.2 Interpretation von Ausführungsplänen
534
8.5.3 Erkennen von ineffizienten Ausführungsplänen
537
8.6 Methoden zur Lösung von Performanceproblemen
541
8.6.1 Verhinderung unnötiger Arbeit
541
8.6.2 Datenbankaufrufe schneller machen
542
8.6.2.1 Änderung der Zugriffsstrukturen
542
8.6.2.2 Änderung der SQL-Statements
543
8.6.2.3 Ändern der Runtime-Umgebung
543
8.6.2.4 Ändern des Ausführungsplans
543
8.6.2.5 Einsatz von Advanced-Features
543
8.6.2.6 Verhinderung von Contention
544
8.6.3 Ressourcenverwaltung
545
8.6.4 Hardware-Upgrade
545
8.7 Resümee
546
9 Monitoring
548
9.1 Monitoring-Architektur
549
9.1.1 Automatic Diagnostic Repository
550
9.1.2 ADRCI – die Schnittstelle zum ADR
551
9.1.3 Health Monitor
553
9.1.4 Incident Package Service (IPS)
554
9.1.5 Enterprise Manager Support Workbench
556
9.1.6 Automatic Workload Repository (AWR)
556
9.2 Monitoring-Datenbasis
557
9.2.1 Alert-Log
557
9.2.2 Tracefiles, Dumps und Corefiles
558
9.2.3 Data Dictionary Views
558
9.2.4 Datenbankmetriken
559
9.2.5 Server Generated Alerts
561
9.2.6 Baseline Metric Thresholds und Adaptive Thresholds
562
9.2.7 Metric Extensions
563
9.2.8 Compliance Management
564
9.3 Monitoring von Oracle-Datenbanken
566
9.3.1 Überwachung der Serviceverfügbarkeit
566
9.3.2 ORA-Fehlermeldungen und Alerts
567
9.3.3 Monitoring der Systemaktivität
569
9.3.4 Platzüberwachung
571
9.3.4.1 Überwachung von Tablespaces
571
9.3.4.2 Überwachung der Fast Recovery Area
573
9.3.4.3 Überwachung von ASM
574
9.3.5 Monitoring von SQL-Befehlen/Performance
574
9.3.6 Monitoring der CPU-Auslastung
576
9.3.7 Monitoring von RMAN-Backups
577
9.3.7.1 Backup-Überwachung mit dem Enterprise Manager
577
9.3.7.2 Backup-Überwachung mit SQL*Plus
578
9.3.7.3 Monitoring der Aktualität der RMAN-Backups
578
9.3.7.4 Monitoring der RMAN-Performance
579
9.3.7.5 Monitoring des Backup-Volumens
579
9.3.7.6 Monitoring von RMAN-Jobs
580
9.3.8 Überwachung von Konfigurationsänderungen
581
9.3.9 Überwachung von Locking-Situationen
582
9.3.10 Best-Practice (Basis-Monitoring)
583
9.4 Monitoring-Werkzeuge
586
9.4.1 Enterprise Manager Database Express 12c
586
9.4.2 Enterprise Manager Cloud Control
587
9.4.3 SQL Developer
588
9.4.4 Auswahlkriterien für Monitoring-Werkzeuge
589
9.5 Resümee
590
10 Aufbau und Betrieb eines Datenbankservers
592
10.1 Überlegungen zum Aufbau und Betrieb eines Datenbankservers
592
10.2 Wahl der Oracle-Plattform
594
10.3 Betriebssystembenutzer und Berechtigungen
596
10.3.1 Software-Owner und Betriebssystembenutzer
596
10.3.2 Home-Verzeichnis der User „oracle“ und „grid“
597
10.3.3 Betriebssystemgruppen
597
10.3.4 File-Permissions, Ownership und umask
599
10.4 Oracle-Verzeichnisstruktur
600
10.4.1 Optimal Flexible Architecture (OFA)
600
10.4.2 Der OFA-Verzeichnisbaum
601
10.4.3 Die „/u00“-Philosophie
602
10.4.4 Mountpoints
602
10.4.5 ORACLE_BASE
603
10.4.6 ORACLE_HOME
603
10.4.7 Shared-Home-Installationen
603
10.4.8 Multi-Home-Installationen
604
10.4.9 Oracle Universal Installer Inventory
604
10.4.10 Automatic Diagnostic Repository (ADR)
605
10.5 Verwaltung des Oracle-Environment
605
10.6 Betrieb eines Oracle-Datenbankservers
606
10.6.1 Monitoring & Reporting
607
10.6.2 Backup & Recovery
607
10.6.3 Datenbank-Maintenance
608
10.6.4 Weitere Betriebsaufgaben
609
10.6.5 Das Betriebshandbuch
610
10.7 Resümee
611
11 Backup und Recovery
612
11.1 Übersicht
612
11.1.1 Entwicklung eines Sicherungskonzepts
613
11.1.2 Offline- und Online-Sicherung
614
11.1.3 Logische und physische Sicherung
614
11.1.4 Restore und Recovery
615
11.1.5 Vollsicherung, inkrementelle und differenzielle Sicherung
615
11.1.6 Flash/Fast Recovery Area
615
11.1.7 Oracle-Backup- und Recovery-Lösungen und Werkzeuge
616
11.2 User-Managed Sicherungen
616
11.2.1 Backup-Informationen aus V$Views
616
11.2.2 Offline-Sicherung der ganzen Datenbank
618
11.2.3 Online-Sicherung der ganzen Datenbank
620
11.2.4 Backup der PDBs
620
11.2.5 Backup Tablespace und Datenfiles
621
11.2.6 Backup Controlfile
622
11.2.7 Backup der archivierten Redo Log-Dateien
623
11.2.8 Backup ASM und RAW Devices
623
11.2.9 Backup mit Snapshot Technology
623
11.2.10 Backup-Troubleshooting
623
11.2.11 Wiederherstellung aus einer Betriebssystemsicherung
624
11.3 Recovery-Manager-(RMAN-)Sicherungen
626
11.3.1 RMAN-Architektur und ihre Komponenten
626
11.3.2 Aufruf und RMAN-Konfiguration
627
11.3.3 Sicherungsoptimierung
628
11.3.4 Backup-Sets und Image-Kopien
633
11.3.5 Der Recovery-Katalog und die Recovery-Katalog-Datenbank
634
11.3.6 Sicherung auf Band in einem Run-Block
637
11.3.7 Sicherung der Datenbank im Online- und Offline-Modus
640
11.3.8 Inkrementelle Sicherung der Datenbank
641
11.3.9 Sicherung der ganzen Datenbank
641
11.3.10 Sicherung der CDBs
642
11.3.11 Sicherung der PDBs
642
11.3.12 Sicherung Tablespaces und Datenfiles
643
11.3.13 Sicherung von archivierten Redo Log-Dateien
644
11.3.14 Sicherung Controlfile und Spfile
645
11.3.15 Langzeitsicherungen
646
11.3.16 Sicherungsdateien sichern
647
11.3.17 Backup-Pieces und Tags
648
11.3.18 Reports zu Sicherungen
649
11.3.19 Monitoren des RMAN-Job-Fortschritts und Fehler
649
11.3.20 Prüfung auf Korruptionen
650
11.3.21 Löschen alter Sicherungen
651
11.3.22 Virtual Private Catalog
652
11.4 RMAN-Wiederherstellung
653
11.4.1 Wiederherstellen eines Blocks
653
11.4.2 Wiederherstellen einzelner Tabellen
655
11.4.3 Wiederherstellen einer Datendatei
656
11.4.4 Wiederherstellen eines Tablespace
657
11.4.5 Wiederherstellen der Kontrolldateien
657
11.4.6 Wiederherstellen eines Root-Containers
659
11.4.7 Wiederherstellen einer Datenbank (CDB)
659
11.4.8 Unvollständiges Wiederherstellen/Point in Time Recovery (PITR)
660
11.4.9 Restore Points und garantierte Restore Points
660
11.4.10 Data Recovery Advisory (DRA)
661
11.5 Oracle Flashback
663
11.5.1 Flashback Database und CDB
663
11.5.2 Flashback Table/Zurücksetzen einer Tabelle
664
11.5.3 Flashback Drop/Wiederherstellen einer gelöschten Tabelle
665
11.5.4 Flashback Transaction/Transaktionen zurücksetzen
665
11.6 Portabilität von Backups
667
11.7 Data Pump Export und Import
667
11.7.1 Übersicht
667
11.7.2 Befehle und Beispiele
669
11.7.3 Full Transportable Export/Import
672
11.7.4 Monitoring der Data-Pump-Jobs
673
11.8 Ausblick, Zusammenfassung
673
12 Verfügbarkeit
674
12.1 Übersicht Grid-Infrastruktur
674
12.2 Grid-Infrastruktur und Oracle Real Application Clusters (RAC)
675
12.2.1 Architektur
676
12.2.2 Oracle Cluster Registry (OCR)
677
12.2.3 Voting Devices
678
12.2.4 Prozesse
678
12.2.5 Logfiles
679
12.2.6 Grid Plug and Play (GPnP)
679
12.2.7 Grid Naming Service (GNS)
679
12.2.8 Single Client Access Name (SCAN)
679
12.2.9 Installation
680
12.2.10 Administration
683
12.2.10.1 crsctl
683
12.2.10.2 Starten und Stoppen des Clusters
684
12.2.10.3 Autostart des Clusters aktivieren/deaktivieren
684
12.2.10.4 Prüfen des Cluster-Status
684
12.2.10.5 Prüfung von Ressourcen
684
12.2.10.6 Starten und Stoppen von Ressourcen
687
12.2.10.7 Voting Disks verwalten
689
12.2.10.8 Oracle Cluster Registry (OCR) verwalten
689
12.2.11 Server Pools
691
12.2.12 Administrator-managed und Policy-managed Cluster
692
12.2.13 Oracle Flex Cluster
692
12.2.13.1 Architektur
692
12.2.13.2 Umwandlung eines bestehenden Clusters in einen Flex Cluster
692
12.2.13.3 Administration von Flex Clustern
693
12.3 Oracle Restart
694
12.3.1 Architektur
695
12.3.2 Installation
695
12.3.3 Administration
696
12.4 Grid-Infrastruktur für Third-Party-Applikationen
698
12.4.1 Installation
698
12.4.2 Administration
698
12.5 RAC One Node
702
12.6 Oracle Data Guard
703
12.6.1 Architektur
704
12.6.1.1 Die Snapshot-Standby-Datenbank
706
12.6.2 Data Guard Services
706
12.6.3 Data Guard Protection Modes
708
12.6.4 Data Guard Broker
709
12.6.5 Verwaltungswerkzeuge
709
12.6.6 Hard- und Softwarevoraussetzungen
709
12.6.7 Verzeichnisstrukturen der Standby-Database
710
12.6.8 Vorbereitung der Primärdatenbank
710
12.6.9 Manuelle Erstellung der Physical-Standby-Datenbank
714
12.6.10 Erstellung der Physical-Standby-Datenbank mit RMAN DUPLICATE
716
12.6.11 Duplicate einer PDB- oder CDB-Datenbank
719
12.6.12 Überwachung der Physical-Standby-Datenbank
721
12.6.13 Real Time Apply und Standby-Logfiles
722
12.6.14 Starten und Stoppen des Redo Apply
723
12.6.15 Aktivierung des Data Guard Broker
723
12.6.16 Hinzufügen und Aktivieren von Standby-Datenbanken
726
12.6.17 Ändern von Konfigurationseinstellungen
726
12.6.18 Durchführen eines Switchover
729
12.6.19 Durchführen eines Failover
730
12.6.20 Far-Sync-Instanzen und Zero Data Loss
731
12.6.20.1 Real Time Cascade
733
12.6.21 Aufbau einer Logical Standby-Datenbank
735
13 Datenbank-Upgrades
736
13.1 Upgrade vs. Migration
738
13.2 Generelle Rahmenbedingen
738
13.3 Technische Planung
739
13.4 Überblick Upgrade-Methoden
742
13.5 Generell mögliche Upgrade-Pfade
747
13.6 Database Upgrade Assistant (DBUA)
747
13.6.1 Software-Download
747
13.6.2 Datenbanksoftwareinstallation
748
13.6.3 Upgrade mithilfe des DBUA
749
13.6.4 Silent Upgrade
753
13.7 Manuelles Upgrade
753
13.7.1 Manuelles Upgrade im Detail
760
13.8 Downgrade
762
13.9 Best Practices Datenbank-Upgrade
764
13.10 Alternative Upgrade-Methoden
767
13.10.1 Original-Export- und -Import-Utilities (exp/imp)
767
13.10.2 Export und Import mittels Data Pump
768
13.10.3 Transportable Tablespaces
770
13.11 Full Transportable Database
772
13.12 Komplexe Upgrade-Methoden
773
13.12.1 Copy Table (Create Table as select)
774
13.12.2 Oracle Streams/Oracle Golden Gate
774
13.12.3 Upgrade mit logischer Standby-Datenbank
775
13.13 Datenbankkonvertierung auf 64 Bit
777
13.14 Wechsel von einer Standard Edition auf die Enterprise Edition
778
13.15 Wechsel von einer Enterprise Edition auf eine Standard Edition
779
13.16 Resümee
779
14 Globalization Support
780
14.1 Zeichensätze
780
14.1.1 Zeichensätze in der Datenbank
782
14.1.1.1 Database Character Set
783
14.1.1.2 National Character Set
783
14.1.2 Unicode
783
14.1.2.1 Was ist Unicode?
783
14.1.2.2 Unicode in der Oracle-Datenbank
784
14.1.3 Besonderheiten bei der Verwendung von Unicode als Datenbankzeichensatz
784
14.1.3.1 Längenangaben bei der Definition von Tabellenspalten
784
14.1.3.2 Zusätzliche SQL-Funktionen
786
14.1.3.3 ASCII-Funktion
787
14.1.3.4 Sortierung
787
14.1.4 Welcher Zeichensatz ist als „Database Character Set“ am besten geeignet?
787
14.1.5 Häufig verwendete Zeichensätze
788
14.1.6 Zeichensatzwechsel der Datenbank
789
14.1.6.1 Allgemeines
789
14.1.6.2 Werkzeuge für den Zeichensatzwechsel
789
14.1.6.3 csscan/csalter
790
14.1.6.4 Database Migration Assistant for Unicode (DMU)
790
14.2 NLS-Einstellungen
797
14.2.1 NLS_LANG
797
14.2.2 NLS-Parameter
798
14.2.3 Abhängigkeiten
800
14.3 Zeit & Datum
800
14.4 NLS in SQL
802
14.5 NLS-Data-Dictionary-Views
804
14.6 Zusammenfassung
804
Die Autoren
806
Index
810
© 2009-2024 ciando GmbH