If a user deletes/updates records can log miner help retrieve/reverse this. If I have never run the log miner packages etc, could I execute them after the user does this and still be able to retrieve the lost rows?
Also what happens if these were performed via a package?
log_miner works on Redo Logs or Archived Logs.
It stores SQLs for all the DMLs as well as SQLs for UNDO of those SQLs.
So yes, you should be able to run it on any log (and any time as long as you have the log) and get the SQL and then run that SQL to undo the changes.
I do wish though that log_miner will one day be capable enough to undo DDLs (drop table etc.) but I think that is a much more complicated issue so for the time being we have to live by point-in-time recovery.
Thanks, yeah I also wish that DDL was catered for (esp since I had to do a painful recovery in my early times and very limited experience due to this). I was just trying to figure out if I did not have these created before the user does this, can I then create it? If the session that deleted it is still open and then I decide to create the dictionary for logminer and use it then to undelete"???
ALso if it is part of a package is it usable?
Are there any disadvantages to using this package?
Log_miner is independant of user session; It's just a tool to read the Binary Log file in a Text format.
As long as your Rego log file has not been written by new data (log switch), you should be able to get the required info. If you are in Archive Log mode then you can always run it on the archive log, you suspect, contains this information (you may have to do a little digging)
You will need DBMS_LOGMNR package to use the log_miner feature.