Verbindungen zu Oracle AI Database konfigurieren

Erfahren Sie mehr über die Benutzerberechtigungen, die auf der Datenbankseite für die Verbindung zu Oracle GoldenGate erforderlich sind, und Konfigurationsanweisungen zum Einrichten von Verbindungen für Oracle AI Database zu Oracle GoldenGate.

Datenbankbenutzer und -berechtigungen für Oracle vorbereiten

Hier erfahren Sie, wie Sie Datenbankbenutzer erstellen und Berechtigungen für Oracle GoldenGate für Oracle zuweisen.

Hinweis: Für Extract und Replicat muss sich die Datenbank im Lese-/Schreibmodus befinden. Ein Extract kann keine Daten aus einer Data Guard-Standbydatenbank oder einer Active Data Guard-Standbydatenbank erfassen, die für schreibgeschützte Aktivitäten geöffnet ist, selbst wenn die DML-Umleitung aktiviert ist.

Benutzerberechtigungen für Oracle AI Database 26ai und höher erteilen

Oracle AI Database 26ai stellt Benutzerrollen bereit, um einem Datenbankbenutzer rollenbasierte Berechtigungen mit SQL-Anweisungen zu erteilen.

Oracle AI Database 26ai verwendet einen rollenbasierten Ansatz, um die für die Replikation erforderlichen Berechtigungen zu erteilen. Die Rollen ersetzen die GRANT_ADMIN_PRIVILEGE-Prozeduren aus dem DBMS_GOLDENGATE_AUTH-Package.

Beispiel: Um einen Oracle GoldenGate-Administrationsbenutzer zu erstellen, müssen Sie dem Benutzer beim Erstellen des Benutzers die entsprechende OGG_*-Rolle erteilen. Wenn Sie weiterhin GRANT_ADMIN_PRIVILEGE-Prozeduren aus dem Package DBMS_GOLDENGATE_AUTH in Oracle AI Database 26ai verwenden, werden keine Berechtigungen erteilt. Stattdessen wird eine Warnmeldung ausgelöst, die darauf hinweist, dass der Prozeduraufruf deaktiviert ist.

Hier sind die in Oracle GoldenGate 26ai eingeführten Benutzerrollen:

OGG_CAPTURE

OGG_CAPTURE verfügt über die erforderlichen Berechtigungen für die Verwendung und Verwaltung von Extract-Prozessen.

Für die Erfassung von DML und DDL mit Extract benötigt ein Benutzer die folgenden Berechtigungen:

GRANT CONNECT, RESOURCE to ggadmin CONTAINER = all;
GRANT OGG_CAPTURE to ggadmin CONTAINER = all;

Wenn der Extract-Prozess im Root-Container registriert ist, muss dieser zusätzliche Schritt ausgeführt werden:

ALTER USER ggadmin SET CONTAINER_DATA = all CONTAINER = current;

OGG_APPLY

Rolle mit erforderlichen Berechtigungen für die Verwendung von Oracle GoldenGate Replicat.

Um Replicat-Prozesse zu verwenden, benötigt ein Benutzer diese Rolle sowie die Berechtigungen zum Ausführen von DML und DDL auf dem Ziel. Beispiel: Wenn ein Replicat-Prozess DML-Vorgänge für die Tabelle EMPLOYEES aus dem Schema HR ausführen soll:

GRANT CONNECT, RESOURCE to ggadmin;
GRANT OGG_APPLY to ggadmin;
GRANT SELECT, INSERT, UPDATE, DELETE on HR.EMPLOYEES TO GGADMIN;

Wenn der Replicat-Benutzer DDL-Vorgänge wie CREATE TABLE, DROP TABLE und ALTER TABLE anwenden soll, muss er die Systemberechtigungen erhalten, die zur Ausführung solcher Anweisungen erforderlich sind:

GRANT CREATE TABLE, ALTER TABLE, DROP TABLE to ggadmin;

OGG_APPLY_PROCREP

