A new error message was found recently when monitoring the system log, which is strange, not before. As follows:
ORA-24777: The use of non-portable database links is not allowed.
The tracker went in. It was discovered that a remote library table was queried through Dblink, and because of the use of an XA distributed transaction database connection. We may all know that XA has a lot of restrictions, have encountered before, have gone around. But recently there has been no adjustment of the program has not changed the configuration of the Dblink, what is going on? Only online search, results have been met, said Oracle Dblink changed to shared on the line. Personally, I think this is a reliable statement. So now the test system to try a bit, sure enough effective.
Why didn't you have this problem before? Ask the application service maintainer and DBA for a moment and the application server administrator will reply without changing any settings. By the time the DBA was consulted by an external Oracle expert, a reply was made to an Oracle bug that currently exists on Oracle 11.2.0.4 (the remote data server we visited recently migrated with the Oracle iteration number upgraded. After the upgrade is just 11.2.0.4), and our access to the object is 11.2.0.4 Dblink, so, just stepped on the Thunder. The other side offers two solutions:
1. Set the Oracle server mode to shared server;
2. Set the Dblink connection to shared mode.
Obviously the first one is not easy to choose, the impact is too large, there may be other problems, the second low cost, the system itself has little impact. Therefore, option two was chosen.
Of course, the follow-up can find a time to upgrade Oracle, the patch can also be hit.
An Oracle bug found using Dblink in XA