Der Oracle DBA - Handbuch für die Administration der Oracle Database 12c

Mirko Hotzy, Andrea Held, Marek Adar, Christian Antognini, Ronny Egner, Markus Flechtner, Angelika G

Der Oracle DBA

Handbuch für die Administration der Oracle Database 12c

2016

834 Seiten

Format: PDF, ePUB, Online Lesen

E-Book: €  54,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446444201

 

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-2021 ciando GmbH