sql >> Database teknologi >  >> RDS >> Oracle

Oracle:Hvordan finder man ud af, om der er en afventende transaktion?

du kan kontrollere, om din session har en række i V$TRANSACTION (det kræver selvfølgelig læserettigheder på denne visning):

SQL> SELECT COUNT(*)
       FROM v$transaction t, v$session s, v$mystat m
      WHERE t.ses_addr = s.saddr
        AND s.sid = m.sid
        AND ROWNUM = 1;

  COUNT(*)
----------
         0

SQL> insert into a values (1);

1 row inserted

SQL> SELECT COUNT(*)
       FROM v$transaction t, v$session s, v$mystat m
      WHERE t.ses_addr = s.saddr
        AND s.sid = m.sid
        AND ROWNUM = 1;

  COUNT(*)
----------
         1

SQL> commit;

Commit complete

SQL> SELECT COUNT(*)
       FROM v$transaction t, v$session s, v$mystat m
      WHERE t.ses_addr = s.saddr
        AND s.sid = m.sid
        AND ROWNUM = 1;

  COUNT(*)
----------
         0


  1. Få optegnelser fra sidste måned i SQL server

  2. Hvordan kan jeg få enum mulige værdier i en MySQL-database?

  3. Postgres Query Plan, hvorfor rækkeestimering er så forkert

  4. Sådan bruges CASE Statement i MySQL