Orcale Tutorial Content
Getting Started - البدء مع إدارة قواعد البيانات
Oracle Architectural Components - مكونات قاعدة البيانات أوركل
Installing Oracle Database - تثبيت الأوركل
Creating and Configuring Database - إنشاء قاعدة البيانات
Controlling The Database -التحكم في قاعدة البيانات
Administrating Users - إدارة المستخدمين
Database Security & Monitoring - تأمين ومراقبة قاعدة البيانات
Oracle Net Services & Database Link & Metrlized Viewِ
Undo Management & Flashback Technology
Managing Shared Servers
Using Globalization Support
Logical Backup & Recovery
Physical Backup & Recovery
Recovery Manager (RMAN)
Managing Resources
Automating Tasks with the Scheduler
Dealing with Locking
Diagnostic Sources
Dealing With Database Corruption
Managing & Monitoring Memory
Performance Tunning
Dealing with Locking
Lock Contention
ﺇﺫﺍ ﻋﻤﻠﻴﺔ ﻜﺘﺎﺒﺔ ﺃﻜﺜﺭ ﻤﻥ ﻤﺴﺘﺨﺩﻡ ﻓﻲ ﺤﻘل ﻤﻌﻴﻥ ﻓﻲ ﻨﻔﺱ ﺍﻟﻭﻗﺕ ﻻ ﺘﺴﻤﺢ ﺒﻬﺎ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻭﺫﻟﻙ ﻤﻥ ﺨﻼل ﺘﻁﺒﻴﻕ ﺴﻴﺎﺴﺔ ﺍلLock،
ﻟﻜﻥ ﺒﻌﺽ ﺍﻟﻤﺒﺭﻤﺠﻴﻥ ﻭﺍﻟﻤﺼﻤﻤﻴﻥ ﻴﺘﺴﺒﺒﻭﻥ ﻓﻲ ﺯﻴﺎﺩﺓ ﻋﻤﻠﻴﺎﺕ ﺍلLock ﻤﻥ ﺨﻼل ﺒﻌﺽ ﺍﻟﺘﻁﺒﻴﻘﺎﺕ ﺍﻟﺨﺎﻁﺌﺔ ﺍﻷﻤﺭ ﺍﻟﺫﻱ ﻴﻨﻌﻜﺱ ﺴﻠﺒﺎﹰ ﻋﻠﻲ
ﺃﺩﺍﺓ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ، ﻤﻤﺎ ﻴﺘﻁﻠﺏ ﺫﻟﻙ ﺇﻋﺎﺩﺓ ﻫﻨﺩﺴﺔ ﺍﻟﻌﻤﻠﻴﺎﺕ ﻟﺘﻌﻤل ﺒﻜﻔﺎﺀﺓ ﻋﺎﻟﻴﺔ ﻭﻟﻜﻥ ﺫﻟﻙ ﺒﺎﻟﻁﺒﻊ ﻻ ﻴﻠﻐﻲ ﻋﻤﻠﻴﺔ ﺍلLock ﺍﻟﺘﻲ ﻫﻲ ﺠﺯﺀ
ﻤﻥ ﺴﻴﺎﺴﺔ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ، ﻭﻟﻜﻥ ﻴﻘﻠل ﻤﻥ ﻋﻤﻠﻴﺔ ﺍلLock ﺍﻟﺘﻲ ﻫﻲ ﻨﺘﻴﺠﺔ ﺨﻁﺄ ﻓﻲ ﻋﻤﻠﻴﺔ ﺍﻟﺘﻁﻭﻴﺭ ﺃﻭ ﺍﻟﺘﺼﻤﻴﻡ، ﻭﻤﻥ ﺘﻠﻙ ﺍﻟﻤﺸﺎﻜل:
1- ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻟﺘﻲ ﺘﺄﺨﺫ ﻭﻗﺕ ﻁﻭﻴل ﺒﺎﻟﻁﺒﻊ ﺘﺘﺴﺒﺏ ﺨﻠﻕ ﻤﺸﺎﻜل ﺍلLock، ﺒﺤﻴﺙ ﻴﻘﻭﻡ ﺒﻌﺽ ﺍﻟﻤﺴﺘﺨﺩﻤﻴﻥ ﺒﺈﺠﺭﺍﺀ ﻋﺩﺩ ﻤﻥ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺜﻡ ﻴﺫﻫﺏ
ﻟﻴﺼﻠﻲ ﺃﻭ ﻟﻘﻀﺎﺀ ﺒﻌﺽ ﺍﻟﻤﻬﺎﻡ ﺩﻭﻥ ﺘﺜﺒﻴﺕ ﺘﻠﻙ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺃﻭ ﺍﻟﺘﺭﺍﺠﻊ ﻋﻨﻬﺎ ﻻﺸﻙ ﺃﻥ ﺫﻟﻙ ﻴﺴﺒﺏ ﺍﻟﻌﺩﻴﺩ ﻤﻥ ﺍﻟﻤﺸﺎﻜل ﺍﻟﺘﻲ ﻴﺠﺏ ﺘﺠﻨﺒﻬﺎ ﻓﻲ ﺘﺼﻤﻴﻡ
ﺍﻟﺒﺭﺍﻤﺞ، ﻓﻤﺜل ﻫﺫﻩ ﺍﻷﺨﻁﺎﺀ ﻓﻲ ﻜﺘﺎﺒﺔ ﺍﻟﺒﺭﺍﻤﺞ ﻴﺴﺒﺏ ﺍﻟﻌﺩﻴﺩ ﻤﻥ ﺍﻟﻤﺸﺎﻜل ﻟﻤﺩﻴﺭ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ.
2- ﺇﺴﺘﺨﺩﺍﻡ ﻤﺴﺘﻭﻱ ﺍﻷﻗﻔﺎل ﺍﻟﻌﺎﻟﻲ Levels) Locking (High، ﻓﺒﻌﺽ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺘﺤﺘﺎﺝ ﻤﺜﻼﹰ ﻟﻌﻤل Lock ﻟﺤﻘل ﻤﻌﻴﻥ ﻓﻴﺘﻡ ﻋﻤل Lock ﻟﺠﻤﻴﻊ ﺍﻟﺠﺩﻭل ﺍﻷﻤﺭ
ﺍﻟﺫﻱ ﻴﻤﻨﻊ ﺒﻌﺽ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻷﺨﺭﻱ ﺍﻟﺘﻲ ﻜﺄﻥ ﻴﻤﻜﻥ ﺘﻨﻔﻴﺫﻫﺎ ﺃﺜﻨﺎﺀ ﺘﻨﻔﻴﺫ ﺍﻟﻌﻤﻠﻴﺔ ﺍﻟﺘﻲ ﻗﺎﻤﺕ ﺒﻘﻔل ﺠﻤﻴﻊ ﺍﻟﺠﺩﻭل.
3- ﻜﺘﺎﺒﺔ ﺒﻌﺽ ﺍﻟﺒﺭﺍﻤﺞ ﺍﻟﺘﻲ ﺘﻘﻭﻡ ﺒﻌﻤل ﻤﻬﺎﻡ ﻤﻌﻴﻨﺔ ﺒﺼﻭﺭﺓ ﺴﻴﺌﺔ، ﻫﺫﺍ ﺍﻷﻤﺭ ﻴﺅﺜﺭ ﻋﻠﻲ ﺍﻷﺩﺍﺀ ﺒﺼﻭﺭﺓ ﻭﺍﻀﺤﺔ.
ﻟﻜﻥ ﺇﺫﺍ ﻗﺎﻤﺕ Session ﺒﻌﻤل Lock ﻟﺤﻘل ﺃﻭ ﺠﺩﻭل ﻤﻌﻴﻥ ﺜﻡ ﻗﺎﻤﺕ Session ﺃﺨﺭﻱ ﺒﻁﻠﺏ ﺍﻟﻜﺘﺎﺒﺔ ﻋﻠﻲ ﻨﻔﺱ ﺍﻟﺤﻘل ﻻ ﺸﻙ ﺃﻥ ﻫﺫﻩ ﺍلSession ﺴﺘﻅل ﻤﻌﻠﻘﺔ
ﻭﺭﺒﻤﺎ ﻴﻁﻭل ﺍﻷﻤﺭ ﻨﺴﺒﺔ ﻟﺘﺨﻁﻴﻁ ﺴﺊ ، ﻋﻤﻭﻤﹰﺎ ﻓﻲ ﺍﻟﺤﺎﻻﺕ ﺍﻟﻁﺎﺭﺌﺔ ﻴﻤﻜﻥ ﻟﻤﺩﻴﺭ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺒﺎﻟﺘﺩﺨل ﻟﻌﻼﺝ ﻫﺫﺍ ﺍﻷﻤﺭ ﻋﻥ ﻁﺭﻴﻕ ﺇﻨﻬﺎﺀ ﺘﻠﻙ ﺍلSession.
ﻓﻠﺤﻅﺔ ﺇﻨﻬﺎﺀ ﺘﻠﻙ ﺍلSession ﺍﻟﺘﻲ ﺘﺤﺠﺯ ﺍﻟﺠﺩﻭل ﺃﻭ ﺍﻟﺤﻘل ﻭﺘﺴﺒﺒﺕ ﻓﻲ ﺘﻠﻙ ﺍﻟﻤﺸﺎﻜل ﻴﺘﻡ ﺇﻁﻼﻕ ﺍلLock ﻭﺘﺤل ﺍﻟﻤﺸﻜﻠﺔ.
ﻭﻴﻤﻜﻥ ﻟﻤﺩﻴﺭ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺤل ﺘﻠﻙ ﺍﻟﻜﺸﻜﻠﺔ ﻋﻥ ﻁﺭﻴﻕ ﺍﻷﻤﺭ ALTER SYSTEM KILL SESSION ﺒﺤﺙ ﺘﺤﺘﺎﺝ ﻟﺘﺤﺩﻴﺩ (SERIAL# & SID) ﺒﺎﻟﻨﺴﺒﺔ ﻟلSession
ﻭﻴﺘﻡ ﺫﻟﻙ ﻋﻥ ﻁﺭﻴﻕ ﺇﺴﺘﻌﻼﻡ V$SESSION.
------------------------------------------------------