DDL -Anweisung in Oracle rückgängig machen
Frage
Ich möchte DDL -Veränderungen rückgängig machen, wie geht es das?
Ich habe den Parameter UTL_FILE_DIR nicht festgelegt und kann die Datenbank nicht neu starten, um sie festzulegen. Log Miner kann also nicht ja verwendet werden? Es benötigt diesen Parameter ... wenn es eine Chance gibt, LogMiner zu verwenden, ohne diesen Parameter festzulegen (ohne Datenbank neu zu starten)?
Warten Sie Vorschläge, danke
Lösung
Abhängig von der Version von Oracle und ob Sie über die entsprechenden Berechtigungen verfügen (Rückblende einer Tabelle) und wenn die Änderung relativ neu war, war
SELECT text
FROM dba_views AS OF TIMESTAMP( systimestamp - interval '1' hour )
WHERE owner = <<owner of view>>
AND view_name = <<name of view>>
Sie geben Ihnen den Text der Ansichtsdefinition vor einer Stunde. Sie können die Rückblendenzeit offensichtlich kurz vor der DDL, die Sie rückgängig machen möchten, an einen Zeitstempel anpassen.
Andere Tipps
Hier ist meine Antwort:
BEGIN
DBMS_LOGMNR.ADD_LOGFILE( logfilename=> '/u2/oradata/ORCL/arch/1_2256_654825874.dbf',
options=> dbms_logmnr.NEW);
END;
-------------------------------------------------------------------
BEGIN
DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG + DBMS_LOGMNR.COMMITTED_DATA_ONLY + DBMS_LOGMNR.PRINT_PRETTY_SQL);
END;
-------------------------------------------------------------------
SELECT *
FROM v$logmnr_contents a
WHERE seg_name LIKE '%V_NAME%'
-------------------------------------------------------------------
BEGIN
DBMS_LOGMNR.END_LOGMNR;
END;
Dies verwendet den Parameter UTL_FILE_DIR nicht. (glücklich)
Wenn Sie in der DDL -Anweisung, in der die Ansicht erstellt wurde, oder eine Entwicklungs- oder Produktionsdatenbank, die die Datenbank mit dem Problem widerspiegelt, keine Quellensteuerung haben, haben Sie nicht viele Optionen. Der LogMiner kann mit einer Wörterbuchdatei, einer Wiederholung von Protokollen oder dem Online -Wörterbuch begonnen werden.
Haben Sie den Logminer gestartet, bevor die ursprüngliche Ansicht erstellt wurde?
Versuchen Sie es mit Auswählen * aus v $ logMnr_Contents;
um zu sehen, ob es lief