首页 > 数据库 >oracle 长事务处理过程

oracle 长事务处理过程

时间:2023-04-20 16:24:48浏览次数:40  
标签:-------- 事务 处理过程 绑定 -------------------- session SQL oracle 497

1.定位具体xid和sql,可以看到回滚段大小,具体的sqlid

SQL> @trans

SID SERIAL# USERNAME USED_UBLK USED_UREC STATUS START_DATE XID
-------- -------- ------------- ----------- ----------- -------- -------------------- ----------------
497 6069 SYS 1 1 ACTIVE 20-APR-23 050011008E0B0000

select sid,sql_id,OSUSER,PROCESS,MACHINE,TERMINAL,PROGRAM,MODULE,PREV_SQL_ID from v$session where sid='497';
SQL> /

     SID SQL_ID        OSUSER            PROCESS             MACHINE          TERMINAL             PROGRAM          MODULE                 PREV_SQL_ID
-------- ------------- -------------------- ------------------------ -------------------- ------------------------------ -------------------- ------------------------------ -------------
     497           oracle            20819             vm01          pts/1              sqlplus@vm01 (TNS V1 sqlplus@vm01 (TNS V1-V3)         37drwtbf84008
SQL> @sqltext
Parameter 1,SQL_ID (required):

Enter value for 1: 37drwtbf84008
37drwtbf84008
==============================
insert into hrz values(100)

2.这里定位出具体语句可以在看一下语句具体是什么原因没有提交是不是数据库自身问题

联系应用是否是程序本身问题,如果应用依赖表中数据

SQL> alter system kill session '497,6069';

System altered.

3.出现了等待事件并且有绑定变量情况

SQL> @sqlbind
Enter value for 1: 37drwtbf84008

详:v$sql_bind_capture

显示SQL游标使用的绑定变量的信息,但是不是所有绑定变量数值都显示,只有绑定变量的类型很简单(不包括LONG、LOB和ADT数据类型),并且绑定变量在SQL语句的WHERE或HAVING子句中使用才显示。

4.查看有没有死锁

SQL> delete from hrz where id=400;
delete from hrz where id=400
                      *
ERROR at line 1:
ORA-00060: deadlock detected while waiting for resource
Deadlock graph:
                                          ------------Blocker(s)-----------  ------------Waiter(s)------------
Resource Name                             process session holds waits serial  process session holds waits serial
TX-00060014-00000BA1-5C2156EE-00000000         33     456     X        42441      61     489           X  33870
TX-0007001F-00000B93-5C2156EE-00000000         61     489     X        33870      33     456           X  42441

注:联系应用处理死锁影响问题

 

标签:--------,事务,处理过程,绑定,--------------------,session,SQL,oracle,497
From: https://www.cnblogs.com/dbahrz/p/17337246.html

相关文章

  • oracle 插入字符串
    一直都认为oracle有插入方法,可是没找到,就写了一个凑合用写的是procedure,需要的可以把他改成function--插入字符串createorreplaceprocedureinsert_pro(strinvarchar2,--str为原字符串strindexinnumber,--strindex为插入的开始位置,会插入他的后边......
  • oracle 分页存储过程
     查询oracle时,做存储过程实现分页  createorreplaceprocedurequery_by_page(pagenuminnumber,pagesqlinvarchar2,pagesizeinnumber,pagecountoutnumber,allpagecountoutnumber,v_curoutquerypage.type_cur)asv_sqlvarchar2(3000);v_pbnumber;v_pd......
  • oracle 获取表,列注释
    前段时间,自己用的表好长,列好多(这是谁设计滴)所以给自己写了几个方法,贴出来晒晒,供以后使用: 获取列的注释createorreplacefunctionget_column_comment(tablenameinvarchar2,columnnameinvarchar2)returnvarchar2asv_commentuser_col_comments.comments%type;begin......
  • oracle 分区
    创建分区--先声明一下:列表分区不支持多列,但是范围分区和哈希分区支持多列。createtablegraderecord--范围分区根据列的值的范围(snovarchar2(10),snamevarchar2(20),dormitoryvarchar2(3),gradeint)partitionbyrange(grade)(partitionfailvalues......
  • oracle 语法备忘录
     --游标cursorobject_cursorisXXX;openobject_cursor;closeobject_cursor;   --引用游标typetype_my_ref_cursorisrefcursor;//refcursormy_ref_cursortype_my_ref_cursor;openmy_ref_cursorforXXXclosemy_ref_cursor;   --触发器createorrepl......
  • 4 03 | 事务隔离:为什么你改了我还看不见?
    提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就是转账,你要给朋友小王转100块钱,而此时你的银行卡只有100块钱。转账过程具体到程序里会有一系列的操作,比如查询余额、做加减法、更新余额等,这些操作必须保证是一体的,不然等程序查完之后,还没做减法之前......
  • Oracle CASE WHEN 用法介绍
    1.CASEWHEN表达式有两种形式 --简单Case函数CASEsexWHEN'1'THEN'男'WHEN'2'THEN'女'ELSE'其他'END--Case搜索函数CASEWHENsex='1'THEN'男'WHENsex='2'THEN'女&......
  • redis 事务
    redis事务MULTI,EXEC,DISCARD和WATCH是Redis事务的基础。它们允许在一个步骤中执行一组命令,并有两个重要的保证:事务中的所有命令都被序列化并按顺序执行。在执行Redis事务的过程中,不会发生由另一个客户端发出的请求。这保证了命令作为一个单独的操作被执行。要么所有的命令都没......
  • Oracle MySQL Server 拒绝服务漏洞(CVE-2023-21912) 修复
    CVE编号公告标题和摘要最高严重等级受影响的软件CVE-2023-21912OracleMySQLServer拒绝服务漏洞未经身份验证的远程攻击者可通过MySQL协议网络访问MySQLServer,成功利用此漏洞可导致目标MySQLServer挂起或频繁重复崩溃,造成拒绝服务攻击重要MySQLServer<=5.7.41......
  • How to Configure SSL/TLS on ORACLE RAC
    GoalThisdocumentwilldemonstratethestepsrequiredtoconfigureSSL/TLSonRACorSIHA.Instructionisbyexampleandalsoshowsvariousmethodstocheckthestateoftheconfiguration. "SSL"inthisdocumentreferstoeitherSSLorTLSpr......