草庐IT

ora-00001

全部标签

Oracle无法连接!ORA-12541:TNS:无监听程序:亲测有效!

问题描述安装完Oracle链接时提示ORA-12541:TNS:无监听程序:前提,你的其他安装操作都正确。总结:把总结写在前面节约大家时间1.关闭所有Oracle服务2.配置netManager3.配置NetConfigurationAssistant4.打开服务OracleOraDb11g_home1TNSListenerOracleServiceORCL1.打开服务停止所有的Oracle服务。2.然后搜索打开netManager我这里是本地连接所以直接写了回环地址。也可以写你的IP地址填好后,点左上角文件进行保存。##3.然后打开NetConfigurationAssistant2.有就重

解决oracle死锁,生产问题,ORA-00060: deadlock detected while waiting for resource,

目录项目场景:问题描述原因分析:解决方案:其他解决方案:项目场景:oracle数据库在做大量的批量更新同一张表数据。问题描述早上来公司去生产环境查grelog日志,发现ERROR日志,点进去看后报如下错误:ORA-00060:deadlockdetectedwhilewaitingforresource原因分析:从错误的中一看就知道oracle数据库发生了死锁。去生产的log日志查看,发现同一时间点左右,还有一个批量更新同一条数据的慢sql日志。这个慢sql的更新和这个死锁的sql更新互斥了。导致了死锁。死锁的异常抛出后,这个慢sql就执行成功了。在本地也写单元测试实例,跑出了同样的结果。猜测

ORA-28040 :没有匹配的验证协议(添加sqlnet.ora内容说明,rac不适用)

虽然在sqlnet.ora加SQLNET.ALLOWED_LOGON_VERSION=8可以解决,但由于这个参数在12c已经废弃了,如果继续使用,会在alert/log.xml无穷无尽的报“UsingdeprecatedSQLNET.ALLOWED_LOGON_VERSIONparameter.”因此,正确的做法是在$ORACLE_HOME/network/admin/sqlnet.ora加SQLNET.ALLOWED_LOGON_VERSION_SERVER=8SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8区别如下:SQLNET.ALLOWED_LOGON_VER

ORA-28040 :没有匹配的验证协议(添加sqlnet.ora内容说明,rac不适用)

虽然在sqlnet.ora加SQLNET.ALLOWED_LOGON_VERSION=8可以解决,但由于这个参数在12c已经废弃了,如果继续使用,会在alert/log.xml无穷无尽的报“UsingdeprecatedSQLNET.ALLOWED_LOGON_VERSIONparameter.”因此,正确的做法是在$ORACLE_HOME/network/admin/sqlnet.ora加SQLNET.ALLOWED_LOGON_VERSION_SERVER=8SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8区别如下:SQLNET.ALLOWED_LOGON_VER

解决Oracle的CLOB数据类型大于4000时的数据太大的问题ORA-01704: string literal too long

问题场景当前需求的保存一个前端传入的大json文件或者图片base64后的字符串,由于Oracle的该字段的数据类型是clob,且插入的数据大小超过4000,导致无法通过正常的sql插入。建表语句:CREATETABLE"MYTOOLS"."T_BOOK"( "RID"VARCHAR2(32)NOTNULLENABLE, "BOOK_NAME"VARCHAR2(32), "PRICE"NUMBER(10,2), "IMAGE"CLOB, "AUTHOR"VARCHAR2(50), CONSTRAINT"SYS_C0011090"PRIMARYKEY("RID")USINGINDEXPCTFRE

ORA-01704: 字符串文字太长 报错解决办法

oracleclob字段插入超过4000个字符串时会报错ORA-01704:字符串文字太长网上很多答案都是不正确的,搞什么存储过程变量之类的最有效的办法是把插入的字符切割成多个4000小块,然后用TO_CLOB()函数把字符串转成clob格式,再使用||拼接起来,如下示例insertinto"RESULT"("ACCESS_NUMBER","PATIENT_ID","PATIENT_NAME","GENDER","AGE","BIRTHDAY","CHECK_SEE","CHECK_RESULT","PDF")values('clinid20221122001','cid4464','pat_

PLSQL Developer配置文件tnsnames.ora

我的环境:1、远程Oracle数据库:Oracle11gR22、PL/SQL程序:PL/SQLDeveloperVersion11.0.5.1790(64bit)前言:我们在安装完Oracle数据库后,如直接在服务器里用自带的命令行操作太繁琐,所以PL/SQLDeveloper客户端的好处就显而易见了,这个估计大家都知道不用多说。一般我们IT都是需要连接多台正式及测试环境数据库的,这时候就需要用到提前配置数据库文件tnsnames.ora,便于我们操作。在运行程序前前提必要条件1)Oracle数据库已启动;2)要连接的oracle数据库监听服务开启,即1521端口处于监听状态。1、最简单也是准

Flink CDC Oracle 用户权限不足 ORA-01031: insufficient privileges

FlinkCDCOracle用户权限不足版本:flink1.14.5、flinkcdc2.2.1、oracle11g、场景:flinkcdc实时抽取oracle的数据表。DBA为了数据库安全考虑,对访问用户权限进行控制。将oracle的flinkuser用户XE下的orders表授权只读权限给readuser用户。授权情况如下:createuserreaduseridentifiedby'123456';grantcreatesession,execute_catalog_role,select_catalog_roletoreaduser;grantselectonflinkuser.ord

解决ORA-01400报错过程中遇到的问题

报错信息:ORA-01400:cannotinsertNULLinto("OWNER"."TABLE_NAME"."COLUMN_NAME")问题原因:对不允许为NULL的字段插入了NULL。解决办法:要么赋给该字段一个值使它不为空,要么执行altertable"TABLE_NAME"modify"COLUMN_NAME"NULL;使该字段允许为空。但有时候执行上面语句会返回报错:ORA-01451:columntobemodifiedtoNULLcannotbemodifiedtoNULL不允许将NULL字段修改为NULL字段。desc "TABLE_NAME";发现"COLUMN_NAME

ERROR:ORA-12504:TNS:监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME

使用本地的PL/SQL连接服务器上的Oracle数据库,系统提示ORA-12504:TNS:监听程序在CONNECT_DATA中未获得SERVICE_NAME。解决方法:连接时需要输入数据库的实例名称,以我本地为例,实例名称为orcl登录成功之后,再次登录可以不输入,但第一次是需要输入正确的实例名称。