When trying to use Schema compare for Oracle, the following message appeared and comparison failed with no detailed information...
"The given key was not present in the dictionary"
There is not much detail on the issue , but to work around this, carefully watch the progress as the comparison is running..
Then look at the options for your project, there may be a switch to ignore the item it was last doing before it fell over.
Try this or a similar /related option, or just try a few to see if it works and narrow it down.
I found on this occasion, the 'Ignore permission' option allowed me to continue, but i would love to know which object was causing this error.
You may have similar issues on other comparison groups. Hopefully this technique will help provide a workaround if a cure is not possible.
For further information, you may want to try enabling verbose logging see this link on instructions....
http://documentation.red-gate.com/display/SCO3/Logging+and+log+files
If you ever get this message.....
Error 998 , Failed to retrieve error message from print engine.
We found this whilst doing a crystal report that was running against an oracle database.
The cause was that a VIEW had been created for use with the report. Whilst designing the report, the queries worked, when running the report, it was being called by a different database user which didn't have permission for the report.
This was solved by granting the permission to access the table within oracle.
Hope that helps
How to detect and kill long running processes in Oracle
To get a list of long running processes/sessions:
SELECT sid,opname,sofar,totalwork,units,elapsed_seconds,time_remaining
FROM v$session_longops
--WHERE sofar != totalwork;
orderby ELAPSED_SECONDS DESC
To view all sessions:
select *
from v$session s
orderbysid;
To kill a session:
ALTER SYSTEM KILL SESSION 'sid,serial#';
(where sid and serial no are taken from the data shown in the script above.