Oracle数据库常见错误总结(一)
实际项目实践过程中,经常会遇到一些形如“ORA-XXXX”的Oracle错误提示,此时,我们便会打开百度、Google,搜索相关技术解决方案。本系列博文的目的就在于,对常见的Oracle错误提示进行总结,不断完善。
ORA-12560
ORA-12560: TNS: protocol adapter error(SQLPLUS)
ORA-27101: shared memory realm does not exist(PL/SQL Developer)
(1)原因分析
在path环境变量中Oracle_home设置在client之后、且PL/SQL Developer设置正确的ORACLE_HOME和OCI DLL,使用sqlplus出现ORA-12560错误,PL/SQL Developer出现ORA-27101错误。
(2)解决方法(之一): 将ORACLE_HOME/bin放在CLIENT_HOME/bin之前,sqlplus命令和PL/SQL Developer均可正常使用。
(3)解决方法(之二): 数据库链接字符串有误,修改连接字符串。
ORA-28001
解决方法(之一):
这个问题是由于Oracle 11G的新特性所致, Oracle 11G创建用户时缺省密码过期限制是180天, 如果超过180天用户密码未做修改则该用户无法登录。可通过:
SELECT * FROM dba_profiles WHERE profile=’DEFAULT’ AND resource_name=’PASSWORD_LIFE_TIME‘;
语句查询密码的有效期设置,LIMIT字段是密码有效天数。
在密码将要过期或已经过期时可通过ALTER USER 用户名 IDENTIFIED BY 密码;语句进行修改密码,密码修改后该用户可正常连接数据库。长久对应可通过ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED语句将口令有效期默认值180天修改成“无限制”。出于数据库安全性考虑,不建议将PASSWORD_LIFE_TIME值设置成UNLIMITED,建议客户定期修改数据库用户口令。
ORA-01659 ORA-01659 无法分配超出5(或者其他数字)的MINEXTENTS**(1)原因:表空间已满
(2)解决方法:使用SQLPLUS登陆命令修改,或进入Oracle Enterprise Manager Console手工修改ALTER DATABASE DATAFILE ‘C:SDE.dbf’ AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED 或ALTER TABLESPACE SDE AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
客户端连接Oracle报错

(1)问题分析
关于这个问题,其出现的机会还是比较大。 而且网上关于这个问题的回答也基本上有两种不同的解决方式。 ** **看完后,发现解决的方式有些混乱,竟然授权用户有NETWORK SERVICE或Authenticated Users,而授权的目录有ORACLE_CLIENT,也有ORACLE_HOME,即,其实网络上有4种解决方式(2种授权用户与2种目录授权的组合),让人不知所措。
(2)问题探索
为此,我在我的电脑上进行了验证,过程如下:
(一)、软件环境:
(1) 操作系统:Windows 7 64位;
(2) Oracle环境:Oracle Server 64位,Oracle Client 64位。
(二)、实验步骤:
1. 对ORACLE_CLIENT授权(1) 设置NETWORK SERVICE用户拥有oracle client目录的读取和执行、列出文件内容、读取、写入权限后,重启IIS。
结果:错误提示依旧存在。
(2)使用Authenticated Users用户赋予其上述权限后,重启IIS,错误消失。
此时,ORACLE_HOME没有对NETWORK_SERVICE和Authenticated Users用户赋予上述权限。
2 对ORACLE_HOME授权(1) 设置NETWORK SERVICE用户拥有oracle HOME目录的读取和执行、列出文件内容、读取、写入权限后,重启IIS,错误提示“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”,去掉ORACLE_HOME目录对NETWORK SERVICE用户的授权;
(2)使用Authenticated Users用户赋予其上述权限后,重启IIS,出现如下新的错误提示:

结论:
1. 只需对ORACLE_CLIENT对Authenticated Users用户的授权,与ORACLE_HOME及其用户权限是否配置无关!
2. 对于网络上提供的:“将ORACLE_HOME目录赋予NETWORK_SEVICE用户相应权限、并将NETWORK_SEVICE用户加到用户组Administrator里” 的做法,在我的电脑上测试未通过。

