关于oracle报ORA-12519错误的问题解决方法
- 格式:docx
- 大小:15.38 KB
- 文档页数:1
Oracle ODBC错误码1、引言在使用Oracle数据库连接时,有时会遇到ODBC错误码。
这些错误码通常是由于连接不稳定、数据库配置问题或者客户端软件不兼容等原因引起的。
理解这些错误码以及如何解决它们对于维护Oracle数据库连接至关重要。
本文将为您介绍一些常见的Oracle ODBC错误码,并提供相应的解决方法。
2、错误码及解决方法2.1 错误码:ORA-12154ORA-12154错误通常表示TNS无法解析给定的数据库连接标识符。
这可能是由于TNS别名未正确配置或者网络连接问题所致。
解决方法:- 检查TNS别名是否正确配置,确保连接标识符对应的数据库信息是正确的。
- 检查网络连接是否正常,可以使用ping命令或者tnsping命令测试网络连接。
2.2 错误码:ORA-12541ORA-12541错误表示TNS未能建立与目标数据库的连接。
这可能是由于目标数据库未启动或者网络连接被阻止所致。
解决方法:- 确保目标数据库已经启动,可以通过在服务器上运行lsnrctl status 命令来检查监听器状态。
- 检查防火墙设置,确保网络连接未被阻止。
2.3 错误码:ORA-01017ORA-01017错误表示用户认证失败。
这可能是由于用户名或者密码错误所致。
解决方法:- 确保输入的用户名和密码是正确的,尤其是区分大小写。
- 如果是远程连接,可以尝试使用sqlplus命令本地连接数据库验证用户名和密码。
2.4 错误码:ORA-03114ORA-03114错误表示与服务器的通信失败。
这可能是由于网络连接丢失或者服务器意外关闭所致。
解决方法:- 检查网络连接是否稳定,可以通过ping命令测试网络延迟和丢包情况。
- 检查服务器日志,确认是否有意外关闭的记录。
3、常见问题及解决方法3.1 ODBC驱动版本不兼容有时候,ODBC驱动的版本与目标数据库的版本不兼容,会导致连接失败。
解决方法:- 升级或者降级ODBC驱动的版本,确保与目标数据库版本匹配。
目录第1章 Oracle数据库常见问题诊断方法 (1)1.1 常见错误篇 (1)1.1.1 ORA-12571、ORA-03113、ORA-03114、ORA-01041 (1)1.1.2 ORA-01000 (1)1.1.3 ORA-01545 (2)1.1.4 ORA-0165x (2)1.1.5 ORA-01555 (3)1.1.6 ORA-04031 (3)1.1.7 ORA-04091 (3)1.1.8 ORA-01242、ORA-01113 (4)1.2 内部错误篇 (4)1.2.1 ORA-00600【12330】错误 (4)1.2.2 ORA-00604【xxx】错误 (5)1.2.3 ORA-00600【3339】错误 (5)1.2.4 ORA-00600【13004】错误 (5)1.3 分布式事务篇 (6)1.3.1 诊断分布式事务 (6)1.3.2 检查其它节点的事务(DBA_2PC_NEIGHBORS) (6)1.3.3 通过DBA_2PC_PENDING字典表检查事务的状态 (6)1.3.4 检查处理结果 (7)1.3.5 COMMIT FORCE或ROLLBACK FORCE命令 (7)1.4 OPS或RAC篇 (8)1.4.1 准备工作 (8)1.4.2 紧急情况下的状态备份 (8)1.4.3 OPS设计、配置准则 (9)1.4.4 OPS常见问题 (9)1.4.5 诊断分析步骤 (9)1.5 非OPS篇 (18)1.5.1 ORACLE数据库系统常见问题:空间方面问题 (18)1.5.2 ORACLE数据库系统常见问题:性能方面问题 (18)1.5.3 ORACLE数据库系统常见问题:锁争用方面问题 (19)1.5.4 ORACLE数据库系统常见问题:内存方面问题 (20)1.5.5 ORACLE问题分析脚本 (20)1.5.6 SQL*NET篇 (24)1.5.7 TNS-12154 Error 或ORA-12154 (24)1.5.8 NL-00462 Error 或ORA-00462 (25)1.5.9 NL-00405 Error 或ORA-00405 (26)1.5.10 TNS-01155 Error 或ORA-01155 (26)1.5.11 TNS-12537 、TNS-12560、TNS-00507 Error (26)1.5.12 TNS-12203 Error (27)1.5.13 TNS-12533 Error (27)1.6 备份与恢复篇 (27)1.6.1 EXP-00942 或ORA-00942、ORA-00904错误 (28)1.6.2 EXP-00037 或 ORA-00037 (28)1.6.3 IMP-00009 或ORA-00009 (28)1.6.4 EXP-00041或ORA-00041 (29)1.6.5 IMP-00016 、IMP-00036 、IMP-00037 、IMP-00038 (29)第1章 Oracle数据库常见问题诊断方法1.1 常见错误篇ORACLE的这类错误在ORALCE的文档中有详细说明,但原因及措施说明不详细,本文当着重说明如何解决这类错误。
Oracle 连接错误故障排除产品:Tableau Desktop, Tableau Server版本:All上次修改日期:24 Aug 2015Oracle 驱动程序需要具有唯一格式的特定连接语句。
然而,可能并不总是需要TNSNames.ora 文件。
例如,如果仅安装了 Tableau 提供的 Oracle 文件,且不具有独立的 Oracle 客户端。
Oracle 错误消息涉及 TNSNames.ora 文件。
通常,纠正“高级 Oracle 连接”对话框中的路由或命名语法,或者使用 .WORLD 数据库全名,即可解决大部分 Oracle 连接问题。
如果连接错误需要进一步进行故障排除,请参阅下面列出的 4 种常见连接错误。
•ORA-03113:通信信道上的文件结尾•ORA-12154:TNS:无法解决指定的连接标识符 HOST 值不正确或者全局名称不正确或未知的问题•ORA-12514:TNS 侦听器当前无法识别连接描述符中请求的服务SERVICE 值不正确•ORA-12541:TNS:无侦听器PORT 值不正确•ORA-00932:数据类型不一致ORA-03113:通信信道上的文件结尾ORA-03113 是任何干扰 Oracle 会话的问题的全捕获类型错误。
造成该错误的原因可能有很多。
请参阅下表,了解故障排除指南。
•请参阅特定于此错误的 Oracle 文档:我的 Oracle 支持。
o请参阅 Oracle 的 B 常见错误故障排除页面。
•Oracle 建议您检查网络问题并审查 SQL*Net 设置。
•如果连接到 Oracle 9.2.0.5,则在很多情况下,造成此错误的主要原因是 Oracle 错误 3010227。
请要求 Oracle 数据库管理员应用 Oracle修补程序 9.2.0.6 或适合您服务器的另一个修补程序。
•将 Oracle 初始化参数“STAR_TRANSFORMATION_ENABLED”设置为FALSE。
解决突然间Oracle上报Ora-12514TNS:监听程序当前⽆法识别链接描述符中请求的服务。
1、OracleServiceORACLE: 若该服务未启动,将会导致Oracle错误- Ora-12514:TNS:监听程序当前⽆法识别链接描述符中请求的服务。
2、OracleOraDb10g_home1TNSListener:该服务对应 %Oracle_Hoem\bin\TNSLSNR.EXE若该服务未启动,,将会导致Oracle错误- Ora-12514:TNS:⽆监听程序。
3、OracleServiceORACLE:若该服务未启动,将会导致Oracle错误- Ora-12514:TNS:监听程序当前⽆法识别链接描述符中请求的服务。
但是,启动了该服务也有可能导致该错误。
解决⽅法如下:打开:%Oracle_Home%/network/admin/listener.ora⽂件在SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = D:\Oracle\Oracle10g)(PROGRAM = extproc))后⾯添加:(SID_DESC =(GLOBAL_DBNAME = ORACLE)(ORACLE_HOME = D:\Oracle\Oracle10g)(SID_NAME = ORACLE))/******ORACLE 指当前数据库中需要开启哪个SID**************/最后变成:SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = D:\Oracle\Oracle10g)(PROGRAM = extproc)) (SID_DESC =(GLOBAL_DBNAME = ORACLE)(ORACLE_HOME = D:\Oracle\Oracle10g)(SID_NAME = ORACLE)))以上内容来源于,仅作学习使⽤。
Oracle常见错误及解决⽅法1、ORA-12541:TNS:没有监听器原因:没有启动监听器或者监听器损坏。
如果是前者,使⽤命令net start OracleOraHome81TNSListener(名字可能有出⼊)即可;如果是后者,则使⽤“Net8 Configuration Assistant”⼯具向导之“监听程序配置”增加⼀个监听器即可(基本不⽤写任何信息,⼀路OK。
在添加之前可能需要把所有的监听器先删除!)2、ORA-12500:TNS:监听程序⽆法启动专⽤服务器进程或 ORA-12560:TNS:协议适配器错误原因:ORACLE的数据库服务没有启动。
使⽤命令net start ORACLESERVICEORADB(ORADB为数据库名字)即可。
如果仍没有解决,请继续向下看。
3、如果数据库服务启动失败,则很有可能是其注册表项值损坏,最好的做法是以下两步:1)ORADIM -DELETE -SID oradb 删除数据库服务项2)ORADIM -NEW -SID oradb 新增数据库服务项注:这个过程中如果出错,就重启计算机!4、ORA-12154:TNS:能解析服务名原因:ORACLE的⽹络服务名没有正确配置。
请使⽤“Net8 Configuration Assistant”⼯具向导之“本地⽹络服务名配置”配置TNS即可。
如果仍没有解决,请继续向下看。
5、ORA-1034 :TNS:ORACLE不可⽤原因:ORACLE的数据库服务正确启动,但是数据库没有打开!使⽤命令:1)svrmgrl 启动服务管理器2)connect internal 以internal⾝份登陆3)startup 打开数据库6、ORA-12560:TNS:协议适配器错误(顽固性的)原因:未知。
解决:必杀技--打开“Windows任务管理器”,杀死ORACLE.exe及ORADIM.exe进程,书写⾃⼰的ora_startup.bat,执⾏之!7、ORA-12638:⾝份证明检索失败原因:服务端开了防⽕墙,且使⽤了本地操作系统认证解决:修改sqlnet.ora⽂件,1)NTS改为NONE,oracle将采⽤⼝令⽂件认证(此时 remote_login_passwordfile=exclusive)如connect /as sysdba 登录,后报错RA-01031: insufficient privileges,实际上是要求你输⼊sysdba的⽤户名和密码SQLNET.AUTHENTICATION_SERVICES= (NONE)2)修改查找连接的字符串顺序:tnsnames.ora,直接使⽤简单连接字符串,使⽤计算机名称NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT, HOSTNAME)8、ArcSDE数据被锁定后的解锁⽅法描述:(1)删除所选对象失败锁定请求与已有锁定冲突。
Oracle常见错误及解决办法Ø简介本⽂主要记录 Oracle 常见错误及解决办法,包括以下内容:1.ORA-00054: 资源正忙, 但指定以 NOWAIT ⽅式获取资源, 或者超时失效2.ORA-01034: ORACLE not available3.ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated(启动数据库报错)4.ORA-12154: TNS: ⽆法解析指定的连接标识符5.ORA-12514: TNS:listener does not currently know of service requested in connect descriptor6.ORA-12541: TNS:no listener7.ORA-12560: TNS: 协议适配器错误8.ORA-27125: unable to create shared memory segment(启动数据库报错)9.ORA-28040: 没有匹配的验证协议((11g dblink 连接 12c 时)1.ORA-00054: 资源正忙, 但指定以 NOWAIT ⽅式获取资源, 或者超时失效n错误原因由于其他 Session 已经对⽬标表做了操作,并且已经有排他锁在表上了,所以新的 Session ⽆法再对表进⾏DDL操作。
n解决办法以 system ⽤户登录:1)查询被锁的会话IDselect session_id from v$locked_object;2)查询 sid, serial# 字段SELECT sid, serial#, username, osuser FROM v$session where sid = 9;3)将锁定的会话关闭ALTER SYSTEM KILL SESSION '9,99';2.ORA-01034: ORACLE not available1)检查当前数据库实例是否启动3.ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated(启动数据库报错)n错误描述SQL> startupORA-01261: Parameter db_recovery_file_dest destination string cannot be translatedORA-01262: Stat failed on a file destination directoryLinux-x86_64 Error: 2: No such file or directoryn解决办法(没有效果)不知道是什么原因,导致 $ORACLE_BASE/fast_recovery_area 少了这个⽬录,⽽导致了这个错误。
ORACLE 11g 断电重启报错的相关修复由于服务器突然断电,造成oracle连接的时候报错。
用客户端连接的时候报的错误信息如下:ORA-01033: ORACLE initialization or shutdown in progress做了一下操作SQL> shutdown abortORACLE 例程已经关闭。
SQL> startup mountORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务这个时候请大家把listener.ora里面的上方加上,具体的原因请大家看后面文章的解释。
SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = JCZ)(ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)(SID_NAME = JCZ)))继续向下操作执行 startup命令是报:ORA-01589: 要打开数据库则必须使用RESETLOGS 或NORESETLOGS 选项解决如下:SQL> shutdown abortORACLE 例程已经关闭。
SQL> startupORACLE 例程已经启动。
Total System Global Area 711430144 bytesFixed Size 1374584 bytesVariable Size 444597896 bytesDatabase Buffers 260046848 bytesRedo Buffers 5410816 bytes数据库装载完毕。
ORA-01589: 要打开数据库则必须使用RESETLOGS 或NORESETLOGS 选项SQL> alter database open resetlogs;alter database open resetlogs*第1 行出现错误:ORA-01152: 文件1 没有从过旧的备份中还原ORA-01110: 数据文件1: 'C:\APP\ADMINISTRATOR\ORADATA\JCZ\SYSTEM01.DBF'SQL> recover database using backup controlfile;ORA-00279: 更改24153794 (在07/20/2012 09:28:29 生成) 对于线程1 是必需的ORA-00289: 建议:C:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\JCZ\ARCHIVELOG\2012_07_23\O1_MF_1_93 9_%U_.ARCORA-00280: 更改24153794 (用于线程1) 在序列#939 中指定日志: {<RET>=suggested | filename | AUTO | CANCEL}C:\app\Administrator\oradata\jcz\REDO03.LOG已应用的日志。
Oracle常见错误代码的分析与解决在使用ORACLE的过程过,我们会经常遇到一些ORACLE产生的错误,对于初学者而言,这些错误可能有点模糊,而且可能一时不知怎么去处理产生的这些错误,本人就使用中出现比较频繁的错误代码一一做出分析,希望能够帮助你找到一个合理解决这些错误的方法,同时也希望你能够提出你的不同看法。
毕竟作为一种交流的手段,个人意见难免过于偏颇,而且也必定存在着不足,出错之处在所难免。
写这篇文章的目的就是想通过相互之间的交流共同促进,共同进步。
ORA-01650:unable to extend rollback segment NAME by NUM intablespace NAME产生原因:上述ORACLE错误为回滚段表空间不足引起的,这也是ORACLE数据管理员最常见的ORACLE错误信息。
当用户在做一个非常庞大的数据操作导致现有回滚段的不足,使可分配用的回滚段表空间已满,无法再进行分配,就会出现上述的错误。
解决方式:使用“ALTER TABLESPACE tablespace_name ADD DATAFILE filename SIZE size_of_file”命令向指定的数据增加表空间,根据具体的情况可以增加一个或多个表空间。
当然这与还与你主机上的裸盘设备有关,如果你主机的裸盘设备已经没有多余的使用空间,建议你不要轻意的增加回滚段表空间的大小,可使用下列的语句先查询一下剩余的tablespace空间有多少:Select user_name,sql_text from V$open_cursor where user_name=’’;如果多余的空间比较多,就可以适当追加一个大的回滚段给表空间使用,从而避免上述的错误。
你也可以用以下语句来检测一下rollback segment的竞争状况:Select class,count from V$waitstat where calss in(‘system undo header’,’system undo block’,’undo header’,’undo block’);和Select sum(value) from V$sysstat where name in (‘db_block_gets’,’consistents gets’);如果任何一个class in count/sum(value)大于1%,就应该考虑增加rollback segment。
Oracle 数据库登录时出现ORA-12514 、ORA-01034、ORA-27101、ORA-01033 错误的解决分类:Oracle SQL 开发2011-07-06 19:02 88人阅读评论(0) 收藏举报今天我的Oracle遇到了登录问题,什么原因造成的,我也不清楚,可以说我都没乱搞,问题就不期而遇了。
我按照网上的提示,折腾了一个下午,才解决这个问题。
真是累啊!为了不让朋友像我这样困惑,我特地把解决过程说一下,其实用到的方法也是网友们提供的,我只是组合一下而已。
第一次登录时提示ORA-12514这个错误,解决这个错误的办法是更改listener.ora文件:SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = G:\oracle\product\10.2.0\db_1)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = orcl)(ORACLE_HOME = G:\oracle\product\10.2.0\db_1)(SID_NAME = orcl)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))))更改后,重启监听器,会继续提示ORA-01034、ORA-27101错误,解决这个问题的办法是:1、进入Widonw命令窗口,输入:sqlplus/nolog,回车。
2、继续输入connect as sysdba,然后输入dba的账号和密码,回车。
3、连上之后,输入startup,启动即可。
这时,不管你用sqlplus或pl/sql以sys身份登录,能够登录成功,但你无法查看数据,并提示一连串的?号,当你想以别的身份如system、scott登录时,会提示ORA-01033 这个错误。
oracle中常出现的错误信息及解决方案Oracle中常出现的错误信息及解决方案错误信息一:ORA-00001 违反唯一约束条件最常见的问题原因是:主键序列化问题,即ORACLE表主键ID突然从已经存在的ID值开始自动生成,导致违反主键唯一性约束;解决方案,修改序列值,将序列最小值值设置的大一些。
如果在修改的时候出现违反唯一约束,说明你对主键值进行修改时出现重复,或者没加where条件。
错误信息二:oracle ORA-01745: 无效的主机/绑定变量名最常见的原因:sql语句中语法错误太多,例:多写了一个冒号或逗号,或者变量名称使用了oracle关键字解决方案:审查sql语句,更改为正确的sql语句。
错误信息三:ORA-01460: 转换请求无法实现或不合理常见原因有一下几种:1.读入到数据库中的字符过长无法实现。
解决方案:将字符串(只有4000)类型改为clob类型2.客户端和服务端字符集不一致。
解决方案:step1、通过执行select * from V$NLS_PARAMETERS查看服务端字符集PARAMETER VALUENLS_LANGUAGE AMERICANNLS_TERRITORY AMERICANLS_CURRENCY $NLS_ISO_CURRENCY AMERICANLS_NUMERIC_CHARACTERS .,NLS_CALENDAR GREGORIANNLS_DATE_FORMAT DD-MON-RRNLS_DATE_LANGUAGE AMERICANNLS_CHARACTERSET ZHS32GB18030NLS_SORT BINARYNLS_TIME_FORMAT HH.MI.SSXFF AMNLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZRNLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZRNLS_DUAL_CURRENCY $NLS_NCHAR_CHARACTERSET UTF8NLS_COMP BINARYNLS_LENGTH_SEMANTICS BYTENLS_NCHAR_CONV_EXCP FALSEstep2、通过regedit修改注册表(仅讨论windows版)进行客户端的字符集,位置\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS _LANG修改为[NLS_LANGUAGE ]_[NLS_ISO_CURRENCY]_[NLS_CHARAC TERSET],如上面的的服务器,应该修改为:AMERICAN_AMERICA.ZHS32GB18030。
ORA-12519错误解决方案ORA-12519错误解决方案系统正常运行一个月后,上线第一天出现了下列错误,想了很久没有思路。
java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=169869568)(ERR=12 519)(ERROR_STACK=(ERROR=(CODE=12519)(EMFI=4)))) 后来排查出数据库监听异常,发现是ORA-12519拒绝错误。
后来发现是数据的连接池达到的极致。
具体解决方案如下:--首先检查process和session的使用情况,在sqlplus里面查看。
SQL> show parameter processesNAME TYPE VALUE------------------------------------ ----------- ------------------------------aq_tm_processes integer 0db_writer_processes integer 6gcs_server_processes integer 0job_queue_processes integer 0log_archive_max_processes integer 2processes integer 150SQL> select count(*) from v$process;COUNT(*)----------147--明显process已经几乎达到了顶峰。
SQL> show parameter sessionNAME TYPE VALUE------------------------------------ ----------- ------------------------------java_max_sessionspace_size integer 0java_soft_sessionspace_limit integer 0license_max_sessions integer 0license_sessions_warning integer 0logmnr_max_persistent_sessions integer 1 session_cached_cursors integer 20session_max_open_files integer 10sessions integer 160shared_server_sessions integerSQL>SQL> select count(*) from v$session;COUNT(*)----------153--同样几乎达到顶峰。
系统在运行时出现了ORA-12519的错误,无法连接数据库,后来在网上找了下,找到了如下的解决方法,共享下。
OERR: ORA-12519 TNS:no appropriate service handler found客户端连接间歇性失败,报错ORA-12519Cause: the listener could not find any available service handlers that areappropriate for the client connection.Action: 检查lsnrctl service ,instance已经注册,状态显示ready时,可以连接。
When the listener believes the current number of connections has reached maximum load,it may set the state of the service handler for an instance to "blocked" and begin refusingincoming client connections with either of the following errors: ora-12519 or ora-12516采用服务动态注册的方式,由PMON 通过SERVICE_UPDATE 来得到目前连接情况,但SERVICE_UPDATE 有时间间隔,所以,listener显示的连接数和当前实际的连接数可能不同。
解决方法就是修改ORACLE的processes的值。
1.process 和session的概念:process:这个参数限制了能够连接到SGA的操作系统进程数(或者是Windows 系统中的线程数),这个总数必须足够大,从而能够适用于后台进程与所有的专用服务器进程,此外,共享服务器进程与调度进程的数目也被计算在内.此外,共享服务器进程与调度进程的数目也被计算在内.因此,在专用服务器环境中,这是一种限制并发连接数的方法.疑点一:能够连接到SGA的操作系统进程数,这种进程包括哪些进程? Windows系统中的线程数,是指所有与oracle相关的进程的线程数之和?疑点二:在共享服务器和专用服务器环境中,算法有什么不同?哪位兄弟了解比较透彻,请指点一下,拜谢!Sessions:是被应用于oracle层次而非操作系统层次.在不考虑通过专用服务器或共享服务器进行登录的情况下,这个参数限制了对指定实例的并发登陆数.疑问:在C/架构中,是指Oracle用户登陆建立的会话数?在B/S架构中又怎么算呢?2,尽管概念不是很明白,遇到这种问题还得干活先:1).通过SQLPlus修改Oracle的sessions和processes的关系是sessions=1.1*processes + 5使用sys,以sysdba权限登录:SQL> show parameter processes;NAME TYPE VALUE------------------------------------ ----------- --------------------------------------- aq_tm_processes integer 1db_writer_processes integer 1job_queue_processes integer 10log_archive_max_processes integer 1processes integer 150SQL> alter system set processes=400 scope = spfile;系统已更改。
1、ORA-12541:TNS:没有监听器原因:没有启动监听器或者监听器损坏。
若是前者,使用命令net start OracleOraH ome10gTNSListener(名字可能有出入)即可;如果是后者,则使用“Net Configuration Assistant”工具向导之“监听程序配置”增加一个监听器即可(基本不用写任何信息,一路O K。
在添加之前可能需要把所有的监听器先删!)2、ORA-12500:TNS:监听程序无法启动专用服务器进程或ORA-12560:TNS:协议适配器错误原因:ORACLE的数据库服务没有启动。
使用命令net start ORACLESERVICEORA DB(ORADB为数据库名字)即可。
如果仍没有解决,请继续向下看。
3、如果数据库服务启动失败,则很有可能是其注册表项值损坏,最好的做法是以下两步:1)ORADIM -DELETE -SID oradb 删除数据库服务项2)ORADIM -NEW -SID oradb 新增数据库服务项注:这个过程中如果出错,就重启计算机!4、ORA-12154:TNS:能解析服务名原因:ORACLE的网络服务名没有正确配置。
请使用“Net8 Configuration Assistan t”工具向导之“本地网络服务名配置”配置TNS即可。
如果仍没有解决,请继续向下看。
5、ORA-1034 :TNS:ORACLE不可用原因:ORACLE的数据库服务正确启动,但是数据库没有打开!使用命令:1)svrmgrl 启动服务管理器2)connect internal 以internal身份登陆3)startup 打开数据库6、ORA-12560:TNS:协议适配器错误(顽固性的)原因:未知。
解决:必杀技--打开“Windows任务管理器”,杀死ORACLE.exe及ORADIM.exe进程,书写自己的ora_startup.bat,执行之!PS:1、ora_startup.bat:net start OracleOraHome81TNSListenernet start ORACLESERVICEORADBsvrmgrl 一般情况下不用,不过有时少不了它的,具体步骤见第5步。
1、ORA-12560: TNS: 协议适配器错误场景:在cmd窗口输入:sqlplus "/as sysdba"想打开数据库时报的错;原因:没有启动Oracle服务器;解决:WIN+R,跳出运行窗口,输入"services.msc",打开服务窗口;找到OracleServiceORACLE服务,查看是否为启动,右键启动即可。
2、ORA-12541:TNS:no listener场景:用pl/sql developer客户端连接数据库;原因:监听器没有启动;解决:打开服务,启动OracleOraDB12Home1TNSListener。
3、ORA-28547:connection to server failed,probable Oracle Net admin error 场景:将监听器配置文件:listener.ora中的SID_NAME 更改后导致的;原因:多数是因为navicat本地的OCI版本与Oracle服务器器不符造成的;解决:将SID_NAME修改为原来的名称。
4、ORA-01438因为插入的数值大于所在的列的最大允许精度。
5、ORA-12899字符值大于此列指定的允许精度6、ORA-00942:表或视图不存在表或试图不存在7、ORA-01400: 无法将NULL 插入("SCOTT"."ITEMS"."ITEMNAME")因向表中插入数据时,主键/约束的列为空。
8、ORA-00001: 违反唯一约束条件(SCOTT.PK_ITEMS)因想表中插入数据时,某列设置了唯一约束,插入的值,表中已经存在了。
9、ORA-01017: 用户名/口令无效; 登录被拒绝有可能用户名或者密码错误10、ORA-01507有可能是关系数据库后,启动的时候没有加载数据库,如:startup nomount就是启动实例不加载数据库的11、ORA-01034: ORACLE not available数据库处于关闭状态。
Oracle的连接时ORA-12519错误业务系统试运⾏期间,后台⼀直报12519异常,详情参见下图:问题:系统在运⾏时出现了ORA-12519的错误,⽆法连接数据库(并不是Oracle数据库、或者监听连接不了),客户端连接间歇性失败,报错ORA-12519。
报错:OERR: ORA-12519 TNS:no appropriate service handler found => 没有找到合适的服务处理程序。
有时候连得上数据库,有时候⼜连不上;可能是数据库上当前的连接数⽬已经超过了它能够处理的最⼤值。
(注意:尽管可能并没有多少⼈使⽤系统)解决:修改Oracle最⼤连接数。
1、检查process和session使⽤情况⾸先检查process和session的使⽤情况,在sqlplus⾥⾯查看。
processes的官⽅解析:PROCESSES specifies the maximum number of operating system user processes that can simultaneously connect to Oracle. Its value should allow for all background processes such as locks, job queue processes, and parallel execution processes.The default values of the SESSIONS and TRANSACTIONS parameters are derived from this parameter. Therefore, if you change thevalue of PROCESSES, you should evaluate whether to adjust the values of those derived parameters.processes指定了可以同时连接到oracle的最⼤操作系统⽤户数,os层⾯。