Friday, December 13, 2013

Hati-hati tembak database. Gunakan BEGIN TRANSACTION dan ROLLBACK

Hi guys....

Kemarin adalah hari yang bikin heboh. Waktu sedang me-maintain data dengan SQL Management Studio, secara tidak sengaja, saya memberikan perintah UPDATE ke master items TANPA perintah WHERE. Ini adalah database live di sebuah supermarket. Masih untung toko sedang tidak terlalu ramai dan saya berhasil menyelamatkan empat kasir dari data update. Ini adalah supermarket dengan 16 kasir dan kebetulan ada sekitar 8 kasir yang buka, 4 kasir ditutup paksa (sambil diomelin customer dan mendadak jadi ada antrian kasir) karena semua item punya harga jual = 49,900  (bayangkan: indomie = 49,900, permen = 49,900.... Tapi juga bayangkan: microwave = 49,900, rice cooker = 49,900, semua oli = 49,900, dll-dll-dll....

Wah stress banget. Anyway, singkat cerita mengenai kasus itu; semua data kembali normal dalam 1/2 jam dan kasir bisa beroperasional normal lagi.

Pelajaran yang saya ambil; sejak kemarin, di semua perintah yang saya kerjakan di live database dan berpengaruh ke data (sebelum INSERT/UPDATE) saya berikan blok BEGIN TRANSACTION ... ROLLBACK TRANSACTION dulu. Jadi:

BEGIN TRANSACTION
...
... proses perubahan data
...

SELECT query untuk memeriksa hasil data
ROLLBACK TRANSACTION


Nah... hasilnya bener, barulah, SELECT query yang di bawah di comment, dan ROLLBACK TRANSACTION diganti menjadi COMMIT TRANSACTION.


Huuuuuffff.... semoga bisa jadi pelajaran untuk rekan-rekan. Ada pepatah yang bilang pengalaman adalah guru yang terbaik. Tapi sebenarnya pepatah itu harusnya berbunyai "Pengalaman ORANG LAIN adalah guru yang terbaik"

Thursday, October 31, 2013

Virtualbox sebagai server real? MANTAAAAB.... :)

Salam semuaaaa..... :)

WOW... gak tau udah berapa lama terakhir saya post di blog ini. Anyway, ada banyak berita, tapi hal menarik yang bisa saya share dalam dua bulan terakhir ini adalah, saya memutuskan untuk menggunakan Virtualbox + ubuntu 12.04.3 (LTS) x86 + Samba 3.6.3 sebagai server untuk aplikasi POS saya. Host dari Virtualbox adalah Windows Server 2008R2 x64. Hasilnya bagus sekali. File sharing-nya lebih stabil daripada waktu menggunakan Windows Server 2003 --- dan aneh-nya juga lebih cepat. Padahal saya hanya memberikan 512MB dan mengalokasikan 1 processor saja untuk memory Virtualbox (ada sekitar 20 POS yang dilayani oleh virtual server ini). CPU server sendiri hanya Intel Quad Core dengan memory 4GB. Jadi, kalau Anda tertarik untuk menggunakan Virtualbox di production --- biarpun banyak master-master di amrik sono yang tidak menganjurkan --- jangan kuatir., Pake aja... Dalam dua bulan terakhir ini udah kejadian 3 atau 4 kali komputer nya tewas mendadak gara-gara gak ketauan battery UPS udah jebol. Data yang hilang? Tidak ada :D

Okay guys. Begitu aja post awal dari saya. Nanti ngobrol lagi. Okay?
 :)