在.net+oracle开发中,发布web程序的时候,有是会遇到该错误 ora-01019

ORA-01019 unable to allocate memory in the user side

Cause: The user side memory allocator returned an error.

Action: Increase the size of the process heap or switch to the old set of calls.

或者 错误,不能从进程获得上下文.

此错误是由于oracle或者microsoft的bug引起.(其实是,iis的访问权限的控制太高).

解决方法:

一:为ORACLE_HOME目录,添加network services 用户组的访问权限,并将权限继承到子目录.重启机器.

二:提高虚拟路径对应的应用程序池,执行用户的权限.(该方法本人认为对带来不安全因素)

令,本错误有时候提示是,需要安装oracle7.13版本客户端以上.解决方法同上.

问题二

在Win8企业版64位环境下,连接Oracle11g 服务端,搞了整整两天,特将过程分享出来,供有需要的同学参考。

本机环境:

1、服务端:Oracle 11g R2 64位,安装路径E:/Org12

官方下载:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

2、客户端:

(1)Instant Client ,轻量级,安装路径E:/Oracle11/client

http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

(2)32-bit Oracle Data Access Components (ODAC) with Oracle Developer Tools for Visual Studio,安装路径E:/Org12/Product/11.2.0/client_1

http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html?ssSourceSiteId=otncn

用客户端三种工具去连Oracle服务端,结果:

第一种:Oracle自带的SQL Deveploer工具,基本没问题!也不需要什么客户端配置。

http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

第二种,用PL/SQL 9.0去连,需要copy服务端的XXapporacleproduct11.2.0servernetworkADMINtnsnames.ORA文件到客户端(1)的networkADMIN下,并删除不需要的部分,保留内容大致如下:

代码如下

ORCL =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

)

(CONNECT_DATA =

(SID =ORCL)

)

)

并用如下方式启动PL/SQL

代码如下

set Path=E:/Oracle11/client

rem 服务端路径: E:Org12product11.2.0dbhome_1BIN

set ORACLE_HOME=E:/Oracle11/client

set TNS_ADMIN=E:/Oracle11/client

set NLS_LANG=AMERICAN_AMERICA.AL32UTF8

start E:/Oracle11/PL_SQL/plsqldev.exe此时OK。

这个问题网上查找很久,尝试的解决方法很多,但最终我的方案是:

1、删除Oracle服务端;方法可以在网上搜,要删干净;

2、删除ODAC及所有组件;

3、保留Instant Client及其安装目录,主要是networkADMINtnsnames.ORA

4、重新安装Oracle服务端;

此时接所有客户端连接完全正常!

小结:

1、刚开始怀疑是64位Oracle驱动路径(x86)引起的bug,最后得出的结论是同一台机器,最好不要装两个Oracle客户端 ,服务端+客户端也不推荐,会引起一些潜在的问题,原因不明。

2、64位的Oracle服务端+32位的Oracle客户端,会有一些潜在的问题,最好32位对32位。

3、安装Oracle 11g R2 EX时,会在环境变量Path前面加上“e:Org12apporacleproduct11.2.0serverbin;;”,注意是两个分号,须删除一个;这个不知道是安装程序的BUG?

问题三

今天开发的同事碰到了这个ORA-1019错误。

详细的错误信息为:

Microsoft OLE DB Provider for ODBC Drivers错误'80004005'

[Microsoft][ODBC driver for Oracle][Oracle]Error while trying to retrieve text for error ORA-01019

/includes/data_func.asp,行12

而Oracle文档上对这个错误的描述为:

ORA-01019: unable to allocate memory in the user

Cause: The user side memory allocator returned error.

Action: Increase the processes heap size or switch to the old set of calls.

从错误描述上看,似乎是内存分配的问题,但是客户端服务器上的内存有2G,而且并没有启动什么程序,显然不是简单的内存不足的问题。

不过问题多半是出在客户端程序上,检查了一下metalink,发现文档ID 91906.1中提到的问题可能和当前类似。导致这个问题的原因似乎是ODBC没有使用Oracle提供的驱动程序,而是使用了ORACLE_HOME之外系统提供的驱动。

又通过GOOGLE搜索了一下,找到了一篇文章,其中包含下面的描述:

You must set the following environment variables:

ORACLE_HOME

Specifies the top-level directory in which Oracle is installed.

TNS_ADMIN

Specifies the location of configuration files, for example, $ORACLE_HOME/network/admin. After installation Oracle creates the configuration files under /var/opt/oracle. If listener.ora and tnsnames.ora are in this directory, you might not need to set TNS_ADMIN, because by default Oracle uses /var/opt/oracle.

If you do not set these environment variables properly, Oracle returns the ORA-1019 error code the first time you attempt to connect. For information on error handling,

看来问题很可能是由于没有正确设置ORACLE_HOME环境变量造成的,

