Oracle 12c - Die Onleihe

Werbung
Inhaltsverzeichnis
Teil I
Installation, Architektur und Infrastruktur
15
1
1.1
1.2
1.3
1.4
Einleitung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Der Aufbau des Buches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konventionen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Software und Skripte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Über den Autor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
18
19
20
20
2
2.1
Installation und Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Software-Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1
Vorbereitung der Installation . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Die Oracle-Software installieren . . . . . . . . . . . . . . . . . . . . . . .
Eine Oracle 12c-Datenbank erstellen . . . . . . . . . . . . . . . . . . . . . . . . . .
Beispielschemata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erste Schritte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows-spezifische Besonderheiten . . . . . . . . . . . . . . . . . . . . . . . . .
Administrationswerkzeuge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.1 Administration mit der Kommandozeile . . . . . . . . . . . . . . . .
2.6.2 Administration mit dem Oracle Enterprise Manager . . . . . .
2.6.3 Der Oracle SQLDeveloper . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hilfe und Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Praktische Tipps zur Datenbankadministration . . . . . . . . . . . . . . . . .
21
21
22
26
33
40
41
47
53
53
54
56
58
61
Die Oracle-Datenbankarchitektur. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Übersicht der Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1
Die Struktur der Datenbank . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2 Die Struktur der Instanz . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.3
Automatic Memory Management (AMM) . . . . . . . . . . . . . . .
Prozesse und Abläufe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Die Oracle-Hintergrundprozesse . . . . . . . . . . . . . . . . . . . . . .
3.2.2 Lesekonsistenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Pluggable Database-Architektur . . . . . . . . . . . . . . . . . . . . . . . . . .
69
69
69
83
86
92
92
95
102
2.2
2.3
2.4
2.5
2.6
2.7
2.8
3
3.1
3.2
3.3
5
Inhaltsverzeichnis
4
4.1
4.2
Eine Pluggable Database installieren . . . . . . . . . . . . . . . . . . . . . . . . . .
Eine Container-Datenbank erstellen . . . . . . . . . . . . . . . . . . . . . . . . . .
Eine PDB mit SQL*Plus erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
107
107
111
5
5.1
Interne Strukturen und Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Datenbankstrukturen verwalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1
Tablespaces und Datafiles . . . . . . . . . . . . . . . . . . . . . . . . . . . .
113
113
113
6
6.1
6.2
6.3
6.4
Aufbau einer Datenbankinfrastruktur . . . . . . . . . . . . . . . . . . . . . . . . .
Überwachung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Backup and Recovery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standardisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diagnostik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4.1 Die Komponenten der Fault Diagnostic Infrastructure. . . . .
6.4.2 Die Support Workbench. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
123
124
133
134
135
136
139
Teil II Oracle-Datenbankadministration
145
7
7.1
7.2
7.3
147
148
151
157
158
159
162
167
174
177
178
181
181
182
183
184
188
189
190
7.4
7.5
6
Backup and Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Backup and Recovery-Strategien. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Der Recovery Manager (RMAN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3.1
Die RMAN-Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3.2 Einen Recovery-Katalog erstellen. . . . . . . . . . . . . . . . . . . . . . .
7.3.3 Die RMAN-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3.4 Sicherungen mit RMAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3.5 Sicherungen mit dem Oracle Enterprise Manager . . . . . . . .
7.3.6 Einen Media Manager verwenden. . . . . . . . . . . . . . . . . . . . . .
Die Fast Recovery Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.1 Dateien in die Fast Recovery Area legen . . . . . . . . . . . . . . . . .
7.4.2 Die Fast Recovery Area verwalten . . . . . . . . . . . . . . . . . . . . . .
Restore und Recovery mit RMAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5.1
Verlust eines Datafiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5.2 Disaster Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5.3 Verlust von Online Redo Log-Dateien. . . . . . . . . . . . . . . . . . .
7.5.4 Block Media Recovery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5.5 Der Data Recovery Advisor. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inhaltsverzeichnis
7.5.6 Switch zur Datafile-Kopie . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5.7 Eine Tabelle mit RMAN zurückspeichern . . . . . . . . . . . . . . .
Wiederherstellung mit Flashback-Operationen . . . . . . . . . . . . . . . . .
7.6.1 Flashback Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6.2 Flashback Drop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6.3 Flashback Transaction History . . . . . . . . . . . . . . . . . . . . . . . .
7.6.4 Flashback Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tablespace Point-in-Time Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . .
193
195
199
200
201
202
203
207
Schnittstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Pump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.1.1 Die Data Pump-Architektur. . . . . . . . . . . . . . . . . . . . . . . . . . .
8.1.2 Data Pump-Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.1.3 Data Pump-Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.1.4 Data Pump über Datenbank-Link . . . . . . . . . . . . . . . . . . . . . .
8.1.5 Full Transportable Export/Import. . . . . . . . . . . . . . . . . . . . . .
8.1.6 Data Pump Performance und Monitoring . . . . . . . . . . . . . . .
8.1.7 Data Pump für Migrationen einsetzen . . . . . . . . . . . . . . . . . .
8.1.8 Ein Dumpfile nach Excel konvertieren . . . . . . . . . . . . . . . . . .
8.1.9 Data Pump mit dem Oracle Enterprise Manager . . . . . . . . .
SQL*Loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2.1 Daten laden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2.2 Externe Tabellen laden. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2.3 Daten entladen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
213
213
215
216
220
222
223
225
228
231
233
235
235
238
238
9
9.1
9.2
9.3
9.4
9.5
Job-Verwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Architektur des Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scheduler-Jobs verwalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Privilegien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Job-Ketten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Automatisierte Wartungs-Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
241
241
241
244
245
246
10
10.1
10.2
10.3
10.4
Oracle Net Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Oracle Net-Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Server-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Shared Server-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Oracle Net Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
247
248
253
256
259
7.6
7.7
8
8.1
8.2
7
Inhaltsverzeichnis
11
11.1
11.4
Sicherheit und Überwachung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlegende Features und Maßnahmen . . . . . . . . . . . . . . . . . . . . .
11.1.1 Benutzer, Rollen und Profile . . . . . . . . . . . . . . . . . . . . . . . . . .
11.1.2 Einfache Maßnahmen zur Erhöhung der Sicherheit. . . . . . .
Auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2.1 Out-of-the box Auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2.2 Object Auditing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2.3 Statement Auditing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2.4 Privilege Auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2.5 Session Auditing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2.6 SYSDBA-Aktivitäten überwachen . . . . . . . . . . . . . . . . . . . . . .
11.2.7 Fine Grained Auditing (FGA) . . . . . . . . . . . . . . . . . . . . . . . . .
Virtual Private Database (VPD). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.3.1 Application Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.3.2 Eine VPD konfigurieren. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Database Vault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
261
263
263
268
273
276
277
278
279
280
281
282
284
285
287
289
12
Der Oracle Resource Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
291
13
13.1
13.2
13.3
13.4
13.5
13.6
Globalization Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Datentypen mit Zeitzonen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Hierarchie der NLS-Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . .
Linguistische Sortierung und Vergleiche. . . . . . . . . . . . . . . . . . . . . . .
Der Oracle Locale Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Der Character Set Scanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sprachen im Enterprise Manager. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
297
298
298
300
303
303
304
14
14.1
14.2
Die XML-Datenbank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Architektur der XML-DB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XML-Dokumente speichern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14.2.1 Die dokumentenbasierte Speicherung . . . . . . . . . . . . . . . . . .
14.2.2 Die objektrelationale Speicherung . . . . . . . . . . . . . . . . . . . . .
XML-Dokumente abfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
307
307
310
311
312
316
Automatic Storage Management (ASM) . . . . . . . . . . . . . . . . . . . . . . .
Storage-Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.1.1 Network Attached Storage (NAS) . . . . . . . . . . . . . . . . . . . . . .
15.1.2 Internet SCSI (iSCSI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.1.3 Storage Area Network (SAN) . . . . . . . . . . . . . . . . . . . . . . . . . .
Die ASM-Architektur im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . .
319
320
321
321
323
325
11.2
11.3
14.3
15
15.1
15.2
8
Inhaltsverzeichnis
15.3
15.4
15.5
15.6
15.7
15.8
15.9
16
16.1
16.2
16.3
16.4
16.5
16.6
16.7
16.8
ASM-Disks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.3.1 ASM-Disks auf verschiedenen Plattformen . . . . . . . . . . . . . .
15.3.2 Eine Testumgebung aufsetzen . . . . . . . . . . . . . . . . . . . . . . . .
Die ASM-Instanz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diskgruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ASM überwachen und verwalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.6.1 ASM-Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.6.2 ASMCMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.6.3 Verwaltung mit dem Enterprise Manager . . . . . . . . . . . . . . .
Das ASM Cluster-Filesystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.7.1 General Purpose ACFS-Dateisystem . . . . . . . . . . . . . . . . . . .
CRS Managed ACFS-Dateisystem . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.8.1 ACFS Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Eine Datenbank nach ASM konvertieren . . . . . . . . . . . . . . . . . . . . . .
327
330
337
337
340
349
349
353
355
356
358
359
361
362
Upgrade und Patching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ein Upgrade umfassend planen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Upgrade-Pfad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Upgrade-Methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Upgrade mit dem DBUA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Upgrade mit dem Oracle Enterprise Manager . . . . . . . . . . . . . . . . . .
Manuelles Upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Upgrade auf Pluggable Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Patching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.8.1 Patching mit OPatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16.8.2 Patching mit dem Enterprise Manager . . . . . . . . . . . . . . . . .
367
367
369
369
371
375
377
383
384
384
389
Teil III Erweiterte Administration und Spezialthemen
393
17
17.1
17.2
17.3
395
395
401
403
403
405
406
409
411
Pluggable Database (PDB) administrieren . . . . . . . . . . . . . . . . . . . . .
Die Strukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Starten und Stoppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Eine PDB anlegen und migrieren . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.3.1 Ein Schema kopieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.3.2 Die Transportable Tablespace-Methode . . . . . . . . . . . . . . . . .
17.3.3 Eine PDB klonen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.3.4 In eine andere CDB klonen . . . . . . . . . . . . . . . . . . . . . . . . . . .
17.3.5 Eine Nicht-CDB in eine PDB migrieren . . . . . . . . . . . . . . . . .
9
Inhaltsverzeichnis
17.4
17.5
17.6
17.7
17.8
17.9
Tablespaces verwalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Benutzer und Rollen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schema-Objekte verwalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Backup und Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flashback-Operationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die PDB im Enterprise Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
412
413
415
416
420
421
18
18.1
Recovery-Szenarien für Experten . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recovery und Strukturänderungen . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.1.1 Szenario 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.1.2 Lösung 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.1.3 Szenario 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.1.4 Lösung 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Der Trick mit den Redo Log-Dateien . . . . . . . . . . . . . . . . . . . . . . . . . .
Der Data Recovery Advisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ein unbekanntes Szenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ausfall des Recovery-Katalogs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Der Oracle LogMiner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
423
424
424
426
428
429
432
436
438
440
442
Erweiterte Sicherheitsthemen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Netzwerksicherheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verschlüsselung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hackerangriffe abwehren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.3.1 Angriffe auf den Authentifizierungsprozess abwehren. . . . .
19.3.2 PL/SQL Injection verhindern . . . . . . . . . . . . . . . . . . . . . . . . .
19.3.3 Brute Force-Attacken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Datenbankaudits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Oracle Data Redaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
447
447
450
453
454
456
460
462
465
Performance Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Datenbank-Tuning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.1.1 Vorgehen und Werkzeuge . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.1.2 Problemanalyse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.1.3 Instance Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.1.4 Disk Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Real Time ADDM-Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SQL Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.3.1 Adaptives Cursor Sharing (ACS) . . . . . . . . . . . . . . . . . . . . . . .
20.3.2 Adaptive Ausführungspläne . . . . . . . . . . . . . . . . . . . . . . . . . .
20.3.3 Dynamische Statistiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
471
472
472
474
490
506
509
510
511
514
520
18.2
18.3
18.4
18.5
18.6
19
19.1
19.2
19.3
19.4
19.5
20
20.1
20.2
20.3
10
Inhaltsverzeichnis
21
21.1
21.2
21.3
21.4
Real Application Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Workload Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Workload Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Workload Replay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SQL Performance Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21.4.1 Eine SQL-Anweisung analysieren . . . . . . . . . . . . . . . . . . . . . .
523
526
529
530
533
535
Teil IV Data Warehouse
543
22
22.1
22.2
22.3
22.4
22.5
22.6
Ein Data Warehouse planen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schritte zur Planung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Das Projektteam bilden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Rolle des Datenbankadministrators . . . . . . . . . . . . . . . . . . . . . . .
Die Architektur des Data Warehouse. . . . . . . . . . . . . . . . . . . . . . . . . .
Das Datenmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hard- und Software für das DWH . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22.6.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22.6.2 Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
545
546
547
548
550
553
555
555
556
23
23.1
23.2
23.3
Der Oracle Warehouse Builder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installation und Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OWB-Datenquellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die ETL-Logik des OWB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
559
561
569
571
24
24.1
24.2
24.3
24.4
24.5
ETL in der Praxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ETL-Werkzeuge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabellenfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Change Data Capture (CDC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transportable Tablespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Weitere ETL-Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
579
580
581
584
588
590
25
25.1
25.2
OLAP und Reporting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SQL für Data Warehouse-Abfragen . . . . . . . . . . . . . . . . . . . . . . . . . . .
SQL-Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
593
594
600
26
26.1
26.2
26.3
26.4
Administration von Data Warehouse-Datenbanken . . . . . . . . . . . . . .
Partitionierung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Indexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Materialized Views (MV). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Backup and Recovery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
605
607
613
616
625
11
Inhaltsverzeichnis
Teil V Hochverfügbarkeit
627
27
27.1
27.2
Data Guard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Physical Standby-Datenbanken. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27.2.1 Vorbereitung der Primärdatenbank . . . . . . . . . . . . . . . . . . . .
27.2.2 Vorbereitung der Standby-Datenbank. . . . . . . . . . . . . . . . . . .
27.2.3 Kopieren der Primärdatenbank . . . . . . . . . . . . . . . . . . . . . . . .
27.2.4 Aktivierung von Data Guard . . . . . . . . . . . . . . . . . . . . . . . . . .
27.2.5 Physical Standby-Datenbanken verwalten . . . . . . . . . . . . . . .
Logical Standby-Datenbanken. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
629
630
632
635
637
639
640
642
663
28
28.1
28.2
Global Data Services (GDS). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Architektur und Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Eine GDS-Umgebung aufsetzen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28.2.1 Den GSM installieren. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28.2.2 Den GDS-Katalog erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . .
28.2.3 GSM zum Katalog hinzufügen . . . . . . . . . . . . . . . . . . . . . . . .
28.2.4 Pool, Region, Datenbanken und Services hinzufügen. . . . . .
28.2.5 GDS Client-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . .
671
671
674
674
676
677
677
678
29
29.1
29.2
29.3
Real Application Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cluster-Architekturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cache Fusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installation und Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29.3.1 Die Installation vorbereiten . . . . . . . . . . . . . . . . . . . . . . . . . . .
29.3.2 Die Grid Infrastructure installieren . . . . . . . . . . . . . . . . . . . .
29.3.3 Die Datenbank-Software installieren. . . . . . . . . . . . . . . . . . . .
29.3.4 Eine RAC-Datenbank erstellen . . . . . . . . . . . . . . . . . . . . . . . .
Real Application Clusters administrieren . . . . . . . . . . . . . . . . . . . . . .
29.4.1 ORAchk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29.4.2 Die RAC-Datenbank verwalten . . . . . . . . . . . . . . . . . . . . . . . .
RAC-Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Backup and Recovery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RAC und Data Guard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Oracle Restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
681
683
686
691
692
698
708
712
718
718
722
736
741
743
744
27.3
29.4
29.5
29.6
29.7
29.8
12
Inhaltsverzeichnis
Teil VI Oracle Cloud Computing
747
30
30.1
30.2
Den Enterprise Manager installieren . . . . . . . . . . . . . . . . . . . . . . . . . .
Hardware- und Software-Anforderungen . . . . . . . . . . . . . . . . . . . . . .
Die Installation durchführen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
749
749
750
31
31.1
31.2
31.3
31.4
Oracle Cloud Computing mit dem Enterprise Manager . . . . . . . . . .
Cloud Computing für Oracle Datenbanken . . . . . . . . . . . . . . . . . . . .
Die Cloud Management Infrastructure einrichten . . . . . . . . . . . . . . .
Provisioning mit dem Enterprise Manager . . . . . . . . . . . . . . . . . . . . .
Den DBaaS-Service einrichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31.4.1 Einen Datenbank-Pool anlegen . . . . . . . . . . . . . . . . . . . . . . . .
31.4.2 Die Anforderungen und Quotas festlegen . . . . . . . . . . . . . . .
31.4.3 Ein Provisioning-Profil und Service-Vorlage erstellen . . . . .
31.4.4 Eine Pluggable Database erstellen . . . . . . . . . . . . . . . . . . . . .
759
759
760
765
768
769
770
771
771
32
32.1
Verwaltung der Datenbankinfrastruktur . . . . . . . . . . . . . . . . . . . . . . .
Verwaltung von Datenbanken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32.1.1 Den Agent ausrollen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32.1.2 Weitere Ziele registrieren . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32.1.3 Allgemeine Verwaltungsfunktionen . . . . . . . . . . . . . . . . . . . .
Datenbanken überwachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cloning und Replikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Upgrades und Patching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
775
775
777
780
782
788
791
793
Stichwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
795
32.2
32.3
32.4
13
Kapitel 2
Installation und Konfiguration
In diesem Kapitel werden die Installation der Oracle-Software sowie der Aufbau
einer Standarddatenbank beschrieben. Die Beschreibung erfolgt auf Basis einer
Linux-Installation. Das Vorgehen kann auf andere UNIX-Betriebssysteme wie
AIX, Solaris oder HP unter Beachtung der plattformspezifischen Besonderheiten
übertragen werden. Auf Unterschiede im Windows-Umfeld wird entsprechend
verwiesen. Die hier erstellte Datenbank können Sie als Übungsdatenbank für alle
im Buch verwendeten Beispiele und Skripte, die sich auf eine Standarddatenbank
beziehen, nutzen.
Oracle 12c hält für die Datenbank folgende Editionen bereit:
쐽
Standard Edition one
쐽
Standard Edition
쐽
Enterprise Edition
쐽
Personal Edition (Windows)
Die Editionen unterscheiden sich in Funktionsumfang und Lizenzkosten. Um
alle im Buch beschriebenen Features und Beispiele nachvollziehen und testen
zu können, sollten Sie die Enterprise Edition installieren. Wenn Sie nicht über
eine Datenbanklizenz verfügen, dann können Sie eine kostenlose Entwicklerlizenz erwerben. Beachten Sie in jedem Fall die Lizenzbedingungen der Firma
Oracle.
Das Thema Pluggable Database (Multitenant Database) wird in diesem Kapitel
außen vor gelassen. Informationen zur Installation von Pluggable Databases finden Sie in Kapitel 4. Die Administration wird in Kapitel 17 behandelt.
2.1
Software-Installation
Die Installation selbst erfolgt mit dem Oracle Universal Installer. Es besteht die
Möglichkeit, Software und Datenbank in einem Durchlauf anzulegen. Es ist
jedoch zu empfehlen, besonders wenn Sie neu im Oracle-Umfeld sind, die Installation von Software und Datenbank in zwei getrennten Schritten durchzuführen.
Die Installation der Software gliedert sich in zwei Teile: die Vorbereitung des
Betriebssystems sowie die Durchführung der Installation.
21
Kapitel 2
Installation und Konfiguration
2.1.1
Vorbereitung der Installation
Die Vorbereitung des Betriebssystems für die Installation ist ein wichtiger Prozess. Bereits hier entscheidet sich, wie stabil und fehlerfrei die Datenbank später
laufen wird.
Sie können die Software von der Website http://www.oracle.com/technetwork herunterladen. Dort finden Sie die zu Ihrem Betriebssystem passende Software. Wir installieren auf »Oracle Enterprise Linux 6.5«. Die Oracle-Software für
eine 64-Bit-Version des Betriebssystems finden Sie unter der Kategorie »Linux
x86-64«. Eine weitere Quelle für das Download ist die Website http://edelivery.oracle.com. Hier finden Sie die komplette Produkt-DVD.
Hinweis
Verwenden Sie für produktive Systeme die Website http://edelivery.
oracle.com, da sich auf dieser Seite die offizielle Produkt-DVD befindet.
Für die Installation der Datenbanksoftware benötigen Sie nur den Teil »Oracle Database 12c for Linux x86-64«. Der Teil »Grid Infrastructure« wird nur benötigt, wenn
Automatic Storage Management oder Hochverfügbarkeitsfeatures wie Real Application Clusters zum Einsatz kommen. Darauf wollen wir an dieser Stelle verzichten.
Wichtig
Verwenden Sie ausschließlich durch Oracle zertifizierte Betriebssystemversionen. Andernfalls erhalten Sie bei Problemen möglicherweise keinen Support.
Die aktuelle Zertifizierungsliste finden Sie auf der Website http://support.oracle.com. In Tabelle 2.1 sind die mit der Datenbankversion 12.1.0.1 zertifizierten Linux-Betriebssysteme aufgelistet.
Betriebssystem
Linux x86-64 Oracle Linux 5
Linux x86-64 Oracle Linux
Linux x86-64 Red Hat Enterprise Linux 5
Linux x86-64 Red Hat Enterprise Linux 6
Linux x86-64 SuSe SLES 11
Status
Zertifiziert
Zertifiziert
Zertifiziert
Zertifiziert
Zertifiziert
Tabelle 2.1: Zertifizierung von Linux-Betriebssystemen mit Oracle 12c
Tipp
Um den Aufwand für die Vorbereitung des Betriebssystems zur Installation der
Oracle Grid- und Datenbanksoftware möglichst gering zu halten, können Sie
unter Linux 6 das sogenannte »Oracle RDBMS Pre-Install RPM« installieren.
22
2.1
Software-Installation
Die Installation des Pakets kann nach der Installation des Betriebssystems erfolgen. Sie finden das Paket auf dem ULN-Server (Unbreakable Linux Network) im
Channel »Oracle Linux 6 Latest (x86_64)«. Der Name des Pakets ist »oraclerdbms-server-12cR1-preinstall-1.0-8.el6.x86_64.rpm«.
# rpm -i oracle-rdbms-server-12cR1-preinstall-1.0-8.el6.x86_64.rpm
Listing 2.1: Das Pre-Install-Paket für Oracle 12c installieren
Mit der Installation des Pakets werden Vorbereitungsschritte wie die komplette
Einrichtung des Users oracle oder das Eintragen der Kernelparameter in die Datei
/etc/sysctl.conf vorgenommen.
Überprüfen Sie, bevor Sie mit der Installation beginnen, ob die Mindestanforderungen an Hard- und Software erfüllt sind. Die Anforderungen sind:
쐽
1 GB Hauptspeicher (RAM), empfohlen werden 2 GB oder mehr
쐽
1 GB freier Speicherplatz im Verzeichnis »/tmp«
쐽
6,4 GB für die Datenbanksoftware
쐽
Swap Space: gleich der RAM-Größe (bis 16 GB RAM) und 16 GB (mehr als 16
GB RAM)
Mit dem Einsatz von Automatic Memory Management (so wie es seit Oracle 11g
bekannt ist) muss das Shared Memory durch das Betriebssystem zur Verfügung
gestellt werden. Überprüfen Sie, ob das erforderliche Memory zur Verfügung
steht:
# df -h /dev/shm
Filesystem
shmfs
Size
3.0G
Used Avail Use% Mounted on
0 1.0G
0% /dev/shm
Hinweis
Erfüllt das nach »/dev/shm« gebundene Shared Memory die Mindestanforderungen nicht, dann erhalten Sie beim ersten Startversuch (beim Erstellen) der
Datenbank die Fehlermeldung »ORA-00854 MEMORY_TARGET is not supported on this system«.
Führen Sie die folgenden Schritte durch, um genügend Memory zur Verfügung zu
stellen:
1. Anhängen des Hauptspeichers:
# mount -t tmpfs shmfs -o size=3G /dev/shm
23
Kapitel 2
Installation und Konfiguration
2. Um die Änderung über einen Neustart persistent zu machen, muss die folgende Zeile in die Datei /etc/fstab eingefügt werden:
shmfs
/dev/shm
tmpfs
size=3G
0 0
Falls Sie das »Oracle RDBMS Pre-Install RPM« installiert haben, dann wurde die
Mehrzahl der Vorbereitungsarbeiten bereits durchgeführt. In der folgenden
Beschreibung finden Sie die einzelnen Schritte für die manuelle Vorbereitung des
Betriebssystems.
Die folgenden Aktionen werden mit dem Benutzer root vorgenommen. Prüfen
Sie, ob die richtige Betriebssystemversion installiert ist. Für die Datenbank der
Version 12.1 ist Oracle Enterprise Linux der Version 6 zu empfehlen. Es besitzt
eine gute Kompatibilität auch bezogen auf die Anforderungen der Versionen der
Softwarepakete.
# cat /etc/oracle-release
Oracle Linux Server release 6.4
Erstellen Sie nun die erforderlichen Gruppen und Benutzer im Betriebssystem.
Folgende Gruppen werden benötigt:
쐽
OSDBA: Enthält die Benutzer mit SYSDBA-Rechten in der Datenbank. In der
Regel wird der Gruppenname dba verwendet. Mit diesem Privileg ist es zum
Beispiel möglich, die Datenbank zu starten und herunterzufahren.
쐽
OSOPER: Diese Gruppe ist optional. Sie repräsentiert Benutzer mit eingeschränkten operativen Aufgaben wie zum Beispiel dem Sichern einer Datenbank. Das zugehörige Privileg in der Datenbank ist SYSOPER. Wenn Sie keine
separate Trennung der Rollen wünschen, dann können diese Aufgaben durch
die Mitglieder der Gruppe dba ausgeführt werden. Der Standardname ist oper.
쐽
OSBACKUPDBA: Die Gruppe kann für eine Rollentrennung für das Datenbank-Backup verwendet werden. Der Standardname ist backupdba.
쐽
Oracle Inventory-Gruppe: Das ist die Gruppe für den Eigentümer der OracleSoftware und den Verwalter des Inventory. Auch wenn die Gruppe optional ist
und ihrer Stelle die Gruppe dba verwendet werden kann, empfiehlt sich eine
Trennung. Der Standardname ist oinstall.
Es gibt eine Reihe weiterer Gruppen, die wir jedoch an dieser Stelle nicht benötigen.
#
#
#
#
groupadd
groupadd
groupadd
groupadd
oinstall
-g 502 dba
-g 503 oper
-g 507 backupdba
Listing 2.2: Gruppen im Betriebssystem anlegen
24
2.1
Software-Installation
Legen Sie nun den Benutzer oracle als Eigentümer der Software und Verwalter der
Datenbanken. Der Benutzername kann frei gewählt werden. Er erhält die Gruppe
oinstall als primäre Gruppe und zusätzlich mindestens die Gruppe dba. Damit ist
er in der Lage, Upgrades und Patches zu implementieren und u.a. die Datenbank
zu starten und zu stoppen.
# useradd -g oinstall -G dba,oper,backupdba -s /bin/ksh oracle
Hinweis
Unter Windows müssen keine Gruppen angelegt werden. Das Anlegen erfolgt
automatisch durch den Universal Installer.
Im nächsten Schritt müssen die Grenzen für die Ressourcen des Betriebssystems
angepasst werden. Das betrifft insbesondere die Anzahl der offenen DateiDeskriptoren sowie die maximale Anzahl von Prozessen. Nehmen Sie dazu die folgenden Einträge in der Datei /etc/security/lmits.conf vor:
oracle
oracle
oracle
oracle
oracle
soft
hard
soft
hard
soft
nproc
nproc
nofile
nofile
stack
2047
16384
1024
65535
10240
Im nächsten Schritt werden die Kernel-Parameter für den Betrieb der OracleDatenbank angepasst. Die Anpassung ist auf anderen Betriebssystemen wie AIX,
Solaris oder Windows nicht erforderlich. Tragen Sie die folgenden Werte in die
Datei /etc/sysctl.conf ein:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
Führen Sie den folgenden Befehl aus, um die Werte über einen Neustart des Servers persistent zu machen:
# sysctl -p
25
Herunterladen