APEX and Oracle are closely intertwined. For this reason, the APEX also returns Oracle errors. Today I want to tell you how to solve the ORA-20987.
Error message
Ajax call got server error ORA-20987: APEX – session state protection violation: This error was probably caused because the URL containing a checksum was changed. A link with an incorrect or missing checksum may also have been used. If you do not know what caused this error, contact the application administrator.
Solution
One of the elements (e.g. a checkbox accesses a table outside). Simply switch the session state protection of the affected item (under Security >> Session State Protection) to “Unrestricted”.
The “Session State Protection” field is usually pre-filled with the value “Checksum Required”. You have to change this to “unrestricted” in the selection list. The page must then be saved and reloaded. You may also need to clear cookies for the change to work.
Apex for Dummies and Apex at a glance
APEX is actually quite logical and has many advantages. It integrates quickly and easily Evaluations up to complete self-contained applications are possible. Apex is similar to MySQL frontend. If you want to learn more about APEX, I recommend getting one of the books below. There you will not only find many theoretical basics, which you need for the APEX development, but also practical examples. And these best practice examples often show you unknown possibilities. Plugins and settings that you neither knew nor used before. And trust me: These are not only incredibly useful, but also incredibly powerful.
If you already have APEX experience, I still recommend the books. APEX is so extensive that you may have experience with reports or design – but not with security or authorization schemes. So there is still enough new stuff for you to learn. You can also find many other Apex-related topics on this blog on the Apex overview page.