(1)现象分析:
select sequence.currval from dual 时报“ORA-08002: 序列XXXX尚未在此进程中定义”。
(2)原因分析:未定义该序列;未初始化新定义的序列。
(3)解决方案:
在已经正确定义该序列前提下,使用sequence.nextval进行序列初始化

PS:在序列作为自增长字段的使用场景中,有时候会出现一个问题:即,将机器A上表的数据拷贝到另一个机器B上,而机器B上该表的序列值没有被扩大、仍然保持数据表拷贝过来之前的值,那么会出现“ORA-00001”错误提示。因为B机器上某个依赖序列新增、且该字段有唯一性约束时,生成得值在数据表中已经存在,这时会违反唯一性约束。
ORA-12154 ORA-12154: TNS: 无法解析指定的连接标识符原因分析:
(1) 出现以上错误提示出现的原因之一,是在一台电脑上同时安装了oracle客户端和数据库服务,并且是先安装客户端,再安装数据库服务造成的,如果先安装数据库服务,再安装客户端就不会出现这种情况了;
(2) tnsnames.ora配置有误;
(3) 数据库链接字符串有误;
解决方法(之一) :
(1)配置Oracle服务端Net Manager,或者直接将Oracle客户端的tnsnames.ora拷贝到服务端对应目录;
(2)在path目录中,将client的bin目录放在ORACLE_HOME之前,且在使用PL/SQL Developer时,将其Connection的ORACLE_HOME配置为Client的主目录;
解决方法(之一) :
(1) 查看当前用户的profile;
SELECT username,PROFILE FROM dba_users;
(2) 查看其profile的有效期设置;
SELECT * FROM dba_profiles s WHERE s.profile=’DEFAULT’
AND resource_name=’PASSWORD_LIFE_TIME’;
(3) 修改密码有效期为“无限制“;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
(4) 修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示;已经被提示的帐户必须使用alter user USERNAME identified by NEWPASSWORD再改一次密码。

You’re using System.Data.OracleClient. This namespace has been deprecated and will be removed in a future version of .NET. Perhaps you are using a 32-bit version of that? It is also not part of the Oracle client, so whether you are using a 32-bit or 64-bit Oracle client is irrelevant.
给出的解决方法,解决了Windows Server 2008 R2、64位Oracle Server、AnnyCPU编译模式的问题。
参考:。
ORA-32004 ORA-32004: 指定了废弃/过时的参数
原因分析:
根据提示,可以看出是该版本的数据库在启动时(具体来说,是启动到nomount阶段检查参数时),发现有些参数设置已经过时,故出现ORA—32004错误(警告)。
解决办法:
由于该错误(警告)是因为 “参数设置已经过时”,故通过如下步骤解决: (1) 启动到nomount阶段,查看alert日志:如D:appMikediag dbmsorclorclalert log.xml; (2) 找到对应的提示,如 ![这里写图片描述]() (3) 修改参数值、或解决错误 关于Oracle数据库常见错误这部分内容,会在后续工作中陆续更新。相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jiaob/net/10167.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
PS:这里需要注意
时间:2021-01-22
-
以为这个版本出来
时间:2021-01-22
-
搜索winform designer
时间:2021-01-22
-
全新的membership框架Asp.ne
时间:2021-01-21
-
i dont know;18if (msg.Contains(
时间:2021-01-21
-
统筹管理路由规则.
时间:2021-01-21
-
根据switch-case语句来逐一判
时间:2021-01-21
-
EntityFramework 5.0 CodeFirst 教
时间:2021-01-21
热门文章
-
.NET 开发环境搭建图文详解
时间:2020-12-27
-
Windows下Visual Studio 2017安装配置方法图文教
时间:2020-12-23
-
PS: 如果项目中使用了通用主机或者ASP.
时间:2021-01-12
-
.Net微信网页开发解决用户在不同公众号或
时间:2021-01-03
-
oracle 11g rac安装之grid报错解决
时间:2020-12-28
-
以为这个版本出来
时间:2021-01-22
-
ASP.NET Core 3.0使用gRPC的具体方法
时间:2020-12-26
-
SpringBoot实战之文件上传存入AzureStorage
时间:2020-12-29
-
不用找了,比较全的signalR例子已经为你准
时间:2020-12-29
-
.NET Core3.1编写混合C++程序
时间:2020-12-26
