Oracle 8 引入分區表、物件關聯、索引組織表、連線管理器、進階佇列等強大特性,被視為 SAP、PeopleSoft 等套裝軟體的最佳引擎。然而任何軟體皆有盲點,本文分享一個在超大型資料庫(四台 HP-9000、1.5GB 記憶體)環境中遭遇的隱性風險。
SELECT object_id, session_id, serial#,
oracle_username, os_user_name, s_process
FROM v$locked_object lo, v$session s
WHERE lo.session_id = s.sid;
優於傳統查詢 v$lock + v$sqltext 的寫法,因避免關聯 SQL 文本導致查詢緩慢,能在秒級內定位阻塞 Session。
ALTER SYSTEM KILL SESSION 'sid,serial#'; 釋放鎖定。db_block_size(≥8K)、規劃分區表、優化高併發 SQL、調整 transactions 參數、檢視應用邏輯減少長交易。此案例提醒:大型資料庫部署不可照搬預設值,必須依據硬體規格、資料量級、併發模式進行深度規劃與壓力測試。