Wednesday, December 21, 2011

ORA-02020: too many database links in use

Each session in your database has a limited number of database links that can be opened at the same time.If you access a database link in a session, then the link remains open until you close the session.

Cause for ora-02020: The current session has exceeded the INIT parameter 'open_links' maximum.

Action: Increase the open_links limit, or free up some open links by committing or rolling back the transaction and canceling open cursors that reference remote databases.

OPEN_LINKS cannot be modified in real-time, so you will have to change it in the spfile or pfile and bounce the database.

SQL> show parameter open_links

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_links integer 4
open_links_per_instance integer 4

SQL>alter system set open_links=10 scope=spdile;

Then bounce the database

NOTE:You can also try to close the dblink if possible

SQL>ALTER SESSION CLOSE DATABASE LINK linkname;

If you are not sure how many database links are opened up concurrently by your session's database application, you can query v$dblink.

SQL> select in_transaction, count(*) from v$dblink group by in_transaction;

IN_ COUNT(*)
--- ----------
YES 1

No comments:

Post a Comment