草庐IT

ora-00911

全部标签

ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

1.原因分析出现这个问题的原因是正在执行的操作请求的资源正被其他事务锁定。即上述异常代表有事务没有提交,因为刚好有表正在被操作且被锁,因此资源还未释放,导致处理需要等待资源释放。之后才搞清楚原来是有人对表执行了delete的sql语句,然后又突然给中断了,既没commit提交,也没rollback回滚,而导致的数据库锁表。即由于其他Session已经对目标表做了操作,并且已经有排他锁在表上了,所以新的Session无法再对表进行DDL/MDL(除select语句外)操作。2.解决办法v$locked_object视图记录锁表相关的内容。这个视图的结果需要有锁表的情况才会出现,主要可以通过它se

Oracle21C:Windows版本的安装、卸载、环境变量配置、避坑指南|ORA-12514|为什么安装目录没有bin目录

前言1、适读对象安装Oracle21C,因不得其法,各种报错,导致不能正常使用Oracle2、各种工具下载1)Oracle下载地址:官网下载页面2)navecat下载地址:navecate3)sqlplus下载地址:官网下载页面产品编号:kfsvzt6zh2exaxzxgjk44rv5kp2yp68vgk序列号:186220口令:xs374ca3、导读1)每个细节都截图,文章会拉的很长,为了节约各方宝贵时间,只讲重点!2)本文主要内容:重点介绍各种配置,各种避坑,粗略介绍卸载和安装!3)按下文介绍,各种莫名其妙的报错,至少给你规避了95%。4、系统环境 建议是Windows10+,内存至少4G

460.【数据库】解决 oracle: SQL 错误 [900] [42000]: ORA-00900: 无效 SQL 语句

早上在dbeaver上连接oracle数据库执行sql语句时出现如下报错:SQL语句:SELECTcount(*)FROMdates;报错信息:Error:942,Position:21,Sql=SELECTcount(*)FROMdates,OriginalSql=SELECTcount(*)FROMdates,ErrorMsg=ORA-00942:表或视图不存在报错信息原因分析:我使用system用户连接数据想要查询的数据库所在的schema名叫ssb1oracle里,每个用户只能查询当前session中的默认schema。问题解决:知道原因之后,问题就好解决了。我们只要把当前sessio

ora2pg使用记录

ora2pg使用记录前言这篇文章是我在学习使用ora2pg过程中的学习记录,以便日后遗忘查阅;诸君也可跟随我的步伐了解一下ora2pg,或可移步如下官方文档参考学习:Ora2Pg:MigratesOracletoPostgreSQL(darold.net)本文的ora2pg安装和使用记录是在win10系统下迁移远程Oracle数据库到远程PostgreSQL数据库的应用环境下进行的,如果你的应用场景不同,可简阅做思路参考!目录目录ora2pg使用记录前言目录初识ora2pg一、ora2pg是什么?(一)、Ora2Pg能做的迁移动作如下(二)、功能包括二、ora2pg下载安装及环境配置(一)、P

Oracle ORA-01033: ORACLE initialization or shutdown in progress(误删了DBF数据库文件导致)解决方法

先声明一下前期的一些手欠欠儿的操作导致oracl登录不进去了,起先是清理磁盘空间的时候误删除了orcleDBF数据文件后无法进入系统,plsql登录报错如下:一般情况下,删除表空间的正确方法是:DROPTABLESPACEBDCDJINCLUDINGCONTENTSANDDATAFILES;如果没有通过以上命令删除而直接删除了数据文件,那么数据库无法打开的,即使你用sys用户登录上去执行select操作也会警告如下:ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询如果执行命令alterdatabaseopen;则报错如下:ORA-01157: 无法标识/锁定数据文件 12- 请

ORA-01578、ORA-01110:数据块被损坏,此时无法读取文件

查看问题:1.使用oracle用户登录linux服务器,并进入sql模式#sqlplus/nolog2.超级管理员的权限操作数据库#conn/assysdba;3.查询不在线的数据selectname,statusfromv$datafileorderbyfile#;4.恢复数据#recoverdatafile5.再次查询文件数据文件为脱机状态#selectstatusfromv$datafilewherefile#=6;6.将文件挂上网#alterdatabasedatafile13online;7.确认文件状态#selectname,statusfromv$datafileorderbyf

Oracle连接数据库提示 ORA-12638:身份证明检索失败

ORA-12638是一个Oracle数据库的错误代码,它表示身份验证(认证)检索失败。这通常与数据库连接相关,可能由于以下几个原因之一引起:错误的用户名或密码:提供的数据库用户名或密码不正确,导致身份验证失败。配置问题:数据库配置文件(如sqlnet.ora或listener.ora)中的一些配置可能导致连接问题。网络问题:连接数据库时遇到网络问题,可能导致无法正确地进行身份验证。安全设置:数据库的安全设置可能导致身份验证失败,例如密码策略、用户锁定等。要解决这个问题,你可以尝试以下步骤:确认用户名和密码:确保你提供的用户名和密码是正确的。可能是输入错误,或者账户已被禁用或锁定。检查网络连接:

ORA-12505: TNS: 监听程序当前无法识别连接描述符中所给出的SID等错误解决方法【连接本机】

遇到这个问题首先考虑检查配置文件listener.ora和tnsnames.ora。1 listener.ora文件获取电脑主机名称:可通过dba登录sqlplus利用selectHOST_NAMEfromv$instance;语句查询主机名模板如下: SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=CLRExtProc)(ORACLE_HOME=D:\app\Lenovo\product\11.2.0\dbhome_1)(PROGRAM=extproc) (ENVS="EXTPROC_DLLS=ONLY:D:\app\Lenovo\produc

Oracle|ORA-28040 低版本客户端无法连接Oracle 19C

问题背景系统Oracle版本从原来的Oracle11g升级到Oracle19c后,PLSQL客户端连接报错:ORA-28040:NomatchingauthenticationprotocolORA-28040:没有匹配的验证协议问题原因客户端与服务器端的密码生成版本dba_users.password_versions不一致导致,升级前客户端密码版本如下:–查询Oracle服务器端密码版本selectd.password_versionsfromdba_usersd;解决方案1、在数据库服务器上找到sqlnet.ora文件/oracle/app/oracle/product/19.0.0.0

ORA-00054:resource busy and acquire with NOWAIT specified or timeout expired

一、故障描述:早晨接到个开发人员的问题,truncat tableT_USER_LABEL表时,报错:ORA-00054:resourcebusyandacquirewithNOWAITspecifiedortimeoutexpired,如下图。按照字面意思,是资源忙,被占用了。处理思路:查到谁在占用资源,并且杀掉占用该资源的会话就可以了。有可能产生的原因有:1.创建索引时会产生的锁 2.dml语句会产生的锁 3.索引创建时加上关键字online时产生的锁。解决处理方法:1.等待其他会话释放资源2.找出占用资源的会话,并删除3.重启数据库,当然只有第2种比较适用。 pl-sql中报错:sqlp