热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Oracleora-02020存储过程中dblink使用个数问题

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

有个存储过程,里面已经有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数量。至于其他的区别,在看了英文的解释以后,还是不大明白。希望又看到了,懂得这些的兄弟姐妹能够给补充一下。


推荐阅读
author-avatar
AYAKASHIZ
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有