Linee guida aggiuntive SQLEXEC
Osservare le seguenti linee guida SQLEXEC:
-
È possibile eseguire fino a 20 stored procedure o query per ogni voce
TABLEoMAP. Eseguono nell'ordine indicato nell'istruzione dei parametri. -
Il login al database da parte dell'utente Oracle GoldenGate deve precedere la clausola
SQLEXEC. Utilizzare i parametriSOURCEDBeUSERIDALIASnel file dei parametri Extract o i parametriTARGETDBeUSERIDALIASnel file dei parametri Replicat, in base alle esigenze per il tipo di database e il metodo di autenticazione configurato. -
L'istruzione SQL viene eseguita dall'utente di Oracle GoldenGate. Questo utente deve disporre del privilegio per eseguire le stored procedure e chiamare le procedure fornite da RDBM.
-
Le operazioni del database all'interno di una stored procedure o query vengono sottoposte a commit nello stesso contesto della transazione originale.
-
Non utilizzare
SQLEXECper aggiornare il valore di una colonna chiave primaria. Se si utilizzaSQLEXECper aggiornare il valore di una colonna chiave, il processo Replicat non sarà in grado di eseguire un'operazione di aggiornamento o eliminazione successiva, poiché il valore della chiave originale non sarà disponibile. Se è necessario modificare un valore chiave, è possibile mappare il valore chiave originale a un'altra colonna e quindi specificare tale colonna con l'opzioneKEYCOLSdel parametroTABLEoMAP. -
Per Db2, Oracle GoldenGate utilizza la funzione ODBC
SQLExecDirectper eseguire un'istruzione SQL in modo dinamico. Ciò significa che il database server connesso deve essere in grado di preparare l'istruzione in modo dinamico. ODBC prepara l'istruzione SQL ogni volta che viene eseguita (all'intervallo richiesto). In genere, questo non rappresenta un problema per gli utenti di Oracle GoldenGate. Per ulteriori informazioni, consultare la documentazione di IBM Db2. -
Tutti i nomi oggetto in un'istruzione
SQLEXECdevono essere completamente qualificati con i rispettivi nomi a due o tre parti, come appropriato per il database. -
Tutti gli oggetti interessati da una stored procedure o query
SQLEXECdevono esistere con le strutture corrette prima dell'esecuzione dell'istruzione SQL. Di conseguenza, DDL su questi oggetti che influisce sulla struttura (ad esempioCREATEoALTER) deve essere eseguito prima dell'esecuzione diSQLEXEC. -
Tutti gli oggetti interessati da un'istruzione
SQLEXECstandalone devono esistere prima dell'avvio dei processi di Oracle GoldenGate. Per questo motivo, il supporto DDL deve essere disabilitato per tali oggetti; altrimenti, le operazioni DDL potrebbero modificare la struttura o eliminare l'oggetto prima che la procedura o la querySQLEXECvenga eseguita su di esso.