Skip to main content

SQLException: ORA-02020: too many database links in use.



You can limit the number of connections from a user process to remote databases using the static initialization parameter OPEN_LINKS. This parameter controls the number of remote connections that a single user session can use concurrently in distributed transactions.

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

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

To Increase the Database Links limit.  Follow the below.

SQL> select name from v$database;

NAME
---------------------------
ORCL


SQL> show parameter open_links;

NAME                                 TYPE                                         value
------------------------------------ --------------------------------- ------------------------------
open_links                           integer                                         4  


Default Value is > 4

Here have changed from 4 To 60.

SQL> ALTER SYSTEM SET OPEN_LINKS=60 SCOPE=SPFILE;

System altered.

NOTE: Parameter 'OPEN_LINKS' its static parameter. Hence database bounce is required, once change is made. Then only the new value will be effected.

SQL> select name from v$database;

NAME
---------------------------
ORCL

SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.

Total System Global Area 1073741824 bytes
Fixed Size                  2101808 bytes
Variable Size             377490896 bytes
Database Buffers          687865856 bytes
Redo Buffers                6283264 bytes
Database mounted.
Database opened.

SQL> show parameter open_links;

NAME                                 TYPE                                         value
------------------------------------ --------------------------------- ------------------------------
open_links                           integer                                         60


Thank You!

Comments

Popular posts from this blog

ORA-28007: THE PASSWORD CANNOT NE REUSED

             - Here will see how to deal with  => ORA-28007: the password cannot be reused -  I got a request from client user, stating his account has been locked. When I check the status of the account I found the below. connect to SYS user & execute the below query of that database. SQL> select password,username,account_status,profile from dba_users where username='TEST'; PASSWORD               USERNAME   ACCOUNT_STATUS                 PROFILE ------------------             ----------------  -------------------------------           -------------------- AB2Aa8AC9971521e3     TEST       EXPIRED(GRACE)&LOCKED    NONAPP_USERS So, then I have unlocked the account and checked the same again & I found the below results. ...

ORA-39014: One or more workers have prematurely exited.ORA-00018: maximum number of sessions exceeded

ERROR: I was Performing a full database import and during the import I faced the below error. ORA-39014: One or more workers have prematurely exited. ORA-39029: worker 6 with process name "DW07" prematurely terminated ORA-31672: Worker process DW07 died unexpectedly. Job "SYSTEM"."SYS_IMPORT_FULL_04" stopped due to fatal error at 00:59:40 ORA-39014: One or more workers have prematurely exited. SOLUTION:  Run the import with fewer parallel processes, like PARALLEL=2 instead of 8. I was able to run the import successfully. NOTE 1: This errors occurs when there are less session allocation in the database. check the session,process parameters and increase them accordingly. To avoid such errors again. NOTE 2 : Note: Increasing processes parameter increases the amount of shared memory that needs to be reserved & the OS must be configured to support the larger amount of shared memory. So here we first need to increase the Memory & SG...