2024年5月11日发(作者:)

oracle ORA-02020 因dblink使用过多错误

写了一个过程,循环插入数据,报错:ORA-02020 too many database links in use

declare

is_sql Varchar2(4000) ;

t number;

begin

for t in 432 .. 439 loop

is_sql := 'insert into CA_A_M_CHARGE_DTL

select *

from jl__A_M_CHARGE_DTL@localnet'||t||'

where acct_month = ''201204'' ';

Execute Immediate is_sql;

end loop;

end;

查看参数

SQL> show parameter open_links;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

open_links integer 4

open_links_per_instance integer 4

修改两个参数:open_links,open_links_per_instance

alter system set open_links=9 scope=spfile;

alter system set open_links_per_instance=9 scope=spfile;

重启数据库,设置完成。

open_links oracle的官方解释是每个session最多允许的dblink

量;open_links_per_instance这个参数是指每个实例最多允许的dblink个数。