Rolle mit Berechtigungen, die zum Ausführen von Packages erforderlich sind, die für die prozedurale Replikation mit Oracle GoldenGate unterstützt werden. Sie enthält nur die Ausführungsberechtigungen. Daher sollte diese Rolle zusammen mit der Rolle OGG_APPLY verwendet werden, damit der Benutzer den Replicat-Prozess ausführen und die Prozeduren im Ziel ausführen kann.

Beispiel: Ein Replicat wendet Prozedurenausführungen an. Das Förderverfahren sollte wie folgt aussehen:

GRANT CONNECT, RESOURCE to ggadmin;
GRANT OGG_APPLY, OGG_APPLY_PROCREP to ggadmin;

Benutzerberechtigungen für Oracle Database 21c und niedriger erteilen

Die Benutzerberechtigungen, die für die Verbindung mit Oracle AI Database von Oracle GoldenGate erforderlich sind, hängen vom Benutzertyp ab.

Berechtigungen müssen abhängig von den Aktionen erteilt werden, die der Benutzer als Administratorbenutzer GoldenGate in der Quell- und Zieldatenbank ausführen muss. Beispiel: Um einem Benutzer Berechtigungen für DML-Vorgänge zum Einfügen, Aktualisieren und Löschen von Transaktionen zu erteilen, verwenden Sie die Berechtigungen GRANT ANY INSERT/UPDATE/DELETE, und um Benutzern das Arbeiten mit Tabellen und Indizes als Teil von DML-Vorgängen zu ermöglichen, verwenden Sie die Berechtigungen GRANT CREATE/DROP/ALTER ANY TABLE/INDEX.

Wenn der GoldenGate-Administratorbenutzer die DBA-Rolle hat, sind keine zusätzlichen Objektberechtigungen erforderlich. Es kann jedoch Sicherheits-Constraints geben, die dem Administrationsbenutzer GoldenGate die DBA-Rolle erteilen. Die DBA-Rolle ist nicht unbedingt für Oracle GoldenGate erforderlich.

Wenn viele Objekte repliziert werden, können Sie die Berechtigung ANY für DML- und DDL-Vorgänge verwenden. Dadurch wird das Provisioning von Berechtigungen für die GoldenGate-Administratorbenutzer vereinfacht, da Sie je nach Datenbankvorgängen nur einige Berechtigungen erteilen müssen.

In der folgenden Tabelle werden einige der grundlegenden Berechtigungen für den GoldenGate-Administratorbenutzer für Oracle AI Database beschrieben. Zur Erläuterung verwendet die Tabelle c##ggadmin als Beispiel für einen allgemeinen Benutzer für eine mehrmandantenfähige Containerdatenbank und ggadmin als PDB-(Pluggable Database-)Benutzer. PDBEAST und PDBWEST werden als Beispiele für PDB-Namen verwendet.

In der folgenden Tabelle werden die grundlegenden Berechtigungen für GoldenGate-Administratorbenutzer für die Verwendung von Oracle GoldenGate in Quell- und Ziel-Oracle-Datenbanken beschrieben:

Berechtigung Extrahieren Alle Modi replizieren Zweck
RESOURCE Ja Ja

Zum Erstellen von Objekten erforderlich

Erteilen Sie in Oracle Database 12cR1 und höher anstelle von RESOURCE die folgende Berechtigung:

ALTER USER user QUOTA {size | UNLIMITED} ON tablespace;
CONNECT Ja Ja

Der allgemeine Benutzer SYSTEM stellt eine Verbindung zum Root-Container her. Diese Berechtigung ist unerlässlich, wenn die DBA-Rolle dem Benutzer nicht zugewiesen ist.

Siehe ein Beispiel für Berechtigungen, die einem allgemeinen Benutzer einer Oracle-Mutitenant-Datenbank erteilt wurden.

CREATE PROCEDURE Ja Ja Erforderlich, um Heartbeat-Tabellen hinzuzufügen.
CREATE SESSION Ja Ja Erforderlich für die Anmeldung bei der Datenbank.
CREATE VIEW Ja Ja

Erforderlich, um die Heartbeat-Tabellenansicht hinzuzufügen.

