Ho un problema nel creare attività addm su un database remoto.Oracle PL/SQL. DBMS_UTILITY.EXEC_DDL_STATEMENT e DBMS_ADVISOR.create_task
BEGIN
[email protected](
'
begin
DBMS_ADVISOR.create_task (
advisor_name => ''ADDM'',
TASK_NAME => ''15991_16109_AWR_SNAPSHOT_T1'',
TASK_DESC => ''Advisor for snapshots 15991 to 16109.'');
end;
'
);
END;
esecuzione anche a livello locale sul database di destinazione non porta al risultato.
BEGIN
DBMS_UTILITY.EXEC_DDL_STATEMENT(
'
begin
DBMS_ADVISOR.create_task (
advisor_name => ''ADDM'',
TASK_NAME => ''15991_16109_AWR_SNAPSHOT_T1'',
TASK_DESC => ''Advisor for snapshots 15991 to 16109.'');
end;
'
);
END;
Ma esecuzione localmente sul database di destinazione senza DBMS_UTILITY.EXEC_DDL_STATEMENT e correggere le citazioni funziona:
begin
DBMS_ADVISOR.create_task (
advisor_name => 'ADDM',
TASK_NAME => '15991_16109_AWR_SNAPSHOT_T1',
TASK_DESC => 'Advisor for snapshots 15991 to 16109.');
end;
non v'è alcun problema con il collegamento, dblinks, borse di studio degli utenti ecc ... Il problema con DBMS_UTILITY. EXEC_DDL_STATEMENT. Le virgolette sembrano essere corrette, ho controllato usando DBMS_OUTPUT.PUT_LINE.
Qualche idea? Grazie.
Perché non si sta chiamando DBMS_ADVISOR nel database remoto? – Ben
Ho bisogno di raccogliere report da un gran numero di basi in un database di monitoraggio. Creare un report. Creazione di una vista temporanea nel database remoto. Obtainig da remoto visualizza un report e lo salva nel database di monitoraggio. Elimina la vista temporanea. Base remota non dovrebbe contenere codice eseguibile, solo un utente con sovvenzioni. Allo stesso modo, ottengo l'AWR, e ASH riporta un modo leggermente diverso attraverso le informazioni dbink sull'hardware, il sistema operativo, il database ... e funziona perfettamente. –