Configuration des connexions à Oracle AI Database
Découvrez les privilèges utilisateur requis côté base de données pour la connexion à Oracle GoldenGate et les instructions de configuration pour la configuration des connexions entre Oracle AI Database et Oracle GoldenGate.
Préparer les utilisateurs et les privilèges de base de données pour Oracle
Découvrez comment créer des utilisateurs de base de données et affecter des privilèges à Oracle GoldenGate pour Oracle.
Remarque : le processus Extract et le processus Replicat exigent que la base de données soit en mode lecture/écriture. Une extraction ne peut pas effectuer de capture à partir d'une base de données de secours Data Guard ou d'une base de données de secours Active Data Guard ouverte pour une activité en lecture seule, même si la redirection LMD est activée.
Octroi de privilèges utilisateur pour Oracle AI Database 26ai et versions supérieures
Oracle AI Database 26ai fournit des rôles utilisateur pour accorder des privilèges basés sur les rôles à un utilisateur de base de données avec des instructions SQL.
Oracle AI Database 26ai utilise une approche basée sur les rôles pour accorder les privilèges nécessaires à la réplication. Les rôles remplacent les procédures GRANT_ADMIN_PRIVILEGE du package DBMS_GOLDENGATE_AUTH.
Par exemple, pour créer un utilisateur d'administration Oracle GoldenGate, vous devez accorder le rôle OGG_* approprié à l'utilisateur lors de sa création. Si vous utilisez toujours les procédures GRANT_ADMIN_PRIVILEGE du package DBMS_GOLDENGATE_AUTH dans Oracle AI Database 26ai, aucun privilège n'est accordé. Au lieu de cela, un message d'avertissement est généré pour signaler que l'appel de procédure est désactivé.
Les rôles utilisateur présentés dans Oracle GoldenGate 26ai sont les suivants :
OGG_CAPTURE
OGG_CAPTURE dispose des privilèges nécessaires pour utiliser et gérer les processus d'extraction.
Pour capturer des instructions LMD et LDD avec le processus Extract, un utilisateur doit disposer des droits d'accès suivants :
GRANT CONNECT, RESOURCE to ggadmin CONTAINER = all;
GRANT OGG_CAPTURE to ggadmin CONTAINER = all;
Si le processus Extract est enregistré dans le conteneur racine, cette étape supplémentaire doit être effectuée :
ALTER USER ggadmin SET CONTAINER_DATA = all CONTAINER = current;
OGG_APPLY
Rôle avec les privilèges nécessaires à l'utilisation de la réplication Oracle GoldenGate.
Pour utiliser un processus Replicat, un utilisateur a besoin de ce rôle, ainsi que des droits d'accès permettant d'exécuter des opérations LMD et LDD sur la cible. Par exemple, si un processus Replicat est destiné à effectuer des opérations LMD sur la table EMPLOYEES à partir du schéma HR :
GRANT CONNECT, RESOURCE to ggadmin;
GRANT OGG_APPLY to ggadmin;
GRANT SELECT, INSERT, UPDATE, DELETE on HR.EMPLOYEES TO GGADMIN;
Si l'utilisateur Replicat est destiné à appliquer des opérations LDD telles que CREATE TABLE, DROP TABLE et ALTER TABLE, il doit recevoir les privilèges système nécessaires pour exécuter ces instructions :
GRANT CREATE TABLE, ALTER TABLE, DROP TABLE to ggadmin;
OGG_APPLY_PROCREP
Rôle avec les privilèges nécessaires pour exécuter les packages pris en charge pour la réplication procédurale avec Oracle GoldenGate. Il inclut uniquement les droits d'exécution. Par conséquent, ce rôle doit être utilisé avec le rôle OGG_APPLY pour permettre à l'utilisateur d'exécuter le processus Replicat et d'exécuter les procédures sur la cible.
Par exemple, si une réplication applique des exécutions de procédure. Le processus de subvention devrait être le suivant :
GRANT CONNECT, RESOURCE to ggadmin;
GRANT OGG_APPLY, OGG_APPLY_PROCREP to ggadmin;
Octroi de privilèges utilisateur pour Oracle Database 21c et inférieur
Les privilèges utilisateur requis pour la connexion à Oracle AI Database à partir d'Oracle GoldenGate dépendent du type d'utilisateur.
Les privilèges doivent être accordés en fonction des actions que l'utilisateur doit effectuer en tant qu'administrateur GoldenGate sur les bases de données source et cible. Par exemple, pour accorder à un utilisateur des privilèges d'opération LMD permettant d'insérer, de mettre à jour et de supprimer des transactions, utilisez les privilèges GRANT ANY INSERT/UPDATE/DELETE et pour permettre aux utilisateurs d'utiliser des tables et des index dans le cadre d'opérations LMD, utilisez les privilèges GRANT CREATE/DROP/ALTER ANY TABLE/INDEX.
Si l'administrateur GoldenGate dispose du rôle DBA, des privilèges objet supplémentaires ne sont pas nécessaires. Toutefois, il peut y avoir des contraintes de sécurité qui accordent le rôle DBA à l'utilisateur d'administration GoldenGate. Le rôle d'administrateur de base de données n'est pas obligatoire pour Oracle GoldenGate.
Si de nombreux objets sont répliqués, vous pouvez envisager d'utiliser le privilège ANY pour les opérations LMD et LDD. Cela simplifie l'octroi de privilèges aux utilisateurs de l'administrateur GoldenGate, car vous n'avez qu'à accorder quelques privilèges en fonction des opérations de base de données.
Le tableau suivant décrit certains des privilèges essentiels pour l'administrateur GoldenGate pour Oracle AI Database. Pour plus d'explications, la table utilise c##ggadmin comme exemple d'utilisateur commun pour une base de données Conteneur colocative et ggadmin comme utilisateur de base de données pluggable. PDBEAST et PDBWEST sont utilisés comme exemples de noms de base de données pluggable.
Le tableau suivant décrit les privilèges essentiels de l'administrateur GoldenGate pour utiliser Oracle GoldenGate sur les bases de données Oracle source et cible :
| Privilège | Extraction | Répliquer tous les modes | Objectif |
|---|---|---|---|
RESOURCE |
Oui | Oui | Obligatoire pour créer des objets Dans Oracle Database 12cR1 et versions ultérieures, au lieu de |
CONNECT |
Oui | Oui | L'utilisateur commun Reportez-vous à un exemple de droits d'accès accordés à un utilisateur commun de la base de données colocative Oracle. |
CREATE PROCEDURE |
Oui | Oui | Obligatoire pour ajouter des tables d'activité. |
CREATE SESSION |
Oui | Oui | Obligatoire pour la connexion à la base de données |
CREATE VIEW |
Oui | Oui | Obligatoire pour ajouter la vue de table de signal d'activité. Si vous souhaitez être spécifique à chaque objet, vous pouvez également fournir les privilèges pour chaque objet individuellement. Vous pouvez envisager de créer un rôle de base de données spécifique pour gérer ces privilèges. |
ALTER SYSTEM |
Oui | Oui | Effectuez les modifications administratives, telles que l'activation de la journalisation. |
ALTER USER |
Oui | Oui | Requis pour l'architecture colocative et GGADMIN doit être un schéma d'administrateur Oracle GoldenGate valide. |
EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE ('REPUSER', CONTAINER=>'PDBEAST'); |
Oui | Oui |
|
Accordez les privilèges DV_GOLDENGATE_ADMIN et DV_GOLDENGATE_REDO_ACCESS connectés en tant qu'utilisateur SYS à l'utilisateur Extract et Replicat. |
Oui | Oui | Capture à partir de Data Vault. Reportez-vous à Privilèges de capture à partir d'Oracle Data Vault. |
Accordez des privilèges de réplication dans DBMS_MACADM.ADD_AUTH_TO_REALM en cas d'application à un domaine. |
Oui | Oui | Requis par le processus Extract de chargement initial pour capturer les données de la table cible, Capture from Data Vault. Reportez-vous à Privilèges de capture à partir d'Oracle Data Vault. |
INSERT, UPDATE, DELETE sur les tables cible |
S/O | Oui | Appliquez des instructions LMD répliquées aux objets cible. Reportez-vous à Détails de la prise en charge des objets et des opérations dans Oracle DML |
|
|
S/O | Oui | Accordez ces privilèges à l'utilisateur Replicat, au lieu d'accorder INSERT, UPDATE et DELETE à chaque table, si vous répliquez chaque table. |
Si la réplication LDD est effectuée, accordez les droits suivants en tant que propriétaire de Database Vault : |
Non | Non | Capture à partir de Data Vault. Reportez-vous à Privilèges de capture à partir d'Oracle Data Vault. |
| Privilèges LDD sur les objets cible (si vous utilisez la prise en charge LDD) | S/O | Oui | Exécutez le script DDL répliqué sur les objets cible. Reportez-vous à Détails du support pour les objets et les opérations dans Oracle DDL. |
GRANT [CREATE\|ALTER\|DROP] ANY [TABLE\|INDEX\|VIEW\|PROCEDURE] to GGADMIN; |
Oui | Oui | Accorde des privilèges pour la réplication LDD pour les tables. |
CREATE ANY TABLE |
Oui | Oui | Accorde des privilèges pour la création de tables dans n'importe quel schéma. Pour autoriser la création de tables dans un schéma spécifique uniquement, utilisez le privilège CREATE TABLE. |
CREATE ANY VIEW |
Oui | Oui | Accorde des privilèges pour créer une vue dans n'importe quel schéma de base de données. Pour autoriser la création de vues dans un schéma spécifique, utilisez le privilège CREATE VIEW. |
|
|
Oui | Oui | Autorisez tous les privilèges à fonctionner correctement sur les tables du dictionnaire. |
Exemple : droits d'accès accordés à l'utilisateur commun Oracle AI Database
Privilèges accordés à l'utilisateur commun Oracle AI Database, qui est c##ggadmin dans l'exemple suivant :
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');
Dans cet exemple, le privilège DBA n'est pas fourni. Si des privilèges sont manquants, le DBA doit également accorder les privilèges nécessaires.
Les privilèges accordés à l'utilisateur de base de données pluggable ggadmin sont fournis dans l'exemple suivant :
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');
Remarque : l'octroi du rôle d'administrateur de base de données n'est pas obligatoire pour tous les utilisateurs. Les privilèges doivent être accordés en fonction des actions que l'utilisateur doit effectuer sur la base de données. Par exemple, pour accorder à ggadmin des privilèges d'opération LMD permettant d'insérer, de mettre à jour et de supprimer des transactions, utilisez les privilèges GRANT ANY INSERT/UPDATE/DELETE. Pour permettre aux utilisateurs d'utiliser des tables et des index dans le cadre d'opérations LMD, utilisez les privilèges GRANT CREATE/DROP/ALTER ANY TABLE/INDEX.
Exemple : accorder des privilèges à l'aide du package DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE
Cette procédure accorde les privilèges dont un utilisateur a besoin pour être administrateur Oracle GoldenGate. L'exemple suivant accorde des privilèges explicites pour l'extraction sur la base de données colocative Oracle :
BEGIN
DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE
(GRANTEE => 'c##ggadmin'
,PRIVILEGE_TYPE => 'CAPTURE'
,GRANT_SELECT_PRIVILEGES => TRUE
,DO_GRANTS => TRUE
,CONTAINER => 'ALL');
END;
Pour plus d'informations, reportez-vous à DBMS_GOLDENGATE_AUTH dans Référence des types et packages PL/SQL d'Oracle AI Database.
Privilèges de capture à partir d'Oracle Data Vault
Accordez les privilèges suivants connectés en tant qu'utilisateur SYS dans Oracle AI Database. Les privilèges suivants sont définis pour les informations d'identification utilisateur Extract et Replicat :
-
EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE ('*userID*','*',
GRANT_OPTIONAL_PRIVILEGES=>'*');
GRANT DV_GOLDENGATE_ADMIN, DV_GOLDENGATE_REDO_ACCESS to *userID*;
-
Accordez les privilèges de réplication dans
DBMS_MACADM.ADD_AUTH_TO_REALMen cas d'application à un domaine.Connectez-vous en tant que propriétaire de Database Vault et exécutez les scripts suivants :
BEGIN DVSYS.DBMS_MACADM.ADD_AUTH_TO_REALM( REALM_NAME => 'Oracle Default Component Protection Realm',GRANTEE => '*userID*',AUTH_OPTIONS => 1) ; END ; / EXECUTE_DBMS_MACADM.AUTHORIZE_DDL('SYS', 'SYSTEM'); -
Pour la réplication LDD, accordez les droits suivants en tant que propriétaire de Database Vault :
EXECUTE DBMS_MACADM.AUTHORIZE_DDL ('*userID*', '*SCHEMA FOR DDL*');