Wenn Sie für jedes Objekt spezifisch sein möchten, können Sie auch die Berechtigungen für jedes Objekt einzeln angeben. Sie können eine bestimmte Datenbankrolle erstellen, um diese Berechtigungen zu verwalten.

ALTER SYSTEM Ja Ja Führen Sie administrative Änderungen durch, z. B. das Aktivieren von Logging.
ALTER USER Ja Ja Für die Mehrmandantenarchitektur erforderlich, und GGADMIN muss ein gültiges Oracle GoldenGate-Administraterschema sein.
EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE ('REPUSER', CONTAINER=>'PDBEAST'); Ja Ja

  • Erforderlich für die Extraktion und das Replicat von autonomen KI-Datenbanken (ATP und ADW). Für Extrakte im Root-Container (CDB$ROOT)) ist möglicherweise der Wert ALL oder eine bestimmte PDB erforderlich (Beispiel: pdbeast).

  • Privilegien für Extract- und Replicat-Benutzer erteilen Siehe Beispiel: Berechtigungen mit dem Package DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE erteilen

  • Berechtigungen zur Erfassung aus Virtual Private Database erteilen

  • Erteilt Berechtigungen zum Erfassen verdeckter Daten

Erteilen Sie die Berechtigungen DV_GOLDENGATE_ADMIN und DV_GOLDENGATE_REDO_ACCESS, die als Benutzer SYS mit dem Extract- und Replicat-Benutzer verbunden sind. Ja Ja Aus Data Vault erfassen. Siehe Berechtigungen zur Erfassung aus Oracle Data Vault.
Erteilen Sie Replicat-Berechtigungen in DBMS_MACADM.ADD_AUTH_TO_REALM, wenn Sie sie auf eine Realm anwenden. Ja Ja Wird beim erstmaligen Laden von Extract benötigt, um Daten aus der Zieltabelle zu erfassen, Capture from Data Vault. Siehe Berechtigungen zur Erfassung aus Oracle Data Vault.
INSERT, UPDATE, DELETE in Zieltabellen NA Ja Replizierte DML auf Zielobjekte anwenden Siehe Details zur Unterstützung von Objekten und Vorgängen in Oracle DML

GRANT INSERT ANY TO...
GRANT UPDATE ANY TO...
GRANT DELETE ANY TO...

NA Ja Erteilen Sie dem Replicat-Benutzer diese Berechtigungen, anstatt jeder Tabelle INSERT, UPDATE, DELETE zu erteilen, wenn jede Tabelle repliziert wird.

Wenn die DDL-Replikation ausgeführt wird, weisen Sie Folgendes als Database Vault-Eigentümer zu:

EXECUTE DBMS_MACADM.AUTHORIZE_DDL('GGADMIN USER', 'SCHEMA FOR DDL');
Nein Nein Aus Data Vault erfassen. Siehe Berechtigungen zur Erfassung aus Oracle Data Vault.
DDL-Berechtigungen für Zielobjekte (bei Verwendung der DDL-Unterstützung) NA Ja Replizierte DDL auf Zielobjekten ausgeben Siehe Details zur Unterstützung von Objekten und Vorgängen in Oracle DDL.
GRANT [CREATE\|ALTER\|DROP] ANY [TABLE\|INDEX\|VIEW\|PROCEDURE] to GGADMIN; Ja Ja Erteilt Berechtigungen für die DDL-Replikation für Tabellen.
CREATE ANY TABLE Ja Ja Erteilt Berechtigungen zum Erstellen einer Tabelle in einem beliebigen Schema. Um das Erstellen von Tabellen nur in einem bestimmten Schema zuzulassen, verwenden Sie die Berechtigung CREATE TABLE.
CREATE ANY VIEW Ja Ja Erteilt Berechtigungen zum Erstellen einer View in einem beliebigen Datenbankschema. Um das Erstellen von Ansichten in einem bestimmten Schema zuzulassen, verwenden Sie die Berechtigung CREATE VIEW.

SELECT ANY DICTIONARY

Ja Ja Sorgen Sie dafür, dass alle Berechtigungen in Dictionary-Tabellen ordnungsgemäß funktionieren.

