append HINT 的對事務的影響
使用append hint 可以減少redo資訊的產生,可以較快的插入資料,資料遷移。
但是使用了append 後,會阻塞其他session對TABLE 的DML操作。
在append操作完畢之後要儘快提交或者rollback。
下面的測試例子:
準備資料:
create table test as select * from dba_objects;
1) 在session-A 中,執行
insert /*+ append */ into test select * from dba_objects;
2) 再開始一個session,命名為session-B ,執行
SQL> update test set object_id = 300;
session在等待。。
3) 這時回到session-A 的介面,檢視等待內容。
SQL> select * from v$lock
2 where type='TM';
ADDR KADDR SID TYPE ID1 ID2 LMODE REQUEST CTIME BLOCK
---------------- ---------------- ---------- ------ ---------- ---------- ---------- ---------- ---------- ----------
070000004ED1ECA8 070000004ED1ECD0 20 TM 369448 0 6 0 359 1
070000004ED1EBD8 070000004ED1EC00 33 TM 369448 0 0 3 333 0
SQL> select * from dba_waiters;
WAITING_SESSION HOLDING_SESSION LOCK_TYPE MODE_HELD MODE_REQUESTED LOCK_ID1 LOCK_ID2
--------------- --------------- ------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------ ---------- ----------
33 20 DML Exclusive Row-X (SX) 369448 0
可以看到session 20 是執行append操作的session,擁有的Exclusive Lock, 而session 33 在申請 Row-X ,而Lock級別是不相容的。故導致session 33 等待。
看到append操作是要獲得排他鎖,導致對該TABLE 的DML操作無法正常進行。
解決辦法是執行append操作的session提交或者回顧session。
提示: DBA_WAITERS的檢視,需要執行 $ORACLE_HOME/rdbms/admin/catblock.sql 指令碼得到。
當然了,有了DBA_WAITERS的檢視,可以通過utllockt.sql 獲得lock的層級關係圖。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/40239/viewspace-573312/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 網路延遲對事務的影響
- mysql事務對效率的影響分析總結JILEMySql
- SQL Server中事務日誌自動增長對效能的影響(下)PGSQLServer
- SQL Server中事務日誌自動增長對效能的影響(上)OSSQLServer
- 淺談TypeScript對業務可維護性的影響TypeScript
- 網際網路對業務轉型的安全影響
- mysql的DDL操作對業務產生影響測試MySql
- 浮動的盒子對img的影響
- unusable index對DML/QUERY的影響Index
- Nologging對恢復的影響(二)
- 語言對思維的影響
- Nologging對恢復的影響(一)
- 網線的分類與對網速的影響 網線對網速影響大嗎?
- 對事務的理解
- 3分鐘搞懂MySQL事務隔離級別及SET TRANSACTION影響事務MySql
- 業務資料抓取的影響
- 來電對播放音樂的影響
- python:super()對多繼承的影響Python繼承
- DB2 HADR對效能的影響DB2
- INDEX建立方式對SQL的影響IndexSQL
- 關於OPcache對Swoole影響的理解opcache
- spring事務的傳播屬性是什麼?它會影響什麼?Spring
- Oracle vs PostgreSQL,研發注意事項(4)- PageSize對資料儲存的影響OracleSQL
- Cirium:新冠肺炎疫情對商務航空逐漸展現的影響
- COVID-19全球調查報告:對內部業務的影響
- 如何擺脫潛意識偏見對業務分析的影響? - modernanalystNaN
- 終端環境對go程式的影響?Go
- margin為負值對佈局的影響
- Sailthru:Facebook醜聞對人們的影響AI
- JVM 引數調整對 sortx 的影響JVM
- Mavrck:COVID-19對創作者的影響VR
- cluster factor對執行計劃的影響
- 淺談疫情對消費金融的影響
- 虛擬記憶體對 OI 的影響記憶體
- 修改系統時間對oracle的影響Oracle
- VideaHealth:人工智慧對牙科的真正影響Idea人工智慧
- windows server許可權對tomcat的影響WindowsServerTomcat
- namespace對axis解析xml請求的影響namespaceXML
- 通過append hint來插入資料,演示它和普通插入資料的效能比較。APP