oracle常见问题汇总
1).Oracle游标超过设定值
问题情况:存储过程计算过程报错,使用游标数过多,系统游标设定太小,需要重新设置最大游标数
1、查看Oracle最大游标数
--oracle命令,以sys用户,dba连接
C:\Documents and Settings\Administrator>sqlplus "sys/admin@test151 as sysdba"
--查看游标设置值
SQL> show parameter open_cursors;
NAME TYPE VALUE
------------------------------------ ----------- -------------------
open_cursors integer 300
2、查看当前打开的游标数目
SQL> select count(*) from v$open_cursor;
COUNT(*)
----------
1321
3、修改Oracle最大游标数
SQL> alter system set open_cursors=2000 scope=both;
系统已更改。
--查看游标设置值
SQL> show parameter open_cursors;
NAME TYPE VALUE
------------------------------------ ----------- --------------------
open_cursors integer 2000
2)报错:ORA-01591锁定已被有问题的分配事务处理,重启数据库解决不了。
问题情况:当oracle数据库服务器需要往sqlserver2005上写点数据,通过建立透明网关使用dblink实现了功能,出现上述问题ORA-01591。
解决办法如下:
1、使用Oracle DBA用户,查询如下数据字典:select * from dba_2pc_pending
2、强制Rollback或者Commit该事务:
select 'commit force '''|| local_tran_id||''';' from dba_2pc_pending;
select 'rollback force '''|| local_tran_id||''';' from dba_2pc_pending;
执行查询出来的sql。
3)oracle存储过程死锁终止:
问题描述:在存储过程执行到一半时候,强行终止它,这个时候看session 是杀掉了,但存储过程还是不能重新编译,表明它还锁着。或者在存储过程执行时,进行修改编译,产生死锁。
windows下存储过程死锁终止:sqlplus "/as sysdba"
--1.查询被锁住的进程
SELECT * FROM V$DB_OBJECT_CACHE WHERE name='DEBT_YC_CHECK_PROC' AND LOCKS!='0';
--通过过程名查V$ACCESS视图,查到SID
select SID from V$ACCESS WHERE object='DEBT_YC_CHECK_PROC';
--2.查询会话(SESSION_ID,SERIAL#)
SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='885';
--查询库名及进程名
select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=885 ;
--3.先杀Oracle死锁进程-杀掉会话
--ALTER SYSTEM KILL SESSION 'sid,serial#';
alter system kill session '885,46883';
--4.如果还不能解决再杀操作系统进程,杀掉进程
orakill sid thread
其中:
sid:表示要杀死的进程属于的实例名
thread:是要杀掉的线程号,即第2步查询出的spid
4)ora-00600错误,内部错误代码,参数: [kcratr1_lostwrt], [], [], [], [], [], [], []
问题情况:一次是正常关机后启动时报这样的错误,一次是非法关机后启动报这样的错误。
--dba用户输入,运行中sqlplus命令窗口
sqlplus "/ as sysdba"
--启动数据库
sql>startup mount
--恢复数据库
sql>recover database
--停止数据库
sql>stutdown immediate
--启动数据库
sql>startup
上一篇: win10电脑搭建无盘工作站
推荐阅读
-
山东财经大学东方学院转设合并公办吗?附山东独立学院转设公办情况汇总
-
Java与Oracle实现事务(JDBC事务)实例详解
-
2021警校高考预计分数线(含多省份)?最低分的二本警察学校名单汇总
-
分数线最低的本科大学有哪些?附本科最低分数线的大学名单汇总(2021参考)
-
Mysql获取id最大值、表的记录总数等相关问题的方法汇总
-
python中异常报错处理方法汇总
-
全国录取分数线最低的大学有哪些?附各省最低大学名单汇总
-
400到450分理科大学公办-理科生400到450分大学名单汇总(2021年参考)
-
2021年450分理科能上什么大学?450左右的理科二本大学名单汇总
-
MySQL中实现插入或更新操作(类似Oracle的merge语句)