Beispiel: Berechtigungen, die für den allgemeinen Benutzer von Oracle AI Database erteilt wurden

Berechtigungen, die für den allgemeinen Oracle AI Database-Benutzer erteilt werden. Im folgenden Beispiel ist dies c##ggadmin:

ALTER USER c##ggadmin IDENTIFIED BY ggadmin CONTAINER=all;
ALTER USER c##ggadmin SET CONTAINER_DATA=all CONTAINER=current;
ALTER USER c##ggadmin QUOTA unlimited ON GG_DATA;
TABLESPACE GG_DATA TEMPORARY TABLESPACE temp;
GRANT RESOURCE to c##ggadmin;
GRANT CREATE SESSION to c##ggadmin;
GRANT CREATE VIEW to c##ggadmin;
GRANT CREATE TABLE to c##ggadmin;
GRANT CONNECT to c##ggadmin CONTAINER=all;
GRANT DV_GOLDENGATE_ADMIN; --- for data vault user
GRANT DV_GOLDENGATE_REDO_ACCESS; --- for data vault user
GRANT ALTER SYSTEM to c##ggadmin;
GRANT ALTER USER to c##ggadmin;
GRANT SELECT ANY DICTIONARY to c##ggadmin;
GRANT SELECT ANY TRANSACTION to c##ggadmin;
EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE('c##ggadmin');

In diesem Beispiel wird keine DBA-Berechtigung angegeben. Wenn Berechtigungen fehlen, muss der DBA die erforderlichen Berechtigungen zusätzlich erteilen.

Berechtigungen, die für den PDB-Benutzer ggadmin erteilt wurden, werden im folgenden Beispiel bereitgestellt:

ALTER SESSION SET CONTAINER=dbwest;
ALTER USER c#ggadmin IDENTIFIED BY ggadmin CONTAINER=all;
GRANT CONNECT, RESOURCE, DBA TO c##ggadmin CONTAINER=CURRENT;
GRANT ALTER SESSION TO c##ggadmin CONTAINER=all;
EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE('ggadmin');

Hinweis: Das Erteilen einer DBA-Rolle ist nicht für jeden Benutzer erforderlich. Je nach den Aktionen, die der Benutzer für die Datenbank ausführen muss, müssen Berechtigungen erteilt werden. Beispiel: Um DML-Vorgangsberechtigungen zum Einfügen, Aktualisieren und Löschen von Transaktionen an ggadmin zu erteilen, verwenden Sie die Berechtigungen GRANT ANY INSERT/UPDATE/DELETE. Um Benutzern die Arbeit mit Tabellen und Indizes als Teil von DML-Vorgängen zu ermöglichen, verwenden Sie die GRANT CREATE/DROP/ALTER ANY TABLE/INDEX-Berechtigungen.

Beispiel: Berechtigungen mit dem Package DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE erteilen

Diese Prozedur erteilt die Berechtigungen, die ein Benutzer als Oracle GoldenGate-Administrator benötigt. Im folgenden Beispiel werden explizite Berechtigungen für Extract in einer mehrmandantenfähigen Oracle-Datenbank erteilt:

BEGIN
DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE
(GRANTEE => 'c##ggadmin'
,PRIVILEGE_TYPE => 'CAPTURE'
,GRANT_SELECT_PRIVILEGES => TRUE
,DO_GRANTS => TRUE
,CONTAINER => 'ALL');
END;

Weitere Informationen finden Sie unter DBMS_GOLDENGATE_AUTH in der Oracle AI Database PL/SQL Packages and Types Reference.

Berechtigungen zum Erfassen aus Oracle Data Vault

Erteilen Sie die folgenden Berechtigungen, die als Benutzer SYS in Oracle AI Database angemeldet sind. Diese Berechtigungen werden für die Zugangsdaten von Extract- und Replicat-Benutzern festgelegt:

-

EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE ('*userID*','*',
GRANT_OPTIONAL_PRIVILEGES=>'*');
GRANT DV_GOLDENGATE_ADMIN, DV_GOLDENGATE_REDO_ACCESS to *userID*;