Scroll untuk baca artikel
DatabaseOracleToad

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

367
×

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

Sebarkan artikel ini
oracle database big
oracle database big
66 / 100

Pada posting kali ini, saya akan membagikan kendala yang saya hadapi saat proses query di toad, di aplikasi toad ada fitur untuk update, inserft  dan delete langsung di table tersebut menggunakan rowid, saat proses rowid atau sedang mengedit data koneksi wifi/ kabel lan mati. nah pada saat itu kita akan mencoba reconect ulang yang menggunakan koneksi hp, akan tetapi saat akan melanjutkan mengedit table ada tulisan ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired. solusinya cukup simpel login menggunakan user sys atau user yang diberi akses penuh selain sys. berikut contoh codenya yang akan kita masukan/jalankan di toad.Query di bawah ini akan memeriksa session aktif.

SELECT O.OBJECT_NAME,
       S.SID,
       S.SERIAL#,
       P.SPID,
       S.PROGRAM,
       SQ.SQL_FULLTEXT,
       S.LOGON_TIME
  FROM V$LOCKED_OBJECT L,
       DBA_OBJECTS O,
       V$SESSION S,
       V$PROCESS P,
       V$SQL SQ
 WHERE     L.OBJECT_ID = O.OBJECT_ID
       AND L.SESSION_ID = S.SID
       AND S.PADDR = P.ADDR
       AND S.SQL_ADDRESS = SQ.ADDRESS;

 

Contoh hasil dari query di atas kita bisa liat session yang masih aktif yaitu table tb_uraian_dokumen.

kill session rowid

Atau gunakan perintah berikut :

SELECT
   C.OWNER,
   C.OBJECT_NAME,
   C.OBJECT_TYPE,
   B.SID,
   B.SERIAL#,
   B.STATUS,
   B.OSUSER,
   B.MACHINE
FROM
   V$LOCKED_OBJECT A,
   V$SESSION B,
   DBA_OBJECTS C
WHERE
   B.SID = A.SESSION_ID
AND
   A.OBJECT_ID = C.OBJECT_ID;

Hasilnya sama dengan mengambil sid  dan serial

Untuk proses kill sessionnya maka gunakan script seperti berikut :

alter system kill session 'SID,SERIAL#';

Dari table di atas kita bisa tahu, SID yang digunakan dan no serialnya. maka untuk proses killnya.

kita masukan sid dan serialnya pada script kill di atas:

alter system kill session '17,57577';

 

Setelah kita kill, kita coba cek lagi apakah ada session yang aktif dengan menggunakan script yang awal di atas. dan hasilnya.

kill session berhasil
kill session berhasil

 

Sekian dari posting kali ini. Mudah-mudahan bermanfaat.

 

Referensi

https://stackoverflow.com/

Respon (0)

  1. Hello do you know that you can increase your conversion ratio couple
    of times and earn extra bucks every day.
    There is incredible landing pages tool. It is very easy even for noobs, if you are interested simply search
    in gooogle: pandatsor’s tools

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.

Verified by MonsterInsights