Seminarunterlage Version: 12.05 Version 12.05 vom 14. September 2018
Dieses Dokument wird durch die ORDIX AG veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Firmen und beziehen sich auf Eintragungen in den USA oder USA-Warenzeichen. Weitere Logos und Produkt- oder Handelsnamen sind eingetragene Warenzeichen oder Warenzeichen der jeweiligen Unternehmen. Kein Teil dieser Dokumentation darf ohne vorherige schriftliche Genehmigung der ORDIX AG weitergegeben oder benutzt werden. Die ORDIX AG besitzt folgende Geschäftsstellen Adressen der ORDIX AG ORDIX AG Karl-Schurz-Straße 19a D-33100 Paderborn Tel.: (+49) 0 52 51 / 10 63-0 Fax.: (+49) 01 80 / 1 67 34 90 ORDIX AG An der alten Ziegelei 5 D-48157 Münster Tel.: (+49) 02 51 / 9 24 35 00 Fax.: (+49) 01 80 / 1 67 34 90 ORDIX AG Welser Straße 9 D-86368 Gersthofen Tel.: (+49) 08 21 / 507 492 0 Fax.: (+49) 01 80 / 1 67 34 90 ORDIX AG Kreuzberger Ring 13 D-65205 Wiesbaden Tel.: (+49) 06 11 / 7 78 40 00 Fax.: (+49) 01 80 / 1 67 34 90 ORDIX AG Wikingerstraße 18-20 D-51107 Köln Tel.: (+49) 02 21 / 8 70 61 0 Fax.: (+49) 01 80 / 1 67 34 90 Internet: http://www.ordix.de Email: seminare@ordix.de Seite 2 Version: 12.05
1 Installation... 12 1.1 Installation der Oracle Software 12c... 13 1.1.1 Überblick... 13 1.2 Silent-Installation-Mode... 14 1.2.1 Installation der Binaries... 14 1.2.2 Response File... 15 1.2.3 Graphical Mode... 17 1.2.3.1 Installation der Binaries... 17 1.2.3.2 Erstellen einer NON-CDB... 18 1.2.3.3 Installation einer CDB... 19 1.2.3.4 Installation PDB... 20 1.2.3.5 Installation PDB... 21 1.3 Upgrade... 22 1.3.1 Überblick... 22 1.3.2 Direktes Upgrade... 23 1.3.3 Automatisiertes Upgrade mit dem DBUA... 25 1.3.4 Manuelles Upgrade... 26 1.3.5 Pre-Upgrade Information Tool... 29 1.3.6 Upgrade mittels DBUA im Silent Mode... 32 1.3.7 Transportable Datenbank... 33 1.4 Bisher bekannte Probleme... 34 2 Neuerungen SQL und PL/SQL... 36 2.1 Neuerungen SQL... 37 2.1.1 Default Erweiterungen... 37 2.1.1.1 Sequenzen... 37 2.1.1.2 NULL Werte... 38 2.1.1.3 Identity Columns... 39 2.1.1.4 Default Values bei ADD COLUMN... 41 2.1.2 Invisible Columns... 42 2.1.3 In Database Archiving... 43 2.1.4 Extended Datatypes... 44 2.1.4.1 Überblick... 44 2.1.4.2 Umstellung... 45 2.1.5 LIMIT Klausel... 46 2.1.6 ANSI Join Erweiterungen... 47 2.1.7 Verbesserte OUTER JOIN Syntax... 48 2.1.8 Temporal Validity (Flashback)... 49 2.1.8.1 Überblick... 49 2.1.8.2 Erstellung... 50 2.1.8.3 Abfrage... 51 2.1.9 Translation Framework... 52 2.1.10 Collation / Unicode... 53 2.1.10.1 Überblick... 53 2.1.10.2 UCA Stufen der Sortierung... 54 2.1.10.3 Collation unter Oracle 12.2... 55 2.1.11 SQL Plus Command History... 56 2.1.12 Long Identifiers... 57 2.2 PL/SQL... 58 2.2.1 Accessible By Klausel... 58 2.2.2 Expand_SQL_Text... 59 2.2.3 UTL_Call_Stack... 60 2.2.4 PLSQL in der SQL-With-Klausel... 62 3 Neuerungen Administration... 63 3.1 Patch Informationen... 64 3.2 Windows - ORACLE HOME User... 65 3.3 DDL online... 67 Version: 12.05 Seite 3
3.4 Datafile Move... 68 3.5 Securefiles... 69 3.5.1 Überblick... 69 3.5.2 Erweiterungen... 70 3.6 Reorganisation... 71 3.6.1 Überblick... 71 3.6.2 DBMS_REDEFINITION... 72 3.6.3 Reorganisation in einem Schritt... 73 3.6.4 Erweiterung beim FINISH_REDEF_TABLE... 74 3.6.5 Reorganisation mehrerer Partitionen... 75 3.6.6 Online Reorganisation - Wiederaufnahme bei Fehler... 76 3.6.7 Online Redefinition - Rollback... 77 3.6.8 Bulk Update Optimierung... 78 3.6.9 Monitoring... 80 3.6.10 Online Table Move... 81 3.7 Data Pump... 82 3.7.1 Überblick... 82 3.7.2 Logtime Parameter... 83 3.7.3 Erweiterte Komprimierung... 84 3.7.4 Import komprimierter Tabellen... 85 3.7.5 LOB Segmente... 86 3.7.6 Metadaten Transform Views... 87 3.7.7 Datenfiles umbenennen... 88 3.7.8 Export einer View als Tabelle... 89 3.7.9 Nologging Import... 90 3.7.10 Datapump Erweiterungen... 91 3.7.11 Verschlüsselung... 92 3.7.12 Export Dateinamen Flexibilisierung... 93 3.8 Migration von Zeichensätzen (Unicode)... 94 4 Neuerungen Data Warehouse... 95 4.1 Oracle Partitionierung... 96 4.1.1 Historie... 96 4.1.2 Arten der Partitionierung... 97 4.1.2.1 Range Partitionierung... 98 4.1.2.2 Hash Partitionierung... 99 4.1.2.3 List Partitionierung... 100 4.1.2.4 System Partitionierung... 101 4.1.3 Neuerungen im Überblick (Oracle 12.1)... 102 4.1.4 Neuerungen im Überblick (Oracle 12.2)... 103 4.1.5 Global Index Maintenance... 104 4.1.5.1 Überblick... 104 4.1.5.2 Nachpflege der Indizes... 105 4.1.6 Partition Cascade... 106 4.1.6.1 Truncate Partition Cascade... 107 4.1.6.2 Exchange Partition Cascade... 108 4.1.7 INTERVAL im REF Partitioning... 109 4.1.8 Verschieben von Partitionen ohne DML Lock... 110 4.1.9 Erweiterte Indexverfahren... 111 4.1.9.1 Partielle Indizes... 112 4.1.10 Verbesserte Maintenance Massenaktionen... 113 4.1.11 Online Konvertierung... 114 4.1.12 Online Split Partition... 115 4.1.13 Create Table For Exchange Partition... 116 4.1.14 Filtering Maintenance Operations... 117 4.1.15 Externe partitionierte Tabellen... 118 4.1.16 Auto-List Partitioning... 119 4.1.17 Read-Only Partitionen... 120 4.1.18 Multi Column List Partitioning... 121 4.2 Sharding... 122 Seite 4 Version: 12.05
4.2.1 Überblick... 122 4.2.2 Komponenten... 123 4.2.3 Anwendungsmöglichkeiten... 124 4.3 Materialized Views... 125 4.3.1 Refresh Methoden... 125 4.3.2 Out Of Place Refresh... 126 4.3.3 Synchronous Refresh... 127 4.3.4 Real Time Materialized View... 128 Materialized View Refresh während Online Table Redefinition... 129 Materialized View Refresh während Online Table Redefinition (ff.)... 130 4.3.5 MV Statistiken... 131 4.4 Flashback Data Archive... 132 4.4.1 Überblick... 132 4.4.2 Neuerungen... 133 4.4.2.1 User Context Tracking... 134 4.4.2.2 Database Hardening... 135 4.4.2.3 Nachträgliche Historisierung... 136 4.4.2.4 Optimierung... 137 4.5 Komprimierung... 138 4.5.1 Überblick... 138 4.5.2 Information Lifecycle Management (ILM)... 139 4.5.3 Storage Klassen... 140 4.5.4 Heat Map... 141 4.5.5 Policies... 142 4.5.6 Views... 143 4.5.7 Advanced Index Compression... 144 4.6 In-Memory Option... 145 4.6.1 Voraussetzungen / Anwendungsbeispiele... 145 4.6.2 Dual Format... 146 4.6.3 Setup... 147 4.6.4 Aktivierungen... 148 4.6.5 DBA_TABLES View... 149 4.6.6 Priority... 150 4.6.7 Compression... 151 4.6.8 Schnelligkeit... 152 4.6.9 Statistiken und Ausführungsplan... 153 4.6.10 In-Memory Column Store Views... 154 4.6.11 In-Memory vs. No-In-Memory... 155 4.6.12 In Memory Expressions... 157 4.6.13 In Memory Virtual Columns... 158 4.6.14 Fast Start... 159 4.6.15 Join Groups... 160 4.6.16 Dynamischer IMCS... 161 5 Neuerungen Tuning... 162 5.1 Enterprise Manager Database Express... 163 5.1.1 Oracle 12.1... 163 5.2 PGA... 164 5.3 Adaptive Optimizer-Pläne... 165 5.4 Statistiken (dbms_stats)... 166 5.4.1 Überblick und Historie... 166 5.4.2 Neuerungen im Überblick... 167 5.4.2.1 Concurrent Statistics... 168 5.4.2.2 Extended Statistics... 169 5.4.2.3 Dynamic Statistics... 170 5.4.2.4 Incremental Statistics... 171 5.4.2.5 System Statistics... 172 5.4.2.6 Histogramme... 173 5.4.2.7 Automatische Statistikerzeugung beim BULK Load... 174 5.4.2.8 Statistiken bei temporären Tabellen... 175 Version: 12.05 Seite 5
5.4.2.9 Statistic Advisor... 176 5.5 Index Tracking... 177 5.6 Concurrent Parallel bei UNION und UNION ALL... 178 5.7 Flash Cache... 179 5.8 Parallelität... 180 5.9 Big Table Cache... 181 5.10 Force Database Caching... 182 5.11 Multiple Indizes... 183 5.12 Netzwerk Optimierungen... 184 5.13 Direct NFS... 185 5.14 Informationen bei schlechten IO-Zeiten... 186 5.15 Real Time Monitoring... 187 5.15.1 Übersicht... 187 5.15.2 dbms_sql_monitor... 188 5.15.3 Ausgabe in der GUI... 189 5.16 Resource Manager... 190 5.16.1 Run Away Queries... 190 5.16.1.1 Überblick... 190 5.16.1.2 Beispiel 1... 191 5.16.1.3 Beispiel 2... 192 5.17 ADDM... 193 5.17.1 Überblick... 193 5.17.2 Spot ADDM... 194 5.18 Database Replay... 195 6 Neuerungen Security... 196 6.1 Spezielle Rechte... 197 6.1.1 Separation of Duty für Administratoren... 197 6.2 Password Complexity Check... 198 6.3 Password Sicherheit (Hashes)... 199 6.4 Automatisches Sperren von Accounts... 200 6.5 RESOURCE Rolle... 201 6.6 Einschränkungen Leseberechtigungen auf das DD... 202 6.6.1 Rechteüberprüfung... 203 6.7 Last Login Time Information... 204 6.8 Code-Based Security... 205 6.9 Database Links... 206 6.9.1 Sicherheit... 206 6.10 Inherit Privilegien in Self Database Links... 207 6.11 Unified Auditing... 208 6.11.1 Überblick... 208 6.11.2 Aktivierung... 209 6.11.3 Funktionsumfang... 210 6.11.4 Ablageort und Zugriff... 211 6.11.5 Schreibmodus... 212 6.11.6 Unified Auditing - Beispiele... 213 6.11.7 Auditing Data Pump... 216 6.11.8 Löschen von Audit Einträgen... 217 6.12 Verschlüsselung... 218 6.12.1 Historie und Ausblick... 218 6.12.2 Überblick neue Funktionalitäten... 219 6.12.3 Rechteverwaltung... 220 6.12.4 Keystore Typen... 221 6.12.5 Einrichtung der Keystore Location... 222 6.12.6 Generierung und Öffnen von Keystores... 223 6.12.6.1 Öffnen des erzeugten Keystores... 224 6.12.7 Setzen und Zurücksetzen des Master Keys... 225 6.12.8 Views... 226 6.12.9 Keystore Management... 227 6.12.10 Online Verschlüsselung von Tablespaces... 228 Seite 6 Version: 12.05
6.12.11 Offline Verschlüsselung von Tablespaces... 229 6.12.12 Komplette Verschlüsselung aller Tablespaces... 230 6.13 VPD Policies im Unified Auditing... 231 6.14 Data Redaction... 232 6.14.1 Begriffsklärung... 232 6.14.2 Methoden... 233 6.14.3 EXEMPT Redaction Policy... 234 6.14.4 Prozeduren... 235 6.14.5 Einschränkungen... 236 6.14.6 add_policy... 237 6.14.7 Update_full_redaction_values... 239 6.14.8 Alter_policy... 240 6.14.9 Random Redaction... 242 6.14.10 Regexp Redaction... 243 6.14.11 Data Redaction Views... 244 6.14.12 Schnittstellen / Abgrenzung... 245 6.15 Transparent Sensitive Data Protection (TSDP)... 247 6.15.1 Vorgehensweise... 247 6.15.2 Erstellen Sensitive Type / Definition der sensitiven Spalten... 248 6.15.3 Policy erstellen... 249 6.15.4 Verknüpfung und Aktivierung... 250 6.16 Neuer Hashalgorithmus SHA-2... 251 6.16.1 Überblick... 251 6.16.2 dbms_crypto Hashfunktionen... 252 6.17 Database Masking and Subsetting... 253 6.18 Database Testing Maskierung und Subsetting... 254 7 Neuerungen Backup und Recovery... 255 7.1 Recovery Manager... 256 7.1.1 Konzept... 256 7.1.2 Separation of Duty... 258 7.1.3 Command Line Erweiterungen... 261 7.2 Controlfile Autobackup Änderung am Default... 262 7.2.1 Table Recovery... 263 7.2.1.1 Überblick... 263 7.2.1.2 Beispiele... 264 7.2.1.3 Erweiterung REMAP TABLE... 265 7.2.2 Duplicate Database... 266 7.2.2.1 Überblick... 266 7.2.2.2 NOOPEN Option... 267 7.2.2.3 Vorgehensweise Active Database Duplication... 268 7.2.3 Cross Platform Backup & Restore... 269 7.2.3.1 Überblick... 269 7.2.3.2 Vorgehensweise beim Backup... 270 7.2.3.3 Vorgehensweise beim Restore... 271 7.2.3.4 Cross Plattform B&R in der CDB/PDB... 272 7.2.4 Multi Section Image Copies und Incremental Backups... 273 7.2.5 Restore over Network... 274 7.2.6 Snapshots (Third Party)... 275 7.2.6.1 Backup Optimierung... 275 7.2.6.2 Recover Optimierung... 276 7.2.7 Recovery Catalog... 277 7.3 Data Guard... 278 7.3.1 Konzept... 278 7.3.2 Separation of Duty... 279 7.3.3 Aufbau des Data Guards mit dem dbca... 281 7.3.4 Automatische Übertragung der Passwordfile... 282 7.3.5 Real Time Apply... 283 7.3.6 Einfacher Rollentausch... 284 7.3.7 Überprüfung der Möglichkeit eines Switchovers... 285 Version: 12.05 Seite 7
7.3.8 Network Restore in Verbindung mit Data Guard... 286 7.3.9 V$DATAGUARD_PROCESS... 287 7.3.10 Multiple SYNC Standby Databases... 288 7.3.11 Analyse von Inkonsistenzen... 289 7.3.12 Nologging Operationen... 290 7.4 Data Guard Broker... 291 7.4.1 Überblick... 291 7.4.2 Command Schnittstelle... 292 7.4.3 Advanced Manageability... 293 7.4.3.1 validate database... 293 7.4.4 Fast Sync... 294 7.4.4.1 Überblick... 294 7.4.4.2 Syntax... 295 7.4.5 Kaskadierende Data Guards... 296 7.4.5.1 Überblick... 296 7.4.5.2 Beispiel... 297 7.4.6 Protection Mode... 298 7.4.7 Globaler Servicename... 299 7.4.8 Multiple FastStartFailoverTarget... 300 7.4.9 Multiple Observer... 301 7.4.10 Ein Observer für mehrere Umgebungen... 302 7.5 Active Data Guard... 303 7.5.1 Überblick... 303 7.5.2 Erweiterte Sicherheit... 304 7.5.3 Temporäre Tabellen... 305 7.5.4 Sequenzen... 306 7.5.5 Session Sequenzen... 307 7.5.6 Kaskadierender Active Data Guard... 308 7.5.7 Far Sync... 309 7.5.7.1 Prinzip... 309 7.5.7.2 Fehlerfall... 310 7.5.7.3 Details... 311 7.5.7.4 Erzeugen Far Sync Instanz... 312 7.5.8 Connections beim Rollentausch... 313 7.5.9 Performance Erweiterungen... 314 7.6 Rolling Upgrade... 315 7.6.1 Überblick... 315 7.6.2 Support... 316 7.6.2.1 Unsupported Datatypes... 316 7.6.2.2 Unsupported Tables... 317 8 Multitenant... 318 8.1 Einführung... 319 8.1.1 Themenüberblick... 319 8.1.2 Optionen... 320 8.1.3 CDB versus Non-CDB... 321 8.2 Definitionen neue Begrifflichkeiten... 322 8.3 Paradigmen Wechsel... 324 8.3.1 Bestandteile des DBMS... 324 8.3.2 Neue Option beim UNDO Management... 326 8.3.3 Dynamische Anteile... 327 8.3.4 Dateien in der CDB und in der PDB... 328 8.3.5 Data Dictionary... 330 8.3.6 Applikations Container... 331 8.4 Marketing Vorteile einer CDB/PDB... 332 8.4.1 Konsolidierung, Bereitstellung und Administration... 332 8.4.2 Mandantenfähigkeit... 334 8.4.3 Isolation... 335 8.4.4 Erstellen einer Datenbank... 337 8.4.5 Portabilität... 338 Seite 8 Version: 12.05
8.4.6 Patching und Migration... 339 8.4.7 Datenbank Cloning... 340 8.4.8 Data Guard... 341 8.4.9 Backup & Recovery... 342 8.5 Provisioning... 343 8.5.1 Überblick... 343 8.5.2 Erzeugen einer CDB... 344 8.5.2.1 Erstellen per Skript... 345 8.5.2.2 Erstellung per dbca im Silent Mode... 346 8.5.2.3 Erzeugen per dbca im grafischen Modus... 347 8.5.2.4 Views... 348 8.5.3 Erzeugen einer PDB... 349 8.5.3.1 Überblick... 349 8.5.3.2 Erzeugen aus der SEED DB... 350 8.5.3.3 Erzeugen mittels dbca im Silent Mode... 351 8.5.3.4 Erzeugen durch Klonen aus einer anderen PDB (lokale Kopie)... 352 8.5.3.5 Erzeugen durch Klonen aus einer anderen PDB (remote Kopie)... 353 8.5.3.6 Erzeugen einer PDB durch Klonen einer anderen PDB... 354 8.5.3.7 Verschieben einer PDB aus einer CDB mit geringer Downtime... 355 8.5.3.8 Erzeugen über dbms_pdb (aus einer Non-CDB)... 356 8.5.3.9 Erstellen über Replikation... 358 8.5.3.10 Verweis auf eine entfernte PDB... 359 8.5.3.11 PDB Migration... 360 8.5.3.12 PDB Failover... 361 8.5.4 Löschen einer PDB... 362 8.6 Portability... 363 8.6.1 Überblick... 363 8.6.2 Ausklinken von PDBs... 364 8.6.3 Einklinken von PDBs... 367 8.6.3.1 Überblick... 367 8.6.3.2 Einklinken mit der NOCOPY Methode... 368 8.6.3.3 Einklinken mit der COPY Methode... 369 8.6.3.4 Einklinken mit der AS CLONE MOVE Methode... 370 8.7 Administration... 371 8.7.1 Aktualisierbare PDB Kopien... 371 8.7.2 Zeichensatz... 372 8.7.3 Administration - PDB Speichermanagement... 373 8.7.4 Administration PGA Limit... 374 8.7.5 Administration der CDB... 375 8.7.6 Öffnen einer PDB... 376 8.7.7 Schließen von PDBs... 378 8.7.8 Verwalten von Tablespaces... 379 8.7.9 Zugriff auf CDB und PDB... 380 8.7.10 Umbenennen einer PDB... 381 8.7.11 Lesen über PDB Grenzen... 382 8.7.12 Maintenance - Parameter... 383 8.8 Data Dictionary Views... 384 8.8.1 Überblick... 384 8.8.2 CON-ID Spalte... 385 8.9 Adaptality Parameter und Konfiguration... 386 8.9.1 Initialisierungsparameter... 386 8.9.1.1 Überblick... 386 8.9.1.2 Parameter- Anpassungen an CDB und PDB... 387 8.9.2 Konfiguration... 388 8.10 Security... 389 8.10.1 Überblick... 389 8.10.2 Benutzer - Konzept... 390 8.10.3 Benutzer Erstellung... 391 8.10.4 Rollen... 392 8.10.5 Begrenzung von Rechten... 393 Version: 12.05 Seite 9
Begrenzung von Rechten (ff.)... 394 8.10.6 Betriebssystem Nutzer... 395 8.11 Backup & Recovery... 396 8.11.1 Überblick... 396 8.11.2 Gesamtsicherung... 398 8.11.3 Backup der CDB... 399 8.11.4 Backup von PDBs... 400 8.11.5 Sicherung einzelner Tablespaces... 401 8.11.6 Recovery... 402 8.11.7 Zurücksetzen einer PDB... 403 8.11.8 Flashback Überblick... 404 8.12 Resource Manager... 405 8.12.1 Problembeschreibung... 405 8.12.2 Verwalten von Ressourcen - Resourcemanager... 406 8.12.3 Verwalten von Ressourcen PDB Performance Profiles... 407 8.12.4 Verwalten von Ressourcen I/O Limitierung... 408 8.13 Auswertung... 409 8.13.1 AWR Auswertung... 409 8.14 Seiteneffekte... 411 8.14.1 Data Guard Multitenant Architektur... 411 8.14.2 Data Guard Subset Standby... 412 8.14.3 Scheduler... 413 9 Neuerungen Oracle Real Application Cluster (RAC)... 414 9.1 ASM Neuerungen... 415 9.1.1 Flex ASM... 415 9.1.1.1 Historie... 415 9.1.1.2 Überblick... 416 9.1.1.3 Vorteile... 417 9.1.1.4 Befehle... 418 9.1.2 ASM Srubbing... 419 9.1.2.1 Syntaxbeispiele... 420 9.1.3 Shared Password File... 421 9.1.4 Tuning Rebalance... 422 9.1.5 Monitoring Rebalance... 423 9.1.6 Failgroup Repair Time... 424 9.1.7 Even Read... 427 9.1.8 Umbenennen von Disks... 430 9.1.9 Ersetzen von Disks... 431 9.1.10 Berechtigungen... 432 9.1.11 Cloud Control / Database Express... 433 9.1.12 Benutzer Berechtigungen... 434 9.1.13 Storage Limits... 435 9.1.14 ASM Filter Driver... 436 9.1.15 Flex Diskgroup... 437 9.2 Clusterware... 440 9.2.1 Neue Befehle... 440 9.2.2 Cluster Domain... 441 9.2.3 Flex Cluster... 445 9.2.3.1 Überblick... 445 9.2.3.2 Grafik... 446 9.2.3.3 Befehle... 447 9.2.4 Reader Nodes... 448 9.3 Grid Infrastructure... 449 9.3.1 Grid Infrastructure Installation... 449 9.3.2 Trace File Analyzer... 450 9.4 Oracle Cloud Filesystem... 453 9.4.1 Historie... 453 9.4.2 Oracle Cloud Filesystem in 12c... 454 Seite 10 Version: 12.05
10 Übungen... 455 10.1 SQL... 456 10.2 PLSQL... 458 10.3 DataPump... 459 10.4 Partitionierung... 460 10.5 Flashback... 461 10.6 Tuning... 462 10.7 Security... 463 10.8 RMAN... 464 10.9 Mulitenant... 465 Version: 12.05 Seite 11