ORA-01562 dan ORA-01650

11 11 2008

Selagi kita jalanin update data yang lumayan gede error ini keluar, kebetulan kita jalanin update sekitar 8jt an data yang dipisah jadi beberapa query update, jadi tiap query paling ga jalanin update sekitar 2jt data.. berikut pesan errornya..

ORA-01562: failed to extend rollback segment
ORA-01650: unable to extend rollback segment RBS5 by 64 in tablespace RBS

ORA-01562: failed to extend rollback segment
hal ini berarti kita kehabisan space ditablespace yang berisi rollback segment. Dan ini berarti, kita mungkin mempunyai transaksi yang sangat besar yang menghabiskan semua space ditablespace. Yang bisa kita lakukan dalam kasus ini adalah cut down the size dari transaksi (dengan melakukan commit lebih banyak secara teratur) atau dengan solusi dibawah ini :

Solusi 1 :

Untuk menentukan nama dari roolback segment kita gunakan query berikut.

SELECT SEGMENT_NAME FROM DBA_ROLLBACK_SEGS WHERE SEGMENT_ID=<string> (string adalah nomor segment yang keluar di pesan error)

Kemudian gunakan command berikut untuk membuat rollback segment menjadi offline.

ALTER ROLLBACK SEGMENT <nama> OFFLINE;

Solusi 2 :

Naikkan nilai MAXEXTENTS di rollback segment dengan command berikut.

ALTER ROLLBACK SEGMENT <nama segment> STORAGE (MAXEXTENTS n);

dimana n adalah nilai integer yang buat menentukan seberapa besar kita mau menambah nilai maxextents. Kita juga bisa menggunakan MAXEXTENTS UNLIMITED disini.

Solusi 3 :

Atau jika kita mau menggunakan big rollback segment dan kita membuatnya dengan nilai yang tinggi buat INITIAL dan NEXT, dan mempunyai MAXEXTENTS yang tinggi juga kemudian menempatkannya ke dalam transaksi akan menyebabkan data rollback yang amat besar.

kita login sebagai SYS kemudian create big rollback segment terlebih dahulu

CREATE ROLLBACK SEGMENT <nama segment>
TABLESPACE <nama tablespace>
STORAGE (
INITIAL 512K
NEXT 512K
MAXEXTENTS UNLIMITED
);

Semisal rollback segment kita kita beri nama RBSBIG, sebelum kita lakukan update statement kita jalankan command

berikut ini:

SET TRANSACTION USE ROLLBACK SEGMENT RBSBIG;








Follow

Get every new post delivered to your Inbox.