资讯详情

Oracle DBLink连接数过多的问题(Ora-02020)

不久前,开发人员编译了存储时报ORA-02020错了,以下是解决方案的步骤.

报错全信息:

Error:ORA-04052在查:找远程对象 NIP.PB_PERADDRESSLIST@DB_NIP 时出错

ORA-00604: 递归SQL级别1出现错误

ORA-02020: 使用过多的数据库链接

查看相关信息link的参数

SQL> show parameteropen_links

NAME TYPE VALUE

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

open_links integer 4

open_links_per_instance integer 4

SQL>

参数解释:

***open_links :每个session最多允许的dblink数量;

***open_links_per_instance:指每个实例最多允许的dblink个数

允许使用扩展dblink 量;

SQL> alter system set open_links=50 scope=spfile;

System altered

SQL> alter system set open_links_per_instance=50 scope=spfile;

System altered

SQL> show parameteropen_links

NAME TYPE VALUE

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

open_linksinteger4

open_links_per_instance integer 4

SQL>

重启后生效...

SQL> shutdown immediate

数据库已经关闭。

数据库已卸载。

ORACLE 例程已关闭。

SQL>

SQL> startup

ORACLE 例程已经开始。

Total System Global Area 293601280 bytes

Fixed Size 1248600 bytes

Variable Size 96469672 bytes

Database Buffers 188743680 bytes

Redo Buffers 7139328 bytes

数据库装载完毕。

数据库已经打开。

SQL>

参数检查:

SQL>showparameteropen_links

NAMETYPEVALUE

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

open_linksinteger50

open_links_per_instanceinteger50

SQL>

在编译就OK咧.

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

How to view open dblink connections (Doc ID 387848.1)

GOAL

To find out the number of database links opened.

SOLUTION

OPEN_LINKS

Default: 4 Range: 0 to 255

Specifies the maximum number of concurrent open connections to remote databases in one session.

These connections include database links plus external procedures and cartridges each of whichuses a separate process.

The following view shows the database link connections that are currently open in your current session:

V$DBLINK - Lists all open database links in your session, that is, all database links with the IN_TRANSACTION column set to YES.

NOTE: It is important to state that thesection above"Lists all oen database links in your session" is important, as this is only YOUR open dblinks that can be seen.

For example, you can create and execute the script below to determine which links are open (sample output included):

COL DB_LINK FORMAT A25

COL OWNER_ID FORMAT 99999 HEADING "OWNID"

COL LOGGED_ON FORMAT A5 HEADING "LOGON"

COL HETEROGENEOUS FORMAT A5 HEADING "HETER"

COL PROTOCOL FORMAT A8

COL OPEN_CURSORS FORMAT 999 HEADING "OPN_CUR"

COL IN_TRANSACTION FORMAT A3 HEADING "TXN"

COL UPDATE_SENT FORMAT A6 HEADING "UPDATE"

COL COMMIT_POINT_STRENGTH FORMAT 99999 HEADING "C_P_S"

SELECT * FROM V$DBLINK

/

SQL> @dblink

DB_LINK OWNID LOGON HETER PROTOCOL OPN_CUR TXN UPDATE C_P_S

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

INST2.ACME.COM 0 YES YES UNKN 0 YES YES 255

Note that above displays ONLY details about database links open in the session within which you are working.

If looking for details about database links open by different sessions, might use below:

sqlplus /nolog

connect / as sysdba

select username, osuser, status, sid, serial#, machine,

process, terminal, program from v$session

where saddr in (select k2gtdses from sys.x$k2gte );

USERNAME OSUSER STATUS

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

SID SERIAL#

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

MACHINE

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

PROCESS TERMINAL

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

PROGRAM

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

SCOTT bugmnt INACTIVE

68 11

celclnx1.us.oracle.com

29318 pts/15

sqlplus@celclnx1.us.oracle.com (TNS V1-V3)

REPADMIN bugmnt INACTIVE

232 5

celclnx1.us.oracle.com

28081 pts/14

sqlplus@celclnx1.us.oracle.com (TNS V1-V3)

SQL>

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

SQL> alter system set open_links=255 scope=spfile;

alter system set open_links=255 scope=spfile

*

ERROR at line 1:

ORA-32001: write to SPFILE requested but no SPFILE specified at startup

SQL> alter system set open_links=255 scope=both;

alter system set open_links=255 scope=both

*

ERROR at line 1:

ORA-02095: specified initialization parameter cannot be modified

SQL> alter system set open_links_per_instance=255 scope=spfile;

