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

时间: 2024-12-29 12:32:53

Oracle 客户端连接时报ORA-01019错误总结的相关文章

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

--================================= -- 配置ORACLE 客户端连接到数据库 --================================= Oracle 客户端连接到Oracle 数据库服务器貌似不同于SQL serve中的网络配置,其实不然,只不过所有的SQL server 运行于Windows平台,故很多配置直接集成到了操作系统之中.所以无需配置客户端即可连接到服务器.Oracle 客户端连接到数据库依赖于Oracle Net.Oracle提供

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

转载自:http://blog.csdn.net/leshami/article/details/5917103 Oracle 客户端连接到Oracle 数据库服务器貌似不同于SQL serve中的网络配置,其实不然,只不过所有的SQL server 运行于Windows平台,故很多配置直接集成到了操作系统之中.所以无需配置客户端即可连接到服务器.Oracle 客户端连接到数据库依赖于Oracle Net.Oracle提供了很多基于客户端或服务器的配置工具,需要搞清的是Oracle Net 中的

使用windows server2012时FileZilla客户端连接时报150 Opening data channel for directory listing of "/" 响应:425 Can't open data connection

425 Can't open data connection 和 读取目录列表失败 问题解决 这个问题主要是由于使用Passive Mode模式造成的,解决这个问题很简单: 1.在ftp服务软件中设置指定端口地址范围,允许Passive Mode使用,比如60000-60020 2.然后在ftp服务器的系统防火墙上打开这些tcp端口,比如是60000-60020,如果使用windows自带的防火墙,就一条一条的增加,20行有点麻烦,但是可以解决. 如果ftp用户较多,可以扩大端口范围. 3.如果

DataUml Design 介绍11 - DataUML 1.5版本功能(支持无Oracle客户端连接,有图有真相)

DataUML Design1.5版本主要更新内容包括: 1.优化数据库登录界面: 2.查询分析器智能提示: 3.优化数据库浏览插件,数据库登录组件,支持历史记录缓存: 4.支持无Oracle客户端连接: 5.支持浏览数据库视图.存储过程.函数和触发器: 6.支持从Excel文件导入数据生成模型: 7.优化组合软件新建功能的界面: 一.新建功能的界面 集成成有插件的新建功能,类似于VS编译器,所有插件新建功能统一入口.如下图 二.数据库连接界面,支持无Oracle客户端连接 1.优化数据库登录界

DataUML Design - 支持无Oracle客户端连接,UML建模

DataUML Design1.5版本主要更新内容包括: 1.优化数据库登录界面: 2.查询分析器智能提示: 3.优化数据库浏览插件,数据库登录组件,支持历史记录缓存: 4.支持无Oracle客户端连接: 5.支持浏览数据库视图.存储过程.函数和触发器: 6.支持从Excel文件导入数据生成模型: 7.优化组合软件新建功能的界面: 一.新建功能的界面 集成成有插件的新建功能,类似于VS编译器,所有插件新建功能统一入口.如下图 二.数据库连接界面,支持无Oracle客户端连接 1.优化数据库登录界

PL-SQL Developer 配置使用Oracle客户端连接

没有在本地安装Oracle 的用户必须下载一个instantclient(即使客户端), 路径指向这里,才能正常使用 下载 instantclient-basic-nt-11.2.0.3.0.zip 解压为 D:\Oracle\instantclient_11_2 首先打开PLSQL界面弹出登录框这个时候您很冲动的输入了正确的用户名密码,以及ip地址端口号,但是您点击确定时弹出如下第一张图所示这说明您本机没有安装Oracle客户端或者PLSQL工具首选项中没有配置正确.因此直接点取消,PLSQL

oracle客户端连接不上

ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程'错误,要解决该问题首先查看一下数据库现有的进程数,是否已经达到参数processes的大小. ORA-01012: not logged on 解决办法 对数据库进行查询或者操作之时才会出现ORA-01012 SQL> select count(*) from v$process; select count(*) from v$process * 第 1 行出现错误: ORA-01012: not logged on 进

使用Oracle客户端连接远程数据库

有三个Oracle客户端可使用: SQL Developer.PL/SQL Developer.Navicat Premium 一. SQL Developer(Oracle 自家的) 下载并安装 SQL Developer,连接简单就不说了. 下载地址:http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html 二.PL/SQL Developer11 配置 Client 下载 PL/

不安装oracle客户端连接oracle数据库

PLSQL Developer 或Toad 不安装Oracle 客户端连接数据库 为了简化Oracle在个人电脑的使用,避免占用不必要的资源,可以不安装Oracle客户端.方法是:使用Oracle InstantClient连接oracle数据库 1 下载相应的程序, 如是10204的instantclient-basic-win32-10.2.0.4.zip (34,742,358 bytes) 或者instantclient-basic-win32-10.2.0.3-20061115.zip