Configurare le connessioni a Oracle AI Database
Informazioni sui privilegi utente necessari sul lato database per connettersi a Oracle GoldenGate e sulle istruzioni di configurazione per impostare le connessioni per Oracle AI Database a Oracle GoldenGate.
Prepara utenti e privilegi del database per Oracle
Informazioni sulla creazione degli utenti del database e sull'assegnazione dei privilegi per Oracle GoldenGate per Oracle.
Nota: sia Extract che Replicat richiedono che il database sia in modalità di lettura/scrittura. Un'estrazione non può essere acquisita da un database di standby Data Guard o da un database di standby Active Data Guard aperto per attività di sola lettura, anche con il reindirizzamento DML abilitato.
Concedi privilegi utente per Oracle AI Database 26ai e versioni successive
Oracle AI Database 26ai fornisce ruoli utente per concedere privilegi basati sui ruoli a un utente di database con istruzioni SQL.
Oracle AI Database 26ai utilizza un approccio basato sui ruoli per concedere i privilegi necessari per la replica. I ruoli sostituiscono le procedure GRANT_ADMIN_PRIVILEGE del pacchetto DBMS_GOLDENGATE_AUTH.
Ad esempio, per creare un utente di amministrazione di Oracle GoldenGate, è necessario concedere il ruolo OGG_* appropriato all'utente durante la creazione dell'utente. Se si utilizzano ancora le procedure GRANT_ADMIN_PRIVILEGE del package DBMS_GOLDENGATE_AUTH in Oracle AI Database 26ai, non vengono concessi privilegi. Viene invece visualizzato un messaggio di avvertenza che avvisa che la chiamata di procedura è disabilitata.
Di seguito sono riportati i ruoli utente introdotti in Oracle GoldenGate 26ai.
OGG_CAPTURE
OGG_CAPTURE dispone dei privilegi necessari per l'utilizzo e la gestione dei processi Extract.
Per acquisire DML e DDL con Extract, un utente richiede le seguenti autorizzazioni:
GRANT CONNECT, RESOURCE to ggadmin CONTAINER = all;
GRANT OGG_CAPTURE to ggadmin CONTAINER = all;
Se il processo Extract è registrato nel contenitore radice, è necessario eseguire questa operazione aggiuntiva:
ALTER USER ggadmin SET CONTAINER_DATA = all CONTAINER = current;
OGG_APPLY
Ruolo con i privilegi necessari per utilizzare Replicat di Oracle GoldenGate.
Per utilizzare i processi Replicat, un utente ha bisogno di questo ruolo, nonché delle autorizzazioni per eseguire DML e DDL nella destinazione. Ad esempio, se un processo Replicat è destinato a eseguire operazioni DML sulla tabella EMPLOYEES dallo schema HR:
GRANT CONNECT, RESOURCE to ggadmin;
GRANT OGG_APPLY to ggadmin;
GRANT SELECT, INSERT, UPDATE, DELETE on HR.EMPLOYEES TO GGADMIN;
Se l'utente Replicat intende applicare operazioni DDL quali CREATE TABLE, DROP TABLE e ALTER TABLE, deve ricevere i privilegi di sistema necessari per eseguire tali istruzioni:
GRANT CREATE TABLE, ALTER TABLE, DROP TABLE to ggadmin;
OGG_APPLY_PROCREP
Ruolo con privilegi necessari per eseguire i package supportati per la replica procedurale con Oracle GoldenGate. Include solo le autorizzazioni di esecuzione, pertanto questo ruolo deve essere utilizzato insieme al ruolo OGG_APPLY per consentire all'utente di eseguire il processo Replicat e di eseguire le procedure nella destinazione.
Ad esempio, se un Replicat applicherà le esecuzioni delle procedure. La procedura di sovvenzione dovrebbe essere la seguente:
GRANT CONNECT, RESOURCE to ggadmin;
GRANT OGG_APPLY, OGG_APPLY_PROCREP to ggadmin;
Concedere privilegi utente per Oracle Database 21c e versioni successive
I privilegi utente necessari per la connessione a Oracle AI Database da Oracle GoldenGate dipendono dal tipo di utente.
I privilegi devono essere concessi a seconda delle azioni che l'utente deve eseguire come utente amministratore GoldenGate nei database di origine e di destinazione. Ad esempio, per concedere privilegi di operazione DML per inserire, aggiornare ed eliminare transazioni a un utente, utilizzare i privilegi GRANT ANY INSERT/UPDATE/DELETE e per consentire agli utenti di lavorare ulteriormente con tabelle e indici nell'ambito delle operazioni DML, utilizzare i privilegi GRANT CREATE/DROP/ALTER ANY TABLE/INDEX.
Se l'utente amministratore GoldenGate dispone del ruolo DBA, non sono necessari privilegi oggetto aggiuntivi. Tuttavia, potrebbero essere previsti vincoli di sicurezza per la concessione del ruolo DBA all'utente Amministrazione GoldenGate. Il ruolo DBA non è necessariamente necessario per Oracle GoldenGate.
Se vengono replicati molti oggetti, è possibile utilizzare il privilegio ANY per le operazioni DML e DDL. Ciò semplifica il provisioning dei privilegi agli utenti dell'amministratore GoldenGate, in quanto è necessario concedere solo alcuni privilegi a seconda delle operazioni del database.
Nella tabella seguente vengono descritti alcuni dei privilegi essenziali per l'utente amministratore GoldenGate per Oracle AI Database. A scopo esplicativo, nella tabella viene utilizzato c##ggadmin come esempio di utente comune per un container database multi-tenant e ggadmin come utente del pluggable database (PDB). PDBEAST e PDBWEST vengono utilizzati come esempi di nomi PDB.
Nella tabella riportata di seguito vengono descritti i privilegi essenziali per l'utente amministratore GoldenGate per l'utilizzo di Oracle GoldenGate con i database Oracle di origine e di destinazione.
| Privilegio | Extract | Replicat tutte le modalità | Scopo |
|---|---|---|---|
RESOURCE |
Sì | Sì | Obbligatorio per creare oggetti In Oracle Database 12cR1 e versioni successive, anziché |
CONNECT |
Sì | Sì | L'utente comune Vedere un esempio di Autorizzazioni concesse a un utente comune del database mutitenant Oracle. |
CREATE PROCEDURE |
Sì | Sì | Necessario per aggiungere le tabelle di heartbeat. |
CREATE SESSION |
Sì | Sì | Obbligatorio per connettersi al database. |
CREATE VIEW |
Sì | Sì | Obbligatorio per aggiungere la vista tabella heartbeat. Se si desidera essere specifici per ogni oggetto, è anche possibile fornire i privilegi per ogni oggetto singolarmente. È possibile considerare la possibilità di creare un ruolo database specifico per la gestione di tali privilegi. |
ALTER SYSTEM |
Sì | Sì | Eseguire le modifiche amministrative, ad esempio l'abilitazione della registrazione. |
ALTER USER |
Sì | Sì | Obbligatorio per l'architettura multi-tenant e GGADMIN deve essere uno schema di amministratore Oracle GoldenGate valido. |
EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE ('REPUSER', CONTAINER=>'PDBEAST'); |
Sì | Sì |
|
Concedere i privilegi DV_GOLDENGATE_ADMIN e DV_GOLDENGATE_REDO_ACCESS connessi come utente SYS all'utente Extract e Replicat. |
Sì | Sì | Acquisisci da Data Vault. Vedere Privilegi per l'acquisizione da Oracle Data Vault. |
Concedere i privilegi Replicat in DBMS_MACADM.ADD_AUTH_TO_REALM se si applica a un realm. |
Sì | Sì | Richiesto da Extract di caricamento iniziale per acquisire i dati dalla tabella di destinazione, Acquisisci da Data Vault. Vedere Privilegi per l'acquisizione da Oracle Data Vault. |
INSERT, UPDATE, DELETE nelle tabelle di destinazione |
ND | Sì | Applica DML replicato agli oggetti di destinazione. Vedere Dettagli del supporto per oggetti e operazioni in Oracle DML |
|
|
ND | Sì | Concedere questi privilegi all'utente Replicat, invece di concedere INSERT, UPDATE, DELETE a ogni tabella, se si replicano tutte le tabelle. |
Se viene eseguita la replica DDL, concedere quanto segue come proprietario di Database Vault: |
N. | N. | Acquisisci da Data Vault. Vedere Privilegi per l'acquisizione da Oracle Data Vault. |
| Privilegi DDL sugli oggetti di destinazione (se si utilizza il supporto DDL) | ND | Sì | Problema di DDL replicato sugli oggetti di destinazione. Vedere Dettagli del supporto per oggetti e operazioni in Oracle DDL. |
GRANT [CREATE\|ALTER\|DROP] ANY [TABLE\|INDEX\|VIEW\|PROCEDURE] to GGADMIN; |
Sì | Sì | Concede privilegi per la replica DDL per le tabelle. |
CREATE ANY TABLE |
Sì | Sì | Concede privilegi per la creazione della tabella in qualsiasi schema. Per consentire la creazione di tabelle solo in uno schema specifico, utilizzare il privilegio CREATE TABLE. |
CREATE ANY VIEW |
Sì | Sì | Concede privilegi per creare una vista in qualsiasi schema di database. Per consentire la creazione di viste in uno schema specifico, utilizzare il privilegio CREATE VIEW. |
|
|
Sì | Sì | Consenti a tutti i privilegi di funzionare correttamente sulle tabelle del dizionario. |
Esempio: autorizzazioni concesse per l'utente comune di Oracle AI Database
Privilegi concessi per l'utente comune di Oracle AI Database, ovvero c##ggadmin nell'esempio riportato di seguito.
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 questo esempio non viene fornito il privilegio DBA. Se mancano i privilegi, il DBA deve concedere anche i privilegi necessari.
I privilegi concessi per l'utente PDB ggadmin vengono forniti nell'esempio riportato di seguito.
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');
Nota: la concessione del ruolo DBA non è obbligatoria per ogni utente. I privilegi devono essere concessi in base alle azioni che l'utente deve eseguire sul database. Ad esempio, per concedere i privilegi delle operazioni DML per inserire, aggiornare ed eliminare le transazioni a ggadmin, utilizzare i privilegi GRANT ANY INSERT/UPDATE/DELETE. Per consentire agli utenti di utilizzare ulteriormente tabelle e indici come parte delle operazioni DML, utilizzare i privilegi GRANT CREATE/DROP/ALTER ANY TABLE/INDEX.
Esempio: concedere privilegi utilizzando il package DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE
Questa procedura concede i privilegi necessari a un utente per essere un amministratore di Oracle GoldenGate. L'esempio riportato di seguito concede privilegi espliciti per Extract sul database multi-tenant Oracle.
BEGIN
DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE
(GRANTEE => 'c##ggadmin'
,PRIVILEGE_TYPE => 'CAPTURE'
,GRANT_SELECT_PRIVILEGES => TRUE
,DO_GRANTS => TRUE
,CONTAINER => 'ALL');
END;
Per ulteriori informazioni, vedere DBMS_GOLDENGATE_AUTH in Oracle AI Database PL/SQL Packages and Types Reference.
Privilegi per l'acquisizione da Oracle Data Vault
Concedere i privilegi seguenti connessi come utente SYS in Oracle AI Database. Questi privilegi sono impostati per le credenziali utente Extract e Replicat:
-
EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE ('*userID*','*',
GRANT_OPTIONAL_PRIVILEGES=>'*');
GRANT DV_GOLDENGATE_ADMIN, DV_GOLDENGATE_REDO_ACCESS to *userID*;
-
Concedere Replicat ai privilegi in
DBMS_MACADM.ADD_AUTH_TO_REALMse si applica a un realm.Connettersi come proprietario di Database Vault ed eseguire gli script riportati di seguito.
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'); -
Per la replica DDL, concedere quanto segue come proprietario di Database Vault:
EXECUTE DBMS_MACADM.AUTHORIZE_DDL ('*userID*', '*SCHEMA FOR DDL*');