TGViewer
Dr. Algorithm Dr. Algorithm @dralgorithm · 4.6K subscribers
Post #839 3.14K
Oracle (va Mobliss)

Magistraturada o‘qib yurganimda Oracle fani kirishni boshlagan. Paradox, Interbase yoki boring ana MySqlni o‘rgangan odam uchun Oracle juda vahimali tuyular edi. Xuddi-ki, 1 qavatli imorat qurmagan odam katta 20 qavatli dom oldida turgandek.

Oracle’ni o‘rganishimga bu ilk turtki bo‘lgan. Oradan 1 yil o‘tib ilk FinTech loyiha boshlaganimizda Oracle men uchun to‘lqinli dengiz, men esa o‘zimni surfing sportchisi kabi his etardim.

Bir kun.

4 ta kursdosh online tolov tizimi ishlab chiqqan edik. Har birimizning vazifamiz bor edi. 2 kishi kodga javob berar edik. Tizimda 5,000dan ortiq foydalanuvchi bor. Har kuni pul o‘tkazmasi va to‘lovlar qilishadi.

Production bazada hisobot olish maqsadida ishlab o‘tiribman.

Agar hozirgi men o‘sha payt yonimda bo‘lganida, rosa kaltak yegan bo‘lar edim. Tirik ishlab turgan ma’lumot ombori bilan ishlab bo‘ladimi?


Hisobot olish ketidan xatoliklarni tuzatishni boshladim. Ba’zi hisoblar noto‘g‘ri saqlangan yoki ikki marta yozilib, hisobot xato chiqayotgan edi.
Select, Update va nihoyat Delete. Eng ko‘p ishlatiladigan buyruqlarim. Va shu payt...

Etim muzlay boshladi. Atrofdagi g‘ala-g‘ovur ovozlar eshitilmay qoldi. Bilaman, bunday vaqtda xotirjamlik kerak. Shoshib bo‘lmaydi. Xato qilib qo‘yish mumkin.

Ekranda TOAD dasturi va so‘nggi yozgan buyrug‘im: Delete.

Where qo‘yish esdan chiqqan edi.


Soniyalar ichida xayoldan o‘tayotgan o‘ylarim:
- Barcha ma’lumotlar o‘chib ketdi.
- 3 kunlik eski baza bor, uni tiklash mumkin.
- Lekin 3 kun ichida bo‘lgan xarakat 150mln ($100,000). Qayerdan bilaman kimniki qancha bo‘lganini?
- Mijozlar to‘polon boshlasa nima deyman?
- 3 kunlik ma’lumotni har bir mijoz kompyuteridan yig‘sa bo‘ladi. (U vaqt Nokia telefon va desktop kompyuterlar davri.)
- 3 kunlik ma’lumotni tiklash 2 hafta vaqt oladi.
- Shoshma biroz jim tur...
- 1 daqiqa o‘tdi.
- Mijozlar hali to‘polon boshlashmadi.
- Nima uchun tizim hali ham ishlab turibdi?
- Lokal dastur ishlagani uchunmi?

Shu payt do‘stim Zafar:
- Hmm, tinchlikmi? - dedi. Xuddi nimanidir sezgandek.
- Ha tinch. O‘ylavomman, - dedim sir boy bermay.
Kulib qo‘ydi va qulog‘iga katta quloqchinni qayta taqib oldi.


Xayollarim davom etadi:
- Taxminan 5 daqiqa o‘tdi.
- To‘polon hali ham yo‘q.
- Menga faqat Alloh yordam bera oladi.
- Nimadir yechim bo‘lishi kerak.
- Sodda yechim.
- Men uni ko‘rmayapman.

Ancha tinchlandim. Lekin hali yechim topmagan edim.


SHU PAYT!!!

Ko‘zimga yashil tugma ko‘rindi.
- Nima uchun bu kulrang emas? - degan xayol o‘tdi.
Yonida qizil tugma ham yonib turibdi.
- Axir bu ikkisi kulrang bo‘lishi...
- To‘xta!

Yuzimga qon yugurdi. Isishni boshlaganimni his etdim.
Chunki yechim ko‘z oldimda edi.
- Xudoga shukr, - dedim va qizil tugmani bosdim.

Yelkamdagi tog‘ ag‘darildi va qushday yengil bo‘ldim.


----

O‘sha kun bitta buyruq bilan ma’lumotlar bazasida asosiy jadvalni tozalab yuborgan edim.
(Delete from table -- where id=1234;).
Agar log yoki qiymati kichik ma’lumot bo‘lsa, ziyoni yo‘q edi. Man har kuni bo‘ladigan kassadagi pul o‘tkazmalari jadvalini tozalagan edim.

Meni nima qutqargan edi?
1. Shoshmaslik. Hech qachon biror muammoga duch kelganda yoki jahl chiqqanida hissiyotga berilish kerak emas.

2. Birov vaqt oling. Chunki yechimni tez izlaganingizda sodda yechimlarni ko‘rmay qolasiz. Miya biroz o‘ziga kelishi kerak. Shuning uchun vaqt oling.

3. Oracle bilan ishlaganda 2 ta buyruq bor: Commit va Rollback.
Ko‘pchilik bu tugmalarni avtomat ishlaydigan qilib qo‘ygan bo‘ladi. Biror buyruq bersangiz darhol ma’lumotlarga ta’sir qiladi.
Men esa buni doim qo‘lda bosish (manual) holatiga qo‘yib qo‘yar edim. Ortiqcha bitta tugma bosaman. Lekin shu odatim ma’lumotlarni saqlab qolgan.

Delete buyrug‘ini berganda, Where qolib ketishi - juda katta xato.

Qo‘limni keyboarddan olib, biroz o‘ylab o‘tirdim. Va Rollback qilish mumkin ekanini ko‘rganimda oxirgi qilgan barcha ishlarimni orqaga qaytardim.

Ko‘za kuniga emas, kunida sinadi.


26.04.2025 London
@DrAlgorithm
  • 👍 53
  • 🔥 17
  • 🤯 14
  • ⚡ 5
  • 👏 1
  • 😢 1
More from @dralgorithm
  1. Sep 7, 2026Akalar bilan uchrashuv 😎 O‘tgan hafta Saidolim aka dasturchi akalar yig‘ilishiga taklif q…
  2. Sep 7, 2026photo post
  3. Sep 4, 2026Maktab + SI + Rasm Bugun farzandim maktabidan maktub oldim. Ajablantirgani uchun bu haqida…
  4. Sep 1, 2026Vatanimiz Mustaqilligining 35 yilligi muborak bo‘lsin. Yurtimiz doim barakali, rivojlangan…
  5. Aug 29, 2026Jet lag va 15 daqiqa qoidasi Samolyot Toshkentga qo‘ndi, "Home, sweet home!" deb uyga kird…
  6. Aug 28, 2026Zamon sizniki Hafta ajoyib oʻtdi. 20 yil koʻrishmagan tanishlarim bilan koʻrishdim. Bir va…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →