oracle ora 02020,ORA-02020 too many database links in use再现
ORA-02020 too many database links in use重现
在A库上建DB_link,更新B库。报ORA-2020 too many database links in use,是要设置OPEN_LINKS和OPEN_LINKS_PER_INSTANCE两个参数,它们的默认值都是4。
alter system set open_links=200 scope=both;
alter system set open_links_per_instance=200 scope=both;
问题来了,是修改A库中的参数还是B库,是修改A库的。
修改这类参数数据库要重启。
ORA-02020: too many database links in use
Cause: The current session has exceeded the INIT.ORA open_links maximum.
Action: Increase the open_links limit, or free up some open links by committing or rolling back the transaction and canceling open cursors that reference remote databases.
OPEN_LINKS specifies the maximum number of concurrent open connections to remote databases in one session.
OPEN_LINKS_PER_INSTANCE specifies the maximum number of migratable open connections globally for each database instance.
OPEN_LINKS_PER_INSTANCE is different from OPEN_LINKS, which indicates the number of connections from a session. The OPEN_LINKS parameter is not applicable to XA applications.
OPEN_LINKS_PER_INSTANCE跟OPEN_LINKS的区别是,前者是对于XA事务的。
做个试验重现一下:
在A库上:
SQL> show parameter open_link
NAME TYPE VALUE
----------------------------- ----------- --------
open_links integer 4
open_links_per_instance integer 4
create database link DBLINK_1
connect to TEST IDENTIFIED BY test
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.15.150)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)';
--按照同种方式建5个dblink
SQL> set serveroutput on
SQL> declare
2 v_i number;
3 v_sql varchar(500);
4 begin
5 for i in 1..5
6 loop
7 v_sql:='select count(*) from dual@DBLINK_'||i;
8 execute immediate v_sql into v_i;
9 dbms_output.put_line('DBLINK_'||i);
10 commit;
11 end loop;
12 end;
13 /
DBLINK_1
DBLINK_2
DBLINK_3
DBLINK_4
DBLINK_5
PL/SQL procedure successfully completed
SQL>
SQL> declare
2 v_i number;
3 v_sql varchar(500);
4 begin
5 for i in 1..5
6 loop
7 v_sql:='select count(*) from dual@DBLINK_'||i;
8 execute immediate v_sql into v_i;
9 dbms_output.put_line('DBLINK_'||i);
10 --commit;
11 end loop;
12 end;
13 /
DBLINK_1
DBLINK_2
DBLINK_3
DBLINK_4
declare
v_i number;
v_sql varchar(500);
begin
for i in 1..5
loop
v_sql:='select count(*) from dual@DBLINK_'||i;
execute immediate v_sql into v_i;
dbms_output.put_line('DBLINK_'||i);
--commit;
end loop;
end;
ORA-02020: 过多的数据库链接在使用中
ORA-06512: 在 line 9
SQL> declare
2 v_i number;
3 v_sql varchar(500);
4 begin
5 for i in 1..4
6 loop
7 v_sql:='select count(*) from dual@DBLINK_'||i;
8 execute immediate v_sql into v_i;
9 dbms_output.put_line('DBLINK_'||i);
10 --commit;
11 end loop;
12 end;
13 /
DBLINK_1
DBLINK_2
DBLINK_3
DBLINK_4
PL/SQL procedure successfully completed
SQL> commit;
Commit complete
--分两次执行
SQL> declare
2 v_i number;
3 v_sql varchar(500);
4 begin
5 for i in 1..3
6 loop
7 v_sql:='select count(*) from dual@DBLINK_'||i;
8 execute immediate v_sql into v_i;
9 dbms_output.put_line('DBLINK_'||i);
10 --commit;
11 end loop;
12 end;
13 /
DBLINK_1
DBLINK_2
DBLINK_3
PL/SQL procedure successfully completed
SQL> declare
2 v_i number;
3 v_sql varchar(500);
4 begin
5 for i in 4..5
6 loop
7 v_sql:='select count(*) from dual@DBLINK_'||i;
8 execute immediate v_sql into v_i;
9 dbms_output.put_line('DBLINK_'||i);
10 --commit;
11 end loop;
12 end;
13 /
DBLINK_4
declare
v_i number;
v_sql varchar(500);
begin
for i in 4..5
loop
v_sql:='select count(*) from dual@DBLINK_'||i;
execute immediate v_sql into v_i;
dbms_output.put_line('DBLINK_'||i);
--commit;
end loop;
end;
ORA-02020: 过多的数据库链接在使用中
ORA-06512: 在 line 9
oracle ora 02020,ORA-02020 too many database links in use再现相关推荐
- Oracle的tnsnames.ora配置(PLSQL Developer)
首先打开tnsnames.ora的存放目录,一般为D:\app\Administrator\product\11.2.0\client_1\network\admin,就看安装具体位置了. 步骤阅读 ...
- oracle错误01653,oracle 10g 错误 ORA 01653 的解决过程
oracle 10g 错误 ORA 01653 的解决过程 早上用户反应在操作用友NC时报错 ORA-01653 ,详细信息:ORA-01653: 表 NCV35.GL_DETAIL 无法通过 102 ...
- oracle创建ora文件,ORACLE配置tnsnames.ora文件实例
ORACLE配置tnsnames.ora文件实例 客户机为了和服务器连接,必须先和服务器上的监听进程联络.ORACLE通过tnsnames.ora文件中的连接描述符来说明连接信息.一般tnsnames ...
- ORACLE数据库tnsnames.ora配置文件详细解析
字段含义如下: ADDRESS_LIST 表示该客户机要经由多种协议与一台或多台服务器连接.在该样式文件中就表示该客户机要用TCP/IP协议来和服务器相连. PROTOCOL 指明要连接使用 ...
- oracle olap 不可用,[数据库]ORACLE OLAP错误ORA
[数据库]ORACLE OLAP错误ORA 0 2015-04-25 00:00:20 刚刚安装了ORACLE 10g R2后,启动数据库时发现告警日志有如下错误: Database Characte ...
- Oracle客户端tnsnames.ora连接配置
Oracle客户端tnsnames.ora连接配置 Oracle90的在C:\Oracle\ora90\network\ADMIN下面 Oracel10g的在D:\oracle\product\10. ...
- oracle初始化spfileORCL.ora文件损坏修复
$ORACLE_HOME/dbs目录下的的spfileORCL.ora是一个二进制文件,不能手动编辑,修改后会导致oracle数据库无法正常启动.某日在操作数据库的过程中不慎将其修改,并且没有备份.我 ...
- Oracle 11gR2 使用 RMAN duplicate from active database 复制数据库
在Oracle10g下,我们可以使用RMANduplicate命令创建一个具有不同DBID的复制库.到了Oracle11gR2,RMAN的duplicate有2种方法实现: 1.Activedatab ...
- mysql连接池永驻_【学习笔记】Oracle连接池 数据库常驻连接池(Database Resident Connection Pool)案例介绍...
天萃荷净 分享一篇关于应用程序与Oracle数据库连接的连接方法介绍,数据库常驻连接池(Database Resident Connection Pool)案例介绍 一.介绍常驻连接池(Databas ...
最新文章
- CTF---安全杂项入门第三题 这是捕获的黑客攻击数据包,Administrator用户的密码在此次攻击中泄露了,你能找到吗?...
- android获取当前应用占用的内存大小,Android分析已安装应用占用内存
- 以太坊---「地址、密码、私钥、助记词、Keystore 」那些事
- java web shiro_javase和javaweb环境下shiro的搭建
- 打击诈骗,逻辑回归闪亮登场
- D盘提示RAW文件如何找回
- SpringBoot整合ElasticSearch实现多版本的兼容
- Google 工作 4 年,我最终还是选择了离开
- Bzoj3262 陌上花开
- CAD关于线型操作添加线型(com接口c#语言)
- 金蝶基础资料中物料信息中的计价方法详细解释!小白不能让客户虎住,多多了解
- iTextSharp 列表
- Caffe框架的基本操作和分析
- 吞剑!喷火!这种江湖卖艺套路能吸引观众吗?
- 第7章第29节:四图排版:四张图片并列排版 [PowerPoint精美幻灯片实战教程]
- 项目:漫漫H5游戏-抓娃娃机
- android客户端接入新浪、腾讯微博以及人人网
- 植物大战僵尸android4版本,植物大战僵尸4
- 集成电路设计学习笔记(二)基于IC617反相器设计之原理图绘制
- suppo aaa 0.75-php,fastsupport-cn
热门文章
- burp和xray联动
- [GO语言基础] 二.编译运行、语法规范、注释转义及API标准库知识普及
- iOS之深入解析“锁”的底层原理
- 【数据结构与算法】之深入解析“24点游戏”的求解思路与算法示例
- HarmonyOS之常用布局StackLayout的使用
- LeetCode Algorithm 572. 另一棵树的子树
- 2019\Province_C_C++_B\试题C-数列求值
- 教小学妹学算法:诺基亚引出的动态规划问题
- 12.1 Bootstrap介绍
- Allocation Aizu - ALDS1_4_D