Häufige DBA-Systemaufgaben für Oracle DB-Instances
Im Folgenden erfahren Sie, wie Sie bestimmte allgemeine DBA-Aufgaben durchführen können, die mit dem System Ihrer Amazon RDS-DB-Instances in Oracle zusammenhängen. Um eine verwaltete Service-Erfahrung zu bieten, stellt Amazon RDS keinen Shell-Zugriff zu DB-Instances bereit und beschränkt den Zugriff auf bestimmte Systemprozeduren und -tabellen, die erweiterte Sonderrechte erfordern.
Themen
- Trennen einer Sitzung
- Beenden einer Sitzung
- Abbrechen einer SQL-Anweisung in einer Sitzung
- Aktivieren und Deaktivieren von beschränkten Sitzungen
- Bereinigen des freigegebenen Pools
- Bereinigen des Buffer-Cache
- Erteilen von SELECT- oder EXECUTE-Berechtigungen für SYS-Objekte
- Widerrufen von SELECT- oder EXECUTE-Berechtigungen für SYS-Objekte
- Erteilen von Berechtigungen an Nicht-Hauptbenutzer
- Erstellen von benutzerdefinierten Funktionen für das Überprüfen von Passwörtern
- Einrichten eines benutzerdefinierten DNS-Servers
Trennen einer Sitzung
Um die aktuelle Sitzung zu trennen, indem Sie den dedizierten Serverprozess beenden,
verwenden Sie die Amazon RDS-Prozedur rdsadmin.rdsadmin_util.disconnect
. Die Prozedur disconnect
hat die folgenden Parameter.
Parametername | Datentyp | Standard | Erforderlich | Beschreibung |
---|---|---|---|---|
|
Zahl |
— |
Ja |
Die Sitzungskennung |
|
Zahl |
— |
Ja |
Die Seriennummer der Sitzung |
|
varchar |
'IMMEDIATE' |
Nein |
Gültige Werte sind |
Im folgenden Beispiel wird die Verbindung mit einer Sitzung getrennt.
begin rdsadmin.rdsadmin_util.disconnect( sid =>
sid
, serial =>serial_number
); end; /
Stellen Sie an die Ansicht V$SESSION
eine Abfrage, um die Sitzungskennung und die -seriennummer zu erhalten. Im folgenden
Beispiel werden alle Sitzungen für den Benutzer AWSUSER
abgerufen.
select SID, SERIAL#, STATUS from V$SESSION where USERNAME = '
AWSUSER
';
Die Datenbank muss offen sein, um diese Methode zu verwenden. Weitere Informationen
über das Trennen der Verbindung zu einer Sitzung finden Sie unter ALTER SYSTEM
Beenden einer Sitzung
Um eine Sitzung zu beenden, verwenden Sie die Amazon RDS-Prozedur rdsadmin.rdsadmin_util.kill
. Die Prozedur kill
hat die folgenden Parameter.
Parametername | Datentyp | Standard | Erforderlich | Beschreibung |
---|---|---|---|---|
|
Zahl |
— |
Ja |
Die Sitzungskennung |
|
Zahl |
— |
Ja |
Die Seriennummer der Sitzung |
|
varchar |
Null |
Nein |
Gültige Werte sind |
Im folgenden Beispiel wird eine Sitzung beendet.
begin rdsadmin.rdsadmin_util.kill( sid =>
sid
, serial =>serial_number
); end; /
Stellen Sie an die Ansicht V$SESSION
eine Abfrage, um die Sitzungskennung und die -seriennummer zu erhalten. Im folgenden
Beispiel werden alle Sitzungen für den Benutzer AWSUSER
abgerufen.
SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE USERNAME = '
AWSUSER
';
Sie können entweder IMMEDIATE
oder PROCESS
als Wert für den Parameter method
angeben. Wenn Sie PROCESS
als method
-Wert angeben, können Sie die mit einer Sitzung verbundenen Prozesse beenden. Tun
Sie dies nur, wenn Sie die Sitzung mit IMMEDIATE
beenden müssen, weil der Weg über den method
-Wert erfolglos war.
Abbrechen einer SQL-Anweisung in einer Sitzung
Um eine SQL-Anweisung in einer Sitzung abzubrechen, verwenden Sie die Amazon RDS-Prozedur
rdsadmin.rdsadmin_util.cancel
.
Diese Prozedur wird ab Oracle Version 18.0.0.0 unterstützt.
Die Prozedur cancel
hat die folgenden Parameter.
Parametername | Datentyp | Standard | Erforderlich | Beschreibung |
---|---|---|---|---|
|
Zahl |
— |
Ja |
Die Sitzungskennung |
|
Zahl |
— |
Ja |
Die Seriennummer der Sitzung |
|
varchar2 |
Null |
Nein |
Die SQL-ID der SQL-Anweisung. |
Das folgende Beispiel bricht eine SQL-Anweisung in einer Sitzung ab.
begin rdsadmin.rdsadmin_util.cancel( sid =>
sid
, serial =>serial_number
, sql_id =>sql_id
); end; /
Um die Sitzungs-ID, die Sitzungsseriennummer und die SQL-ID einer SQL-Anweisung abzurufen,
rufen Sie die V$SESSION
-Ansicht ab. Das folgende Beispiel ruft alle Sitzungen und SQL-IDs für den Benutzer
AWSUSER
ab.
select SID, SERIAL#, SQL_ID, STATUS from V$SESSION where USERNAME = '
AWSUSER
';
Aktivieren und Deaktivieren von beschränkten Sitzungen
Um eine SQL-Anweisung in einer Sitzung abzubrechen, verwenden Sie die Amazon RDS-Prozedur
rdsadmin.rdsadmin_util.restricted_session
. Die Prozedur restricted_session
hat die folgenden Parameter.
Parametername | Datentyp | Standard | Ja | Beschreibung |
---|---|---|---|---|
|
Boolean |
true |
Nein |
Setzen Sie diesen Parameter auf |
Im folgenden Beispiel wird gezeigt, wie beschränkte Sitzungen aktiviert und deaktiviert werden können.
/* Verify that the database is currently unrestricted. */ SELECT LOGINS FROM V$INSTANCE; LOGINS ------- ALLOWED /* Enable restricted sessions */ exec rdsadmin.rdsadmin_util.restricted_session(p_enable => true); /* Verify that the database is now restricted. */ SELECT LOGINS FROM V$INSTANCE; LOGINS ---------- RESTRICTED /* Disable restricted sessions */ exec rdsadmin.rdsadmin_util.restricted_session(p_enable => false); /* Verify that the database is now unrestricted again. */ SELECT LOGINS FROM V$INSTANCE; LOGINS ------- ALLOWED
Bereinigen des freigegebenen Pools
Um eingeschränkte Sitzungen zu aktivieren und zu deaktivieren, verwenden Sie die Amazon
RDS-Prozedur rdsadmin.rdsadmin_util.flush_shared_pool
. Die Prozedur flush_shared_pool
hat keine Parameter.
Im folgenden Beispiel wird die freigegebene Datenbasis bereinigt.
exec rdsadmin.rdsadmin_util.flush_shared_pool;
Bereinigen des Buffer-Cache
Um den gemeinsamen Pool zu leeren, verwenden Sie die Amazon RDS-Prozedur rdsadmin.rdsadmin_util.flush_buffer_cache
. Die Prozedur flush_buffer_cache
hat keine Parameter.
Im folgenden Beispiel wird der Buffer-Cache bereinigt.
exec rdsadmin.rdsadmin_util.flush_buffer_cache;
Erteilen von SELECT- oder EXECUTE-Berechtigungen für SYS-Objekte
Im Normalfall werden Sonderrechte mithilfe von Rollen übertragen, die viele Objekte
beinhalten können. Um den Puffer-Cache zu leeren, verwenden Sie die Amazon RDS-Prozedur
rdsadmin.rdsadmin_util.grant_sys_object
. Die Prozedur gewährt nur Berechtigungen, die dem Masterbenutzer bereits über eine
Rolle oder direkte Erteilung gewährt wurden.
Die Prozedur grant_sys_object
hat die folgenden Parameter.
Verwenden Sie für alle Parameterwerte Großbuchstaben, es sei denn, Sie haben den Benutzer
mit einer Kennung mit bedeutsamer Groß- und Kleinschreibung erstellt. Wenn Sie z. B.
CREATE USER
myuser
oder CREATE USER MYUSER
ausführen , wird im Datenwörterbuch MYUSER
gespeichert. Wenn Sie jedoch doppelte Anführungszeichen in CREATE USER
"MyUser"
verwenden, speichert das Datenwörterbuch MyUser
.
Parametername | Datentyp | Standard | Erforderlich | Beschreibung |
---|---|---|---|---|
|
varchar2 |
— |
Ja |
Der Name des Objekts dem die Sonderrechte erteilt werden sollen. Das Objekt kann ein
Verzeichnis, eine Funktion, ein Paket, eine Prozedur, eine Sequenz, eine Tabelle oder
eine Ansicht sein. Objektnamen müssen genauso angegeben werden, wie sie in |
|
varchar2 |
— |
Ja |
Der Name des Objekts, dem die Sonderrechte erteilt werden sollen. Das Objekt kann ein Schema oder eine Rolle sein. |
|
varchar2 |
Null |
Ja |
— |
|
Boolean |
false |
Nein |
Setzen Sie diesen Wert auf |
Im folgenden Beispiel werden einem Objekt mit dem Namen V_$SESSION
für einen Benutzer mit dem Namen USER1
ausgewählte Berechtigungen erteilt.
begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => '
V_$SESSION
', p_grantee => 'USER1
', p_privilege => 'SELECT
'); end; /
Im folgenden Beispiel werden einem Objekt mit dem Namen V_$SESSION
für einen Benutzer mit dem Namen USER1
mit der Erteilungsoption ausgewählte Berechtigungen erteilt.
begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => '
V_$SESSION
', p_grantee => 'USER1
', p_privilege => 'SELECT
', p_grant_option =>true
); end; /
Um Sonderrechte für ein Objekt erteilen zu können, muss Ihr Konto über diese Sonderrechte
verfügen, die ihm entweder direkt, mithilfe der Genehmigungsoption oder einer Rolle
mithilfe von with admin option
erteilt wurden. Im häufigsten Fall wird das Sonderrecht SELECT
an eine Feedback-Schleifen-Ansicht erteilt, das an die Rolle SELECT_CATALOG_ROLE
erteilt wurde. Wenn diese Rolle Ihrem Benutzer nicht bereits direkt mithilfe von
with admin option
erteilt wurde, können Sie die Berechtigung nicht übertragen. Wenn Sie über das Feedback-Schleifen-Sonderrecht
verfügen, können Sie die Rolle direkt an einen anderen Benutzer übertragen.
Im folgenden Beispiel wird die SELECT_CATALOG_ROLE
und EXECUTE_CATALOG_ROLE
an USER1
übertragen. Da with admin option
verwendet wird, kann USER1
jetzt Zugriffsrechte auf SYS-Objekte erteilen, die an SELECT_CATALOG_ROLE
erteilt wurden.
GRANT SELECT_CATALOG_ROLE TO
USER1
WITH ADMIN OPTION; GRANT EXECUTE_CATALOG_ROLE toUSER1
WITH ADMIN OPTION;
Objekte, die bereits an PUBLIC
erteilt wurden, müssen nicht erneut erteilt werden. Wenn Sie die Prozedur grant_sys_object
verwenden, um erneut Zugriffsrechte zu erteilen, ist der Prozeduraufruf erfolgreich.
Widerrufen von SELECT- oder EXECUTE-Berechtigungen für SYS-Objekte
Um Berechtigungen für ein einzelnes Objekt zu entziehen, verwenden Sie die Amazon
RDS-Prozedur rdsadmin.rdsadmin_util.revoke_sys_object
. Das Verfahren widerruft nur Privilegien, die dem Masterkonto bereits über eine Rolle
oder direkte Erteilung gewährt wurden.
Die Prozedur revoke_sys_object
hat die folgenden Parameter.
Parametername | Datentyp | Standard | Erforderlich | Beschreibung |
---|---|---|---|---|
|
varchar2 |
— |
Ja |
Der Name des Objekts, für das Berechtigungen widerrufen werden sollen. Das Objekt
kann ein Verzeichnis, eine Funktion, ein Paket, eine Prozedur, eine Sequenz, eine
Tabelle oder eine Ansicht sein. Objektnamen müssen genauso angegeben werden, wie sie
in |
|
varchar2 |
— |
Ja |
Der Name des Objekts, für das Berechtigungen widerrufen werden sollen. Das Objekt kann ein Schema oder eine Rolle sein. |
|
varchar2 |
Null |
Ja |
— |
Im folgenden Beispiel werden ausgewählte Berechtigungen für ein Objekt mit dem Namen
V_$SESSION
von einem Benutzer mit dem Namen USER1
widerrufen.
begin rdsadmin.rdsadmin_util.revoke_sys_object( p_obj_name => '
V_$SESSION
', p_revokee => 'USER1
', p_privilege => 'SELECT
'); end; /
Erteilen von Berechtigungen an Nicht-Hauptbenutzer
Sie können Auswahl-Sonderrechte für viele Objekte im SYS
-Schema mithilfe der SELECT_CATALOG_ROLE
-Rolle erteilen. Die Rolle SELECT_CATALOG_ROLE
gibt Benutzern SELECT
-Sonderrechte für Datenverzeichnisansichten. Im folgenden Beispiel wird die Rolle
SELECT_CATALOG_ROLE
einem Benutzer mit dem Namen user1
erteilt.
GRANT SELECT_CATALOG_ROLE TO
user1
;
Sie können EXECUTE
-Sonderrechte für viele Objekte im SYS
-Schema mithilfe der EXECUTE_CATALOG_ROLE
-Rolle erteilen. Die Rolle EXECUTE_CATALOG_ROLE
gibt Benutzern EXECUTE
-Sonderrechte für Pakete und Prozeduren im Datenverzeichnis. Im folgenden Beispiel
wird die Rolle EXECUTE_CATALOG_ROLE
einem Benutzer mit dem Namen user1 erteilt.
GRANT EXECUTE_CATALOG_ROLE TO
user1
;
Im folgenden Beispiel werden die Berechtigungen abgerufen, die durch die Rollen SELECT_CATALOG_ROLE
und EXECUTE_CATALOG_ROLE
gewährt werden.
SELECT * FROM ROLE_TAB_PRIVS WHERE ROLE IN ('SELECT_CATALOG_ROLE','EXECUTE_CATALOG_ROLE') ORDER BY ROLE, TABLE_NAME ASC;
Im folgenden Beispiel wird ein Nicht-Masterbenutzer mit dem Namen user1
erstellt, die Berechtigung CREATE SESSION
gewährt und die Berechtigung SELECT
für eine Datenbank mit dem Namen sh.sales erteilt.
CREATE USER
user1
IDENTIFIED BY PASSWORD; GRANT CREATE SESSION TOuser1
; GRANT SELECT ONsh.sales
TOuser1
;
Erstellen von benutzerdefinierten Funktionen für das Überprüfen von Passwörtern
Es gibt zwei Möglichkeiten, eine benutzerdefinierte Funktion für die Passwortüberprüfung
zu erstellen. Wenn Sie die Standardüberprüfungslogik verwenden und Ihre Funktion im
SYS
-Schema speichern möchten, verwenden Sie die Prozedur create_verify_function
. Wenn Sie eine benutzerdefinierte Überprüfungslogik verwenden und Ihre Funktion nicht
im SYS
-Schema speichern möchten, verwenden Sie die Prozedur create_passthrough_verify_fcn
.
Die Prozedur create_verify_function
Die create_verify_function
-Prozedur wird für Oracle Version 11.2.0.4.v9 und höher, Oracle Version 12.1.0.2.v5
und höher, alle 12.2.0.1-Versionen, alle 18.0.0.0-Versionen und alle 19.0.0-Versionen
unterstützt.
Sie können eine benutzerdefinierte Funktion erstellen, um Passwörter mithilfe der
Amazon RDS-Prozedur rdsadmin.rdsadmin_password_verify.create_verify_function
zu überprüfen. Die Prozedur create_verify_function
hat die folgenden Parameter.
Parametername | Datentyp | Standard | Erforderlich | Beschreibung |
---|---|---|---|---|
|
varchar2 |
— |
Ja |
Der Name für Ihre benutzerdefinierte Funktion. Diese Funktion wird für Sie im SYS-Schema erstellt. Sie teilen diese Funktion den Benutzerprofilen zu. |
|
Zahl |
8 |
Nein |
Die erforderliche Mindestzeichenanzahl. |
|
Zahl |
256 |
Nein |
Die maximale Anzahl der erlaubten Zeichen |
|
Zahl |
1 |
Nein |
Die Mindestanzahl der erforderlichen Buchstaben |
|
Zahl |
0 |
Nein |
Die Mindestanzahl der erforderlichen Großbuchstaben |
|
Zahl |
0 |
Nein |
Die Mindestanzahl der erforderlichen Kleinbuchstaben |
|
Zahl |
1 |
Nein |
Die Mindestanzahl der erforderlichen Zahlen |
|
Zahl |
0 |
Nein |
Die Mindestanzahl der erforderlichen Sonderzeichen |
|
Zahl |
3 |
Nein |
Die Mindestanzahl der zwischen dem alten und dem neuen Passwort erforderlichen unterschiedlichen Zeichen. |
|
Boolean |
true |
Nein |
Setzen Sie diesen Wert auf |
|
Boolean |
true |
Nein |
Auf |
|
Boolean |
true |
Nein |
Setzen Sie diesen Wert auf |
|
Boolean |
true |
Nein |
Setzen Sie diesen Wert auf |
|
Boolean |
false |
Nein |
Setzen Sie diesen Wert auf |
|
Boolean |
false |
Nein |
Setzen Sie diesen Wert auf |
Sie können mehrere benutzerdefinierte Funktionen für die Passwortüberprüfung erstellen.
Es gibt Einschränkungen im Hinblick auf den Namen für Ihre benutzerdefinierte Funktion.
Der Name Ihrer benutzerdefinierten Funktion darf nicht mit dem Namen eines vorhandenen
Systemobjekts identisch sein. Der Name darf nicht mehr als 30 Zeichen lang sein. Der
Name muss außerdem eine der folgenden Zeichenfolgen enthalten: PASSWORD
, VERIFY
, COMPLEXITY
, ENFORCE
oder STRENGTH
.
Im folgenden Beispiel wird die Funktion mit dem Namen CUSTOM_PASSWORD_FUNCTION
erstellt. Die Funktion erfordert ein Passwort mit mindestens 12 Zeichen, 2 Großbuchstaben,
1 Zahl und 1 Sonderzeichen. Außerdem ist das @-Zeichen im Passwort nicht erlaubt.
begin rdsadmin.rdsadmin_password_verify.create_verify_function( p_verify_function_name => '
CUSTOM_PASSWORD_FUNCTION
', p_min_length =>12
, p_min_uppercase =>2
, p_min_digits =>1
, p_min_special =>1
, p_disallow_at_sign =>true
); end; /
Tätigen Sie die Abfrage DBA_SOURCE
, um den Text Ihrer Überprüfungsfunktion anzusehen. Im folgenden Beispiel wird der
Text einer benutzerdefinierten Passwortfunktion mit dem Namen CUSTOM_PASSWORD_FUNCTION
erhalten.
COL TEXT FORMAT a150 SELECT TEXT FROM DBA_SOURCE WHERE OWNER = 'SYS' AND NAME = '
CUSTOM_PASSWORD_FUNCTION
' ORDER BY LINE;
Verwenden Sie alter profile
, um Ihre Überprüfungsfunktion einem Benutzerprofil zuzuordnen. Verwenden Sie DEFAULT
, um Ihre Überprüfungsfunktion dem Benutzerprofil zuzuordnen.
ALTER PROFILE
DEFAULT
LIMIT PASSWORD_VERIFY_FUNCTIONCUSTOM_PASSWORD_FUNCTION
;
Stellen Sie die Abfrage DBA_PROFILES
, um zu sehen, welchen Benutzerprofilen welche Überprüfungsfunktionen zugeordnet sind.
Im folgenden Beispiel wird das Profil erhalten, dem die benutzerdefinierte Überprüfungsfunktion
mit dem Namen CUSTOM_PASSWORD_FUNCTION
zugehörig ist.
SELECT * FROM DBA_PROFILES WHERE RESOURCE_NAME = 'PASSWORD' AND LIMIT = '
CUSTOM_PASSWORD_FUNCTION
'; PROFILE RESOURCE_NAME RESOURCE LIMIT ------------------------- -------------------------------- -------- ------------------------ DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD CUSTOM_PASSWORD_FUNCTION
Im folgenden Beispiel werden alle Profile und Passwortüberprüfungsfunktionen erhalten, die miteinander verknüpft sind.
SELECT * FROM DBA_PROFILES WHERE RESOURCE_NAME = 'PASSWORD_VERIFY_FUNCTION'; PROFILE RESOURCE_NAME RESOURCE LIMIT ------------------------- -------------------------------- -------- ------------------------ DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD CUSTOM_PASSWORD_FUNCTION RDSADMIN PASSWORD_VERIFY_FUNCTION PASSWORD NULL
Die Prozedur create_passthrough_verify_fcn
Die create_passthrough_verify_fcn
-Prozedur wird für Oracle Version 11.2.0.4.v11 und höher, Oracle Version 12.1.0.2.v7
und höher, alle 12.2.0.1-Versionen, alle 18.0.0.0-Versionen und alle 19.0.0-Versionen
unterstützt.
Sie können eine benutzerdefinierte Funktion erstellen, um Passwörter mithilfe der
Amazon RDS-Prozedur rdsadmin.rdsadmin_password_verify.create_passthrough_verify_fcn
zu überprüfen. Die Prozedur create_passthrough_verify_fcn
hat die folgenden Parameter.
Parametername | Datentyp | Standard | Erforderlich | Beschreibung |
---|---|---|---|---|
|
varchar2 |
— |
Ja |
Der Name für Ihre benutzerdefinierte Überprüfungsfunktion. Dies ist eine Wrapper-Funktion, die für Sie im SYS-Schema erstellt wird und keine Überprüfungslogik beinhaltet. Sie teilen diese Funktion den Benutzerprofilen zu. |
|
varchar2 |
— |
Ja |
Der Schemabesitzer für Ihre benutzerdefinierte Überprüfungsfunktion |
|
varchar2 |
— |
Ja |
Der Name für Ihre bestehende benutzerdefinierte Funktion, der die Überprüfungslogik
beinhaltet. Ihre benutzerdefinierte Funktion muss einen Booleschen Wert zurückgeben.
Ihre Funktion sollte |
Im folgenden Beispiel wird eine Passwortüberprüfungsfunktion erstellt, die die Logik
aus der Funktion mit dem Namen PASSWORD_LOGIC_EXTRA_STRONG
verwendet.
begin rdsadmin.rdsadmin_password_verify.create_passthrough_verify_fcn( p_verify_function_name => '
CUSTOM_PASSWORD_FUNCTION
', p_target_owner => 'TEST_USER
', p_target_function_name => 'PASSWORD_LOGIC_EXTRA_STRONG
'); end; /
Verwenden Sie alter profile
, um die Überprüfungsfunktion Ihrem Benutzerprofil zuzuordnen. Im folgenden Beispiel
wird die Überprüfungsfunktion mit dem DEFAULT
-Benutzerprofil verknüpft.
ALTER PROFILE
DEFAULT
LIMIT PASSWORD_VERIFY_FUNCTIONCUSTOM_PASSWORD_FUNCTION
;
Einrichten eines benutzerdefinierten DNS-Servers
Amazon RDS unterstützt ausgehenden Netzwerkzugriff auf Ihre DB-Instance, auf der Oracle ausgeführt wird. Weitere Informationen zu ausgehendem Netzwerkzugriff, einschließlich Voraussetzungen, finden Sie unter Verwenden von utl_http, utl_tcp und utl_smtp mit einer Oracle DB-Instance.
Amazon RDS-Oracle erlaubt Domain Name Service (DNS)-Auflösung aus einem benutzerdefinierten DNS-Server, der im Besitz des Kunden ist. Sie können nur vollständig geeignete Domänenamen aus Ihrer Amazon RDS-DB-Instance über Ihren benutzerdefinierten DNS-Server auflösen.
Nachdem Sie Ihren benutzerdefinierten DNS-Namensserver eingerichtet haben, dauert es bis zu 30 Minuten, um die Änderungen an Ihre DB-Instance zu übertragen. Nachdem die Änderungen an Ihre DB-Instance übertragen wurden, wird ausgehender Datenverkehr, der eine DNS-Abfrage tätigen muss, Ihren DNS-Server über Port 53 abrufen.
Führen Sie folgende Schritte aus, um einen benutzerdefinierten DNS-Server für Ihre Amazon RDS for Oracle-DB-Instance einzurichten:
-
Legen Sie in dem Ihrer Virtual Private Cloud (VPC) beigefügten DHCP-Optionsset die Option
domain-name-servers
für die IP-Adresse Ihres DNS-Namensservers fest. Weitere Informationen finden Sie unter DHCP-Optionssets.Anmerkung Die Option
domain-name-servers
akzeptiert bis zu vier Werte, Ihre Amazon RDS-DB-Instance verwendet jedoch nur den ersten Wert. -
Stellen Sie sicher, dass Ihr DNS-Server die Suchabfragen auflösen kann, einschließlich DNS-Namen, Amazon EC2-private-DNS-Namen und benutzerspezifischen DNS-Namen. Wenn der ausgehende Datenverkehr DNS-Abfragen beinhaltet, die Ihr DNS-Server nicht handhaben kann, müssen für Ihren DNS-Server angemessene DNS-Provider für einen Upstream konfiguriert sein.
-
Konfigurieren Sie Ihren DNS-Server, um User Datagram Protocol (UDP)-Antworten in der Größenordnung von 512 Bytes oder weniger zu erhalten.
-
Konfigurieren Sie Ihren DNS-Server, um Transmission Control Protocol (TCP)-Antworten in der Größenordnung von 1 024 Bytes oder weniger zu erhalten.
-
Konfigurieren Sie Ihren DNS-Server, um eingehenden Datenverkehr aus Ihrer Amazon RDS-DB-Instance über Port 53 zu erlauben. Wenn sich Ihr DNS-Server in einer Amazon VPC befindet, muss die VPC über eine Sicherheitsgruppe verfügen, die eingehende Regeln für das Erlauben von UDP und TCP über Port 53 beinhaltet. Wenn sich Ihr DNS-Server nicht in einer Amazon VPC befindet, muss er über eine angemessene Firewall-Whitelist verfügen, die UDP- und TCP-Übertragungen über Port 53 zulassen.
Weitere Informationen finden Sie unter Sicherheitsgruppen für Ihre VPC und unter Hinzufügen und Entfernen von Regeln.
-
Konfigurieren Sie die VPC Ihrer Amazon RDS-DB-Instance, um ausgehenden Datenverkehr über Port 53 zu erlauben. Ihre VPC muss über eine Sicherheitsgruppe mit ausgehenden Regeln verfügen, die UDP- und TCP-Übertragungen über Port 53 erlauben.
Weitere Informationen finden Sie unter Sicherheitsgruppen für Ihre VPC und unter Hinzufügen und Entfernen von Regeln.
-
Der Routing-Pfad zwischen der Amazon RDS-DB-Instance und dem DNS-Server muss korrekt konfiguriert werden, um DNS-Datenverkehr zu erlauben.
-
Wenn sich die Amazon RDS-DB-Instance und der DNS-Server nicht in der selben VPC befinden, muss zwischen ihnen eine Peer-to-Peer-Verbindung eingerichtet werden. Weitere Informationen finden Sie unter Was ist VPC Peering?
-