alter system set open_links_per_instance=255 scope=spfile

*

ERROR at line 1:

ORA-32001: write to SPFILE requested but no SPFILE specified at startup

SQL> alter system set open_links_per_instance=255 scope=both;

alter system set open_links_per_instance=255 scope=both

*

ERROR at line 1:

ORA-02095: specified initialization parameter cannot be modified

《oracle每日一练》Oracle DBLink连接数过多的问题(Ora-02020)

本文转自Oracle DBLink连接数过多的问题(Ora-02020) 今天在处理资料同步问题,需要将其它几个DB Server的资料同步到一个目地资料库,采用的方式是:DBLink+Job ,然而 ...

Oracle连接数过多释放机制

Oracle连接数过多释放机制  sqlplus /nolog   打开sqlplus          connect /as sysdba    使用具有dba权限得用户登陆oracle      ...

Oracle session连接数和inactive的问题记录

Oracle session连接数和inactive的问题记录 http://timnity.javaeye.com/blog/280383 从上周起,服务器Oracle数据库出现问题,用不到半天,就 ...

oracle默认连接数150

当oracle连接数超过最大的150登录不上 sqlplus / as sysdba   ###报错,提示连接数未释放! ---释放网络连接数 ps -ef |grep ora |grep &quot ...

修改DB-LINK连接数方法

原因分析有可能是DB-LINK连接数的限制,请做如下修改验证: 以oracle用户登录数据库节点. 连接数据库. $ sqlplus "/as sysdba"修改DataBase ...

修改Oracle最大连接数

1.修改Oracle最大连接数的方法 http://my.oschina.net/shootercn/blog/11193 a.以sysdba身份登陆PL/SQL 或者 Worksheet sqlpl ...

oracle dblink 查询 tns:无法解析指定的连接标识符

问题情景是这样的:我在数据库服务器(windows server 2008r2 ,64bit)oracle(11gr2,64bit)中通过dblink连接到另外一台服务器(hp-ux)的oracle( ...

Oracle查看及修改Oracle最大连接数

Oracle查看及修改Oracle最大连接数 .查询oracle的最大连接数: select * from v$parameter where name='processes'; .oracle 11 ...

oracle 错误码查看命令oerr ora及常用错误码总结--不断更新

oracle 错误码查看命令oerr ora及常用错误码总结--不断更新 1.ORA-00907: 缺失右括号 我自己的问题出在 字段的default 和 not null 顺序反了,defalut ...

随机推荐

C# salt+hash 加密

一.先明确几个基本概念 1.伪随机数:pseudo-random number generators ,简称为:PRNGs,是计算机利用一定的算法来产生的.伪随机数并不是假随机 数,这里的" ...

mongodb转换List实体(去掉多余的字段) 批量添加

Gson gson = new Gson(); String str = "list集合json字符串"; JsonObject object = gson.fromJson(st ...

UML图示与代码对照

本文转载:http://www.cnblogs.com/iamlilinfeng/archive/2012/08/29/2662740.html 一.类继承 1 public class Father ...

java区分大小写,使用TAB进行缩进,public类名只能有一个,而且文件名与类名保持一致.

java的类必须大写 java区分大小写,使用TAB进行缩进,public类名只能有一个,而且文件名与类名保持一致. 在dos用上下箭头,调用已用过的命令

从 setNeedsLayout 说起

本文从 setNeedsLayout 这个方法说起,分享与其相关的 UIKit 视图交互.使用场景等内容. UIKit 为 UIView 提供了这些方法来进行视图的更新与重绘: public func ...

JavaScript如何获得Select下拉框选中的值

js代码: var mySelect = document.getElementById("resultList2"); var mySelectText = mySelect.o ...

GDI+ 图片转存

摘自MSDN,其中 GetEncoderClsid 第一个参数可为 L"image/bmp" L"image/jpeg" L"image/gif&qu ...

samba、ftp和ssh服务

samba服务 Smb主要作为网络通信协议; Smb是基于cs架构: 完成Linux与windows之间的共享:linux与linux之间共享用NFS 第一步:安装samba [root@ken ~] ...

docker 命令2

docker build -t dvm.adsplatformproxy:v1.0.0 . #build images docker run -e WWNamespace=dev -e ZKServe ...

代码版本控制[version control]之Git

如何多人协同开发同一个项目? 使用代码版本控制[version control]软件, 目前市面上比较流行的代码版本控制器有: git,svn,csv 1. 使用git管理代码版本 本项目使用git管 ...

标签: 连接器pb291

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司