Häufige DBA-Systemaufgaben für Oracle DB-Instances - Amazon Relational Database Service

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.

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

sid

Zahl

Ja

Die Sitzungskennung

serial

Zahl

Ja

Die Seriennummer der Sitzung

method

varchar

'IMMEDIATE'

Nein

Gültige Werte sind 'IMMEDIATE' oder 'POST_TRANSACTION'.

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 in der Oracle-Dokumentation.

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

sid

Zahl

Ja

Die Sitzungskennung

serial

Zahl

Ja

Die Seriennummer der Sitzung

method

varchar

Null

Nein

Gültige Werte sind 'IMMEDIATE' oder 'PROCESS'.

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.

Anmerkung

Diese Prozedur wird ab Oracle Version 18.0.0.0 unterstützt.

Die Prozedur cancel hat die folgenden Parameter.

Parametername Datentyp Standard Erforderlich Beschreibung

sid

Zahl

Ja

Die Sitzungskennung

serial

Zahl

Ja

Die Seriennummer der Sitzung

sql_id

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

p_enable

Boolean

true

Nein

Setzen Sie diesen Parameter auf true, um beschränkte Sitzungen zu aktivieren, oder auf false, um beschränkte Sitzungen zu deaktivieren.

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.

Wichtig

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

p_obj_name

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 DBA_OBJECTS sind. Die meisten Systemobjekte sind in Großbuchstaben definiert. Daher empfehlen wir Ihnen, zuerst diese Schreibweise zu verwenden.

p_grantee

varchar2

Ja

Der Name des Objekts, dem die Sonderrechte erteilt werden sollen. Das Objekt kann ein Schema oder eine Rolle sein.

p_privilege

varchar2

Null

Ja

p_grant_option

Boolean

false

Nein

Setzen Sie diesen Wert auf true, um ihn mit der Genehmigungsoption zu verwenden. Der p_grant_option-Parameter wird für Oracle-Versionen 11.2.0.4.v8 und höher, 12.1.0.2.v4 und höher, alle 12.2.0.1-Versionen, alle 18.0.0.0-Versionen und alle 19.0.0-Versionen unterstützt.

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 optionerteilt 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 to USER1 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

p_obj_name

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 DBA_OBJECTS sind. Die meisten Systemobjekte sind in Großbuchstaben definiert, von daher empfehlen wir Ihnen, diese Schreibweise zuerst auszuprobieren.

p_revokee

varchar2

Ja

Der Name des Objekts, für das Berechtigungen widerrufen werden sollen. Das Objekt kann ein Schema oder eine Rolle sein.

p_privilege

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 TO user1; GRANT SELECT ON sh.sales TO user1;

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

p_verify_function_name

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.

p_min_length

Zahl

8

Nein

Die erforderliche Mindestzeichenanzahl.

p_max_length

Zahl

256

Nein

Die maximale Anzahl der erlaubten Zeichen

p_min_letters

Zahl

1

Nein

Die Mindestanzahl der erforderlichen Buchstaben

p_min_uppercase

Zahl

0

Nein

Die Mindestanzahl der erforderlichen Großbuchstaben

p_min_lowercase

Zahl

0

Nein

Die Mindestanzahl der erforderlichen Kleinbuchstaben

p_min_digits

Zahl

1

Nein

Die Mindestanzahl der erforderlichen Zahlen

p_min_special

Zahl

0

Nein

Die Mindestanzahl der erforderlichen Sonderzeichen

p_min_different_chars

Zahl

3

Nein

Die Mindestanzahl der zwischen dem alten und dem neuen Passwort erforderlichen unterschiedlichen Zeichen.

p_disallow_username

Boolean

true

Nein

Setzen Sie diesen Wert auf true, um den Benutzernamen im Passwort nicht zu erlauben.

p_disallow_reverse

Boolean

true

Nein

Auf true festlegen, um die Umkehrung des Benutzernamens im Passwort zu verbieten.

p_disallow_db_name

Boolean

true

Nein

Setzen Sie diesen Wert auf true, um den Datenbank- oder Servernamen im Passwort nicht zu erlauben.

p_disallow_simple_strings

Boolean

true

Nein

Setzen Sie diesen Wert auf true, um einfache Zeichenfolgen im Passwort nicht zu erlauben.

p_disallow_whitespace

Boolean

false

Nein

Setzen Sie diesen Wert auf true, um Leerzeichen im Passwort nicht zu erlauben.

p_disallow_at_sign

Boolean

false

Nein

Setzen Sie diesen Wert auf true, um das @-Zeichen im Passwort nicht zu erlauben.

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_FUNCTION CUSTOM_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

p_verify_function_name

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.

p_target_owner

varchar2

Ja

Der Schemabesitzer für Ihre benutzerdefinierte Überprüfungsfunktion

p_target_function_name

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 truezurückgeben, wenn das Passwort gültig ist, und false, wenn das Passwort ungültig ist.

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_FUNCTION CUSTOM_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?