a collection of technical fixes and other randon stuff

Spodworld

  • Join Us on Facebook!
  • Follow Us on Twitter!
  • LinkedIn
  • Subcribe to Our RSS Feed

Schema Compare for Oracle error: "The given key was not present in the dictionary"

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

 

Error 998 , Failed to retrieve error message from print engine

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 stop long running processes in Oracle

 

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
order
bysid;

 

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.