oracle ora-02020 存储过程中dblink使用个数问题
2011-01-25 10:18
351 查看
今天晚上加班,有个存储过程,里面已经有4个dblink了,但是由于业务需要,还需要再加几个,在加到第五个的时候,系统忽然抛出一个错误:ora-02020 too many database links in use。咨询oracle工程师,得出的结论是在oracle的系统参数中,OPEN_LINKS和open_links_per_instanse两个参数设置问题,系统默认为4,并没有对这个参数修改。
操作:
1)用sys登录,
2)show parameter spfile;
看到下面有文件,说明oracle用的的是spfile。
3) 备份SPFILE,放置设置有问题需要倒回
create pfile='/opt/oracle/spfile2011***.ora' from spfile;
4)show parameter open
SQL> show parameter open
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 300
open_links integer 4
open_links_per_instance integer 4
read_only_open_delayed boolean FALSE
session_max_open_files integer 10
5)修改两个参数:open_links,open_links_per_instance
alter system set open_links=50 scope=spfile
alter system set open_links_per_instance=50 scope=spfile
6)重启数据库,设置完成。
原来以为open_links这个参数是指整个数据库允许用多少个dblink,open_links_per_instance这个参数是指每个实例最多允许的dblink个数。后来查资料才发现第一个参数的意思理解错了,open_links oracle的官方解释是每个session最多允许的dblink数量。至于其他的区别,在看了英文的解释以后,还是不大明白。希望又看到了,懂得这些的兄弟姐妹能够给补充一下。哈哈
操作:
1)用sys登录,
2)show parameter spfile;
看到下面有文件,说明oracle用的的是spfile。
3) 备份SPFILE,放置设置有问题需要倒回
create pfile='/opt/oracle/spfile2011***.ora' from spfile;
4)show parameter open
SQL> show parameter open
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 300
open_links integer 4
open_links_per_instance integer 4
read_only_open_delayed boolean FALSE
session_max_open_files integer 10
5)修改两个参数:open_links,open_links_per_instance
alter system set open_links=50 scope=spfile
alter system set open_links_per_instance=50 scope=spfile
6)重启数据库,设置完成。
原来以为open_links这个参数是指整个数据库允许用多少个dblink,open_links_per_instance这个参数是指每个实例最多允许的dblink个数。后来查资料才发现第一个参数的意思理解错了,open_links oracle的官方解释是每个session最多允许的dblink数量。至于其他的区别,在看了英文的解释以后,还是不大明白。希望又看到了,懂得这些的兄弟姐妹能够给补充一下。哈哈
相关文章推荐
- 《oracle每日一练》Oracle DBLink连接数过多的问题(Ora-02020)
- Oracle DBLink连接数过多的问题(Ora-02020)
- Oracle DBLink连接数过多的问题(Ora-02020)
- 【Oracle】存储过程打印问题—— ORA-20000:ORU-10027:buffer overflow,limit of 2000 bytes.
- 在Oracle的存储过程中使用dblink调用远程存储过程备忘
- oracle 存储过程及REF CURSOR的使用
- oracle编译存储过程提示表或视图不存在的问题分析
- oracle 存储过程中使用事务管理
- Oracle与MySQL存储过程以及游标使用的区别
- 解决oracle dblink中无法使用从远程表选择的lob定位器的问题
- Oracle中 关于数据库存储过程和存储函数的使用
- 使用oracle 的 PL/Sql 定时执行一个存储过程
- 折腾Oracle问题小菜记[分页存储过程/查询所有表、视图、存储过程/查询表、视图、存储过程字段结构与参数](三)
- 如何在Oracle中使用Java存储过程 (详解)
- ASP在使用SQL SERVER存储过程中的问题
- oracle存储过程中游标的使用
- oracle 存储过程中date类型变量声明中to_date赋值丢失时分秒问题
- oracle 存储过程给另一个用户的权限问题
- oracle 存储过程(其中使用了游标)例子
- 这周一个ORACLE问题的解决过程(ORA-12560:TNS:协议适配器错误! )