Oracle 客户端连接时报ORA-01019错误总结
在.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。
(www.111cn.net)
这个问题网上查找很久,尝试的解决方法很多,但最终我的方案是:
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中设置系统环境变量,重启系统后,问题消失
from:http://www.111cn.net/database/Oracle/43838.htm
Oracle 客户端连接时报ORA-01019错误总结的更多相关文章
- 配置ORACLE 客户端连接到数据库
--================================= -- 配置ORACLE 客户端连接到数据库 --================================= Oracle ...
- SQL Data Base 不装oracle客户端连接oracle服务端
SQL Data Base 不装oracle客户端连接oracle服务端 一.直连: devart 二.拷贝dll: Oracle.DataAccess.dlloci.dllociw32.dll
- DataUml Design 介绍11 - DataUML 1.5版本功能(支持无Oracle客户端连接,有图有真相)
DataUML Design1.5版本主要更新内容包括: 1.优化数据库登录界面: 2.查询分析器智能提示: 3.优化数据库浏览插件,数据库登录组件,支持历史记录缓存: 4.支持无Oracle客户端连 ...
- 发现TCP的一种错误----客户端连接失败(10055错误号)
在客户端连接7302TCP端口失败,关闭程序,启动sockettool也不行,出现错误号为 10055(发现队列满了或者空间不足).通过查网上资料,发现有两个方法:设置 ( TcpTimedWaitD ...
- PL-SQL Developer 配置使用Oracle客户端连接
没有在本地安装Oracle 的用户必须下载一个instantclient(即使客户端), 路径指向这里,才能正常使用 下载 instantclient-basic-nt-11.2.0.3.0.zip ...
- [转] 64位Oracle 11g R2的客户端连接时报ORA-01019错误
本文转自:http://blog.csdn.net/downmoon/article/details/8038583 在Win8企业版64位环境下,连接Oracle11g 服务端,搞了整整两天,特将过 ...
- C#中不用安装Oracle客户端连接Oracle数据库(转)
原文地址:http://www.cnblogs.com/jiangguang/archive/2013/02/19/2916882.html 0.首先,从Oracle网站上下载对应版本的Oracle ...
- 不安装oracle客户端连接oracle数据库
PLSQL Developer 或Toad 不安装Oracle 客户端连接数据库 为了简化Oracle在个人电脑的使用,避免占用不必要的资源,可以不安装Oracle客户端.方法是:使用Oracle I ...
- Oracle客户端连接远程Oracle服务中文乱码问题
在本机远程连接远程Oracle服务的时候,写了如下检索语句 select * from sys_employee 结果集中出现了中文乱码,但是远程服务器本身的PL/SQL检索出来没有问题 解决方案: ...
随机推荐
- 通过adb命令在Android设备中执行Java命令, 并调用so文件。
一.难点一:无法复制so文件到/system/lib或者/vendor/lib下,提示只读 解决方法: 2.使用android device monitor放库进入到 /system/lib出现只读权 ...
- springboot整合mybatis的两种方式
https://blog.csdn.net/qq_32719003/article/details/72123917 springboot通过java bean集成通用mapper的两种方式 前言:公 ...
- 移动端自适应布局 rem方案
1.viewport.js (function(window, document) { // 给hotcss开辟个命名空间,别问我为什么,我要给你准备你会用到的方法,免得用到的时候还要自己写. con ...
- Cocos2d 编译js为jsc bytecode文件
使用: cocos jscompile -s XXX(目录名,会递归) -d (输出的目录) 但编译后的jsc比原来的js更大了 如果只是为了代码的保密性,也许只需要用yuicompres ...
- Linux上实现Windows的SQLPlus保存SQL历史记录功能
在Windows操作系统上,当在DOS命令窗口中运行SQL*Plus的时候,可以使用向上,向下键来跳回之前已经执行过的SQL语句.你可以根据需要修改他们,然后按Enter键重新提交执行. 然而,当在L ...
- GDALBuildVRT异构波段的支持
目录 简述 修改源码 1.修改DatasetProperty结构体 2.修改VRTBuilder::AnalyseRaster函数 3.修改VRTBuilder::CreateVRTNonSepara ...
- Ubuntu16.04下添加打印机FujiXerox CP116w
今天要打印一份北马的成绩单, 不想重启机器了, 在Ubuntu下尝试添加打印机, 最后成功了, 记录一下 打印机型号是FujiXerox CP116w, 通过WIFI连接的, 在Ubuntu16.04 ...
- ASP.NET HttpModule URL 重写 (一) 【Z】
大家好,又来和大家见面了,此次给大家带来的URL重写,关于URL重写是什么,有什么好处,如何重写,今天我和大家一起分享一下我的经验 一.URL重写 URL重写就是首先获得一个进入的URL请求然后把它重 ...
- centos 7 系统启动不了 出现报错dependency failed for /mnt , dependency failed for local file systems
阿里云一台Ecs重启后启动不了,出现报错 dependency failed for /mnt , dependency failed for local file systems , 报错的原因 ...
- Ubuntu 10.04里安装强大抓图工具Shutter
Shutter 原名叫GScrot,是一款Linux下很强大的抓图工具,支持截取全屏幕,窗口,自选区域以及网页的图像,并且截取后的图像还可以简单编辑,Shutter还支持插件功能,矩齿,边缘化,碎纸, ...