解决办法

在WINDOWS中设置系统环境变量,重启系统后,问题消失。

vba oracle 01019,Oracle 客户端连接时报ORA-01019错误总结相关推荐

  1. oracle biee 11g客户端连接OCI 10g/11g数据源时报错

    OBIEE 11g BI 管理工具 连接OCI 10g/11g数据源时报错[连接失败] OBIEE 11g Client Admin Tool Connection To Datasource In ...

  2. Oracle 基础知识——客户端连接oracle数据库服务端的四种方法

    Oracle基础知识 Oracle Database 11g 快捷版 (Oracle Database XE) 是一款基于 Oracle Database 11g 第 2 版代码库的小型入门级数据库, ...

  3. 发现TCP的一种错误----客户端连接失败(10055错误号)

    在客户端连接7302TCP端口失败,关闭程序,启动sockettool也不行,出现错误号为 10055(发现队列满了或者空间不足).通过查网上资料,发现有两个方法:设置 ( TcpTimedWaitD ...

  4. PLSQL连接Oracle数据库时报ORA 12154错误的解决方法

    pl/sql连接Oracle时遇到的问题: 解决办法:安装后将Oracle安装目录下的文件夹network(包括其中的子文件,其中主要是tnsnames.ora) 在pl/sql菜单–"工具 ...

  5. 在Oracle中查看客户端连接的IP信息 .

    前言 oracle 12c 默认session中,未记录客户端ip 可以通过其它方法追加ip到session中的. 方法[转] 大家都知道在v$session 中记录着客户端的机器名称,但是没有IP ...

  6. oracle导出1455,oracle 11g导出数据时报ORA 1455错误的处理方法

    由于导出的该用户的表可能存在空数据表,那么可能就会出现此其异常. 首先: 查看: show parameter deferred_segment_creation;@H_403_7@ 如果为TRUE, ...

  7. RDP 协议组件 X.224 在协议流中发现一个错误并且中断了客户端连接

    今天在用terminal远程连接服务器时,总是连接不上,后来直接到服务器上查看,在事件里查看到错误日志:RDP 协议组件 X.224 在协议流中发现一个错误并且中断了客户端连接. RDP,即远程桌面协 ...

  8. 配置ORACLE 客户端连接到数据库

    --================================= -- 配置ORACLE 客户端连接到数据库 --================================= Oracle ...

  9. oracle错误12518,ORA-12518: 错误 客户端连接不上

    ORA-12518: 错误 客户端连接不上 解决方案: 第一步:process和session改大 检查process和session a)本机使用连接到oracle,查看process进程数: se ...

最新文章

  1. geohash 附近搜索
  2. document.getElementByTagName()的用法
  3. 关于android 图像格式问题
  4. PLSQL连接ORACLE
  5. 如何实现二级菜单 html,javascript,html5_如何用vue实现二级菜单栏,javascript,html5,html,vue.js - phpStudy...
  6. 数据库查询索引(sql单个索引和复合索引)
  7. (转)python3之模块io使用流的核心工具
  8. java 多线程任务队列_精简的java 线程池与任务队列
  9. 少儿编程scratch(源码)
  10. POJ-3744 Scout YYF I 概率DP
  11. 怎么把html导入xmind,XMind思维导图怎么导入图标?
  12. java.lang.NoClassDefFoundError: org/jdom2/JDOMException
  13. 程序员的三大优良品质:偷懒,没有耐性和骄傲自大。
  14. 鼠标处显示坐标 html,cesium的鼠标事件(最基础的显示鼠标位置坐标)
  15. java版mc复制tnt,教程/方块和物品复制
  16. ESP32:用了七天我终于把环境搭建好了
  17. 图像主结构的提取方法
  18. 35岁,成就寥寥,为时已晚?(I am 35 and I haven't achieved much in life. Is it too late?)...
  19. 模拟声音实验室插件-Arturia Analog Lab v4.2.3.3897 WiN-MAC
  20. 基于STM32F767的RT-Thread移植学习

热门文章

  1. 熊猫烧香变种病毒分析
  2. Win10 KMD驱动模板,应用层向内核传一个字符串,内核把它转成大写
  3. 【生活】 戴尔XPS 插上耳机之后,说话没声音,麦克风失效 window10 系统
  4. linux php-fpm优化 php-fpm.conf 重要参数详解
  5. 1047 Student List for Course (25 分)【难度: 简单 / 知识点: 模拟】
  6. 2021CCPC网络赛部分题解
  7. python读取大文件的坑_python读取大文件踩过的坑——读取txt文件词向量
  8. MySQL索引的分类、何时使用、何时不使用、何时失效?
  9. 如何为你的 Github 博客添砖加瓦
  10. idea + Maven + Spring + myBatis的单元测试