Oracle ora-02020 视图中dblink使用个数问题
声明:本操作是在linux环境下进行的
有个视图,里面已经有4个dblink了,但是由于业务需要,还需要再加几个,在加到第五个的时候,系统忽然抛出一个错误:ora-02020:过多的数据库连接在使用中。通过查阅资料,得出的结论是在oracle的系统参数中,OPEN_LINKS和open_links_per_instanse两个参数设置问题,系统默认为4,并没有对这个参数修改
操作如下:
1)切换到oracle用户
su - oracle
2) 登录用户(注:如果用sys或者sysdba登录下面的查询语句会报错)
conn sys/as sysdba
3)show parameter spfile;
看到下面有文件,说明oracle用的的是spfile。
4)备份SPFILE,放置设置有问题需要倒回
create pfile=’/opt/oracle/spfile2011***.ora’ from spfile;
5)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
6)修改两个参数:open_links,open_links_per_instance
alter system set open_links=10 scope=spfile;
alter system set open_links_per_instance=10 scope=spfile;
6)重启数据库,设置完成。
6.1)shutdown immediate (如果卡死就用下面语句,如果没有卡死直接执行6.2)
6.1.1)shutdown abort
6.1.2)exit
6.1.3)su - root
6.1.4)ps -ef|grep tns
6.1.5)kill -9 杀死tns进程
6.2)重新登录oracle用户,启动数据库
open_links oracle的官方解释是每个session最多允许的dblink数量,open_links_per_instance这个参数是指每个实例最多允许的dblink个数。至于其他的区别,在看了英文的解释以后,还是不大明白。希望又看到了,懂得这些的兄弟姐妹能够给补充一下。