Oracle Database-Features für Exadata Cloud Infrastructure konfigurieren
In diesem Thema wird beschrieben, wie Sie Oracle Multitenant, Tablespace-Verschlüsselung und HugePages für die Verwendung mit der Exadata Cloud Infrastructure-Instanz konfigurieren.
- Oracle Multitenant auf einer Exadata Cloud Infrastructure-Instanz verwenden
- Tablespace-Verschlüsselung verwalten
- HugePages verwalten
Übergeordnetes Thema: Anleitungen
Oracle Multitenant auf einer Exadata Cloud Infrastructure-Instanz verwenden
Wenn Sie eine Exadata Cloud Infrastructure-Instanz erstellen, die Oracle Database 12c oder höher verwendet, wird eine Oracle Multitenant-Umgebung erstellt.
Dank der mehrmandantenfähigen Architektur kann eine Oracle-Datenbank als mehrmandantenfähige Containerdatenbank (CDB) fungieren, die keine, eine oder mehrere integrierbare Datenbanken (PDBs) enthält. Eine PDB ist eine portable Sammlung von Schemas, Schemaobjekten und Nichtschemaobjekten, die sich einem Oracle Net Services-Client als Nicht-CDB darstellt. Alle Oracle-Datenbanken mit Versionen vor Oracle Database 12c sind Nicht-CDBs.
Um Oracle Transparent Data Encryption (TDE) in einer integrierbaren Datenbank (PDB) zu verwenden, müssen Sie einen Masterverschlüsselungsschlüssel für die PDB erstellen und aktivieren.
In einer mehrmandantenfähigen Umgebung verfügt jede PDB über einen eigenen Masterverschlüsselungsschlüssel, der in einem einzigen Keystore gespeichert ist, der von allen Containern verwendet wird.
Sie müssen den Masterverschlüsselungsschlüssel für alle verschlüsselten PDBs exportieren und importieren, die Sie in die CDB der Exadata Cloud Infrastructure-Instanz integrieren.
Wenn die Quell-PDB verschlüsselt ist, müssen Sie den Masterverschlüsselungsschlüssel exportieren und anschließend importieren.
Sie können alle zur PDB gehörenden TDE-Masterverschlüsselungsschlüssel exportieren und importieren, indem Sie die TDE-Masterverschlüsselungsschlüssel aus einer PDB exportieren und importieren. Export und Import von TDE-Masterverschlüsselungsschlüsseln unterstützen die Integration bzw. Aufhebung der Integration von PDBs. An der Integration und Integrationsaufhebung einer PDB sind alle zu einer PDB gehörenden TDE-Masterverschlüsselungsschlüssel sowie die Metadaten beteiligt.
Informationen hierzu finden Sie unter "TDE-Masterverschlüsselungsschlüssel für eine PDB exportieren und importieren" in Erweitertes Sicherheitshandbuch für Oracle Database für Release 19, 18, 12.2 oder 12.1.
Informationen hierzu finden Sie unter "ADMINISTER KEY MANAGEMENT" in Oracle Database-SQL-Sprachreferenz für Release 19, 18, 12.2 oder 12.1.
- So ermitteln Sie, ob Sie einen Verschlüsselungsschlüssel für die PDB erstellen und aktivieren müssen
- So erstellen und aktivieren Sie den Masterverschlüsselungsschlüssel in einer PDB
- So exportieren und importieren Sie einen Masterverschlüsselungsschlüssel
Übergeordnetes Thema: Oracle Database-Features für Exadata Cloud Infrastructure konfigurieren
So ermitteln Sie, ob Sie einen Verschlüsselungsschlüssel für die PDB erstellen und aktivieren müssen
- Rufen Sie SQL*Plus auf, und melden Sie sich bei der Datenbank als Benutzer
SYSmitSYSDBA-Berechtigung an. -
Setzen Sie den Container auf die PDB:
SQL> ALTER SESSION SET CONTAINER = pdb; -
Fragen Sie
V$ENCRYPTION_WALLETwie folgt ab:SQL> SELECT wrl_parameter, status, wallet_type FROM v$encryption_wallet;Wenn die Spalte
STATUSden WertOPEN_NO_MASTER_KEYenthält, müssen Sie den Masterverschlüsselungsschlüssel erstellen und aktivieren.
Übergeordnetes Thema: Oracle Multitenant auf einer Exadata Cloud Infrastructure-Instanz verwenden
So erstellen und aktivieren Sie den Masterverschlüsselungsschlüssel in einer PDB
-
Setzen Sie den Container auf die PDB:
SQL> ALTER SESSION SET CONTAINER = pdb; -
Erstellen und aktivieren Sie einen Masterverschlüsselungsschlüssel in der PDB, indem Sie den folgenden Befehl ausführen:
SQL> ADMINISTER KEY MANAGEMENT SET KEY USING TAG 'tag' FORCE KEYSTORE IDENTIFIED BY keystore-password WITH BACKUP USING 'backup_identifier';Im vorherigen Befehl gilt:
keystore-passwordist das Keystore-Kennwort. Standardmäßig wird das Keystore-Kennwort auf den Wert des Administrationskennworts gesetzt, das beim Erstellen der Datenbank angegeben wurde.- Die optionale Klausel
USING TAG 'tag'kann verwendet werden, um ein Tag mit dem neuen Masterverschlüsselungsschlüssel zu verknüpfen. - Mit der Klausel
WITH BACKUPund der optionalen KlauselUSING 'backup_identifier'können Sie ein Keystore-Backup erstellen, bevor der neue Masterverschlüsselungsschlüssel erstellt wird.
Informationen hierzu finden Sie auch unter
ADMINISTER KEY MANAGEMENTin Oracle Database-SQL-Sprachreferenz für Release 19, 18 oder 12.2.Hinweis
Um Schlüsselverwaltungsvorgänge zu ermöglichen, während der Keystore verwendet wird, enthalten Oracle Database 12c Release 2 und höher die Option
FORCE KEYSTOREfür den BefehlADMINISTER KEY MANAGEMENT. Diese Option ist auch für Oracle Database 12c Release 1 mit dem Bundle-Patch von Oktober 2017 oder später verfügbar.Wenn Sie Oracle Database 12c Release 1 ohne installiertes Bundle Patch von Oktober 2017 oder später verwenden, können Sie die folgenden alternativen Schritte ausführen:
- Keystore schließen.
- Kennwortbasierten Keystore öffnen.
- Masterverschlüsselungsschlüssel in der PDB erstellen und aktivieren, indem Sie
ADMINISTER KEY MANAGEMENTohne die OptionFORCE KEYSTOREverwenden. - Keystore zur automatischen Anmeldung aktualisieren, indem Sie
ADMINISTER KEY MANAGEMENTmit der OptionCREATE AUTO_LOGIN KEYSTORE FROM KEYSTOREverwenden.
-
Fragen Sie
V$ENCRYPTION_WALLETerneut ab, um zu verifizieren, dass die SpalteSTATUSaufOPENgesetzt ist:SQL> SELECT wrl_parameter, status, wallet_type FROM v$encryption_wallet; -
Fragen Sie
V$INSTANCEab, und beachten Sie den Wert in der SpalteHOST_NAME, der den Datenbankserver mit den neu aktualisierten Keystore-Dateien angibt:SQL> SELECT host_name FROM v$instance; -
Kopieren Sie die aktualisierten Keystore-Dateien auf alle anderen Datenbankserver.
Um den aktualisierten Keystore zu verteilen, müssen Sie die folgenden Aktionen auf jeden Datenbankserver ausführen, der die aktualisierten Keystore-Dateien nicht enthält:
-
Melden Sie sich beim Root-Container an, und fragen Sie
V$ENCRYPTION_WALLETab. Notieren Sie sich den Keystore-Speicherort aus der SpalteWRL_PARAMETER:SQL> SELECT wrl_parameter, status FROM v$encryption_wallet; -
Kopieren Sie die aktualisierten Keystore-Dateien.
Sie müssen alle aktualisierten Keystore-Dateien von einem bereits aktualisierten Datenbankserver kopieren. Verwenden Sie den Keystore-Speicherort aus der Spalte
WRL_PARAMETERvonV$ENCRYPTION_WALLET.
Öffnen Sie den aktualisierten Keystore:SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE open FORCE KEYSTORE IDENTIFIED BY keystore-password CONTAINER=all;Hinweis
Um Schlüsselverwaltungsvorgänge zu ermöglichen, während der Keystore verwendet wird, enthalten Oracle Database 12c Release 2 und höher die Option
FORCE KEYSTOREfür den BefehlADMINISTER KEY MANAGEMENT. Diese Option ist auch für Oracle Database 12c Release 1 mit dem Bundle-Patch von Oktober 2017 oder später verfügbar.Wenn Sie Oracle Database 12c Release 1 ohne installiertes Bundle Patch von Oktober 2017 oder später verwenden, können Sie die folgenden alternativen Schritte ausführen:
- Schließen Sie den Keystore, bevor Sie die aktualisierten Keystore-Dateien kopieren.
- Kopieren Sie die aktualisierten Keystore-Dateien.
- Öffnen Sie den aktualisierten Keystore, indem Sie
ADMINISTER KEY MANAGEMENTohne die OptionFORCE KEYSTOREverwenden.
-
-
Fragen Sie
GV$ENCRYPTION_WALLETab, um zu verifizieren, dass die SpalteSTATUSfür alle Datenbankinstanzen aufOPENgesetzt ist:SQL> SELECT wrl_parameter, status, wallet_type FROM gv$encryption_wallet;
Übergeordnetes Thema: Oracle Multitenant auf einer Exadata Cloud Infrastructure-Instanz verwenden
So exportieren und importieren Sie einen Masterverschlüsselungsschlüssel
- Exportieren Sie den Masterverschlüsselungsschlüssel.
- Rufen Sie SQL*Plus auf, und melden Sie sich bei der PDB an.
-
Führen Sie den folgenden Befehl aus:
SQL> ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "secret" TO 'filename' IDENTIFIED BY keystore-password;
- Importieren Sie den Masterverschlüsselungsschlüssel.
- Rufen Sie SQL*Plus auf, und melden Sie sich bei der PDB an.
-
Führen Sie den folgenden Befehl aus:
SQL> ADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS WITH SECRET "secret" FROM 'filename' IDENTIFIED BY keystore-password;
Übergeordnetes Thema: Oracle Multitenant auf einer Exadata Cloud Infrastructure-Instanz verwenden
Tablespace-Verschlüsselung verwalten
Standardmäßig werden alle neuen Tablespaces, die Sie in einer Exadata-Datenbank erstellen, verschlüsselt.
Die Tablespaces, die anfänglich bei der Datenbankerstellung erstellt werden, werden jedoch möglicherweise nicht standardmäßig verschlüsselt.
- Bei Datenbanken, die Oracle Database 12c Release 2 oder höher verwenden, werden nur die
USERS-Tablespaces verschlüsselt, die anfänglich beim Erstellen der Datenbank erstellt wurden. Es werden keine anderen Tablespaces verschlüsselt, einschließlich der Nicht-USERS-Tablespaces in:- dem Root-Container (
CDB$ROOT). - der vordefinierten integrierbaren Datenbank (
PDB$SEED). - der ersten PDB, die bei Erstellung der Datenbank erstellt wurde.
- dem Root-Container (
- Bei Datenbanken, die Oracle Database 12c Release 1 oder Oracle Database 11g verwenden, werden keine der anfänglich beim Erstellen der Datenbank erstellten Tablespaces verschlüsselt.
Weitere Informationen zur Implementierung der Tablespace-Verschlüsselung in Exadata sowie zu den Auswirkungen auf verschiedene Deployment-Szenarios finden Sie unter Verhalten der Oracle Database-Tablespace-Verschlüsselung in Oracle Cloud.
Verschlüsselte Tablespaces erstellen
Vom Benutzer erstellte Tablespaces sind standardmäßig verschlüsselt.
Standardmäßig werden alle Tablespaces, die mit dem Befehl SQL CREATE TABLESPACE erstellt werden, mit dem AES128-Verschlüsselungsalgorithmus verschlüsselt. Sie müssen die Klausel USING 'encrypt_algorithm' nicht aufnehmen, um die Standardverschlüsselung zu verwenden.
Sie können einen anderen unterstützten Algorithmus angeben, indem Sie die Klausel USING 'encrypt_algorithm' in den Befehl CREATE TABLESPACE aufnehmen. Die Algorithmen AES256, AES192, AES128 und 3DES168 werden unterstützt.
Tablespace-Verschlüsselung verwalten
Sie können den Software-Keystore (in Oracle Database 11g als Oracle Wallet bezeichnet) und den Masterverschlüsselungsschlüssel verwalten und kontrollieren, ob die Verschlüsselung standardmäßig aktiviert ist.
Masterverschlüsselungsschlüssel verwalten
Die Tablespace-Verschlüsselung verwendet eine schlüsselbasierte Zwei-Ebenen-Architektur, um Tablespaces transparent zu verschlüsseln (und zu entschlüsseln). Der Masterverschlüsselungsschlüssel wird in einem externen Sicherheitsmodul (Software-Keystore) gespeichert. Mit diesem Masterverschlüsselungsschlüssel wird der Tablespace-Verschlüsselungsschlüssel verschlüsselt, der seinerseits verwendet wird, um Daten im Tablespace zu verschlüsseln und zu entschlüsseln.
Beim Erstellen einer Datenbank in einer Exadata Cloud Service-Instanz wird ein lokaler Software-Keystore erstellt. Der Keystore ist für die Compute Nodes lokal und wird durch das Administrationskennwort geschützt, das beim Erstellen der Datenbank angegeben wird. Der Software-Keystore zur automatischen Anmeldung wird beim Starten der Datenbank automatisch geöffnet.
Sie können den Masterverschlüsselungsschlüssel mit der Anweisung ADMINISTER KEY MANAGEMENT SQL ändern (rotieren). Beispiel:
SQL> ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY USING TAG 'tag'
IDENTIFIED BY password WITH BACKUP USING 'backup'; keystore altered. Informationen hierzu finden Sie unter "TDE-Masterverschlüsselungsschlüssel verwalten" in Erweitertes Oracle Database-Sicherheitshandbuch für Release 19, 18, 12.2 oder 12.1 oder unter "Masterverschlüsselungsschlüssel festlegen und zurücksetzen" in Erweitertes Oracle Database-Sicherheitsadministratorhandbuch für Release 11.2.
Tablespace-Standardverschlüsselung steuern
Der Initialisierungsparameter ENCRYPT_NEW_TABLESPACES steuert die standardmäßige Verschlüsselung neuer Tablespaces. In Exadata-Datenbanken ist dieser Parameter standardmäßig auf CLOUD_ONLY gesetzt.
Die Werte dieses Parameters lauten wie folgt.
| Wert | Beschreibung |
|---|---|
ALWAYS
|
Während der Erstellung werden Tablespaces transparent mit dem Algorithmus AES128 verschlüsselt, es sei denn, in der Klausel ENCRYPTION wurde ein anderer Algorithmus angegeben.
|
CLOUD_ONLY
|
In einer Exadata-Datenbank erstellte Tablespaces werden transparent mit dem Algorithmus AES128 verschlüsselt, es sei denn, in der Klausel ENCRYPTION wurde ein anderer Algorithmus angegeben. Bei Nicht-Cloud-Datenbanken werden Tablespaces nur verschlüsselt, wenn die Klausel ENCRYPTION angegeben ist. ENCRYPTION ist der Standardwert.
|
DDL
|
Während der Erstellung werden Tablespaces standardmäßig nur transparent verschlüsselt, wenn die Klausel ENCRYPTION angegeben ist.
|
Bei Oracle Database 12c Release 2 (12.2) oder höher können Sie keine unverschlüsselten Tablespaces mehr in einer Exadata-Datenbank erstellen. Wenn Sie
ENCRYPT_NEW_TABLESPACES auf DDL setzen und den Befehl CREATE TABLESPACE ohne die Klausel ENCRYPTION ausgeben, wird eine Fehlermeldung zurückgegeben.
Übergeordnetes Thema: Oracle Database-Features für Exadata Cloud Infrastructure konfigurieren
HugePages verwalten
HugePages bieten erhebliche Performancevorteile für Oracle Database auf Systemen mit großem Arbeitsspeicher. Oracle Database auf einer Exadata Cloud Infrastructure-Instanz stellt Konfigurationseinstellungen bereit, die standardmäßig HugePages verwenden. Sie können jedoch manuelle Anpassungen vornehmen, um die Konfiguration von HugePages zu optimieren.
HugePages ist ein in den Linux-Kernel 2.6 integriertes Feature. Durch Aktivieren von HugePages kann das Betriebssystem große Arbeitsspeicherseiten unterstützen. Die Verwendung von HugePages kann die Systemperformance verbessern, indem die für die Verwaltung von Linux-Seitentabellen erforderliche Größe an System-CPU- und Speicherressourcen reduziert wird, in denen die Zuordnung zwischen virtuellen und physischen Speicheradressen gespeichert wird. Bei Oracle-Datenbanken kann die Verwendung von HugePages die Anzahl der mit der System Global Area (SGA) verknüpften Seitentabelleneinträge drastisch reduzieren.
Bei Exadata Cloud Infrastructure-Instanzen beträgt die Größe einer Standardseite 4 KB, während eine HugePage standardmäßig 2 MB groß ist. Daher benötigt eine Oracle Database auf einem Exadata-VM-Cluster mit einer 50-GB-SGA 13.107.200 Standardseiten, um die SGA zu speichern, verglichen mit nur 25.600 Riesigen Seiten. Das führt zu sehr viel kleineren Seitentabellen, die weniger Arbeitsspeicher und weniger CPU-Ressourcen für Zugriff und Verwaltung erfordern.
Konfiguration von HugePages anpassen
Die Konfiguration von HugePages für Oracle Database besteht aus zwei Schritten:
-
Auf Betriebssystemebene wird die gesamte Speichermenge, die Huge Pages zugewiesen wird, durch den Eintrag
vm.nr_hugepagesin der Datei/etc/sysctl.confgesteuert. Diese Einstellung wird auf jedem Compute Node in der Umgebung festgelegt. Es wird dringend empfohlen, dass diese Einstellung auf allen Compute Nodes konsistent ist. Um die HugePage-Zuweisung zu ändern, können Sie den folgenden Befehl auf jedem Compute Node als Root-Benutzer ausführen:# sysctl -w vm.nr_hugepages=valueDabei ist
valuedie Anzahl der HugePages, die Sie zuweisen möchten.Bei Exadata Cloud Infrastructure-Instanzen ist jede HugePage standardmäßig 2 MB groß. Um also HugePages 50 GB Speicher zuzuweisen, können Sie den folgenden Befehl ausführen:
# sysctl -w vm.nr_hugepages=25600 - Auf Oracle Database-Ebene wird die Verwendung von HugePages durch die Instanzparametereinstellung
USE_LARGE_PAGESgesteuert. Diese Einstellung gilt für jede Datenbankinstanz in einer geclusterten Datenbank. Oracle empfiehlt dringend eine konsistente Einstellung für alle mit einer Datenbank verknüpften Datenbankinstanzen. Folgende Optionen sind verfügbar:TRUE: Gibt an, dass die Datenbankinstanz HugePages verwenden kann, falls diese verfügbar sind. Für alle Versionen von Oracle Database höher 11.2.0.3 weist Oracle mit HugePages einen möglichst großen Teil der SGA zu. Wenn die HugePage-Zuweisung erschöpft ist, werden Standardspeicherseiten verwendet.FALSE: Gibt an, dass die Datenbankinstanz HugePages nicht verwendet. Diese Einstellung wird im Allgemeinen nicht empfohlen, wenn HugePages verfügbar sind.ONLY: Gibt an, dass die Datenbankinstanz HugePages verwenden muss. Bei dieser Einstellung kann die Datenbankinstanz nicht gestartet werden, wenn die gesamte SGA nicht in HugePages untergebracht werden kann.
Wenn Sie Anpassungen auf Betriebssystem- oder Oracle Database-Ebene vornehmen, stellen Sie sicher, dass die Gesamtkonfiguration funktioniert.
Weitere Informationen finden Sie in der Oracle Database Administrator's Reference for Linux and UNIX-Based Operating Systems für Release 19, 18, 12.1 oder 11.2 für einen allgemeinen Überblick über Riesenseiten und weitere Informationen zum Konfigurieren von Riesenseiten. Außerdem wird auf USE_LARGE_PAGES in Oracle Database-Referenz für Release 12.2, 12.1 oder 11.2 verwiesen.
Übergeordnetes Thema: Oracle Database-Features für Exadata Cloud Infrastructure konfigurieren