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
SYS
mitSYSDBA
-Berechtigung an. -
Setzen Sie den Container auf die PDB:
SQL> ALTER SESSION SET CONTAINER = pdb;
-
Fragen Sie
V$ENCRYPTION_WALLET
wie folgt ab:SQL> SELECT wrl_parameter, status, wallet_type FROM v$encryption_wallet;
Wenn die Spalte
STATUS
den WertOPEN_NO_MASTER_KEY
enthä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-password
ist 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 BACKUP
und 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 MANAGEMENT
in 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 KEYSTORE
fü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 MANAGEMENT
ohne die OptionFORCE KEYSTORE
verwenden. - Keystore zur automatischen Anmeldung aktualisieren, indem Sie
ADMINISTER KEY MANAGEMENT
mit der OptionCREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE
verwenden.
-
Fragen Sie
V$ENCRYPTION_WALLET
erneut ab, um zu verifizieren, dass die SpalteSTATUS
aufOPEN
gesetzt ist:SQL> SELECT wrl_parameter, status, wallet_type FROM v$encryption_wallet;
-
Fragen Sie
V$INSTANCE
ab, 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_WALLET
ab. 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_PARAMETER
vonV$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 KEYSTORE
fü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 MANAGEMENT
ohne die OptionFORCE KEYSTORE
verwenden.
-
-
Fragen Sie
GV$ENCRYPTION_WALLET
ab, um zu verifizieren, dass die SpalteSTATUS
für alle Datenbankinstanzen aufOPEN
gesetzt 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-Datenbank auf einem Exadata-DB-System mit einer SGA von 50 GB 13.107.200 Standardseiten für die SGA im Vergleich zu nur 25.600 HugePages. 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 der gesamte Arbeitsspeicher, der HugePages zugewiesen ist, durch den Eintrag "vm.nr_hugepages" in der Datei "/etc/sysctl.conf" gesteuert. 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=value
Dabei ist
value
die 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_PAGES
gesteuert. 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 Oracle Database Administrator's Reference for Linux and UNIX-Based Operating Systems für Release 19, 18, 12.1 oder 11.2. Dort finden Sie einen allgemeinen Überblick über HugePages und weitere Informationen zur Konfiguration von HugePages. Siehe auch USE_LARGE_PAGES
in Oracle Database-Referenz für Release 12.2, 12.1 oder 11.2.
Übergeordnetes Thema: Oracle Database-Features für Exadata Cloud Infrastructure konfigurieren