DML_LOCKS設定為0導致SHUTDOWN IMMEDIATE失敗
DML_LOCKS引數設定系統中允許DML鎖的數量,如果將這個引數設定為0,會禁止ENQUEUE的產生,有可能輕微的提升系統的效能。
不過如果將這個引數設定為0,帶來的後果會嚴重很多:
SQL> show parameter dml_locks
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
dml_locks integer 264
SQL> alter system set dml_locks = 0 scope = spfile;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 524288000
bytes
Fixed Size 2097560 bytes
Variable Size 150998632 bytes
Database Buffers 369098752 bytes
Redo Buffers 2093056 bytes
Database mounted.
Database opened.
SQL> conn test/test
Connected.
SQL> create table t_dml (id number);
Table created.
SQL> insert into t_dml values (1);
1 row created.
SQL> update t_dml set id = 2;
1 row updated.
SQL> delete t_dml;
1 row deleted.
SQL> commit;
Commit complete.
SQL> create index i_t_dml_id on
t_dml(id);
create index i_t_dml_id on t_dml(id)
*
ERROR at line 1:
ORA-00062: DML full-table lock cannot be acquired; DML_LOCKS is 0
SQL> truncate table t_dml;
truncate table t_dml
*
ERROR at line 1:
ORA-00062: DML full-table lock cannot be acquired; DML_LOCKS is 0
SQL> drop table t_dml purge;
drop table t_dml purge
*
ERROR at line 1:
ORA-00062: DML full-table lock cannot be acquired; DML_LOCKS is 0
可以看到,並非是DML_LOCKS設定為0,就不能執行DML操作了,事實上DML仍然可以執行。相反由於大部分的DDL在執行過程中需要對錶加鎖,因此大部分DDL語句在DML_LOCKS設定為0後不能在執行了。
收影響的操作不只是DDL而已,連SHUTDOWN IMMEDIATE都不能倖免:
SQL> conn / as sysdba
Connected.
SQL> shutdown immediate
ORA-00062: DML full-table lock cannot be acquired; DML_LOCKS is 0
SQL> shutdown abort
ORACLE instance shut down.
也就是說設定DML_LOCKS後,只能使用ABORT方式關閉資料庫了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-721199/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ue修改datafile資料檔案導致shutdown immediate失敗一例_ora-01208
- 源設定導致Docker映象構建失敗Docker
- stream pool設定過小導致impdp失敗
- /etc/fstab的錯誤設定導致系統啟動失敗
- 10203設定CURSOR_SHARING為SIMILAR導致物化檢視重新整理失敗MILA
- zt_Resolving Shutdown Immediate Hang Situations_shutdown immediate關庫慢
- Filestream/Windows Share導致Alwayson Failover失敗WindowsAI
- Oracle OCP 1Z0 053 Q77(ASM&Shutdown Immediate)OracleASM
- 故障分析 | DDL 導致的 Xtrabackup 備份失敗
- 獲取導致匯入失敗的資料
- selinux導致sqlplus登入失敗LinuxSQL
- springboot衝突導致的發版失敗Spring Boot
- Docker 導致阿里雲 ECS 內網互通失敗Docker阿里內網
- sock鎖檔案導致的MySQL啟動失敗MySql
- 獲取導致匯入失敗的資料(五)
- 獲取導致匯入失敗的資料(四)
- 獲取導致匯入失敗的資料(三)
- 獲取導致匯入失敗的資料(二)
- 糟糕的範圍管理導致專案失敗(轉)
- Oracle OCP IZ0-053 Q687(ASM Shutdown immediate when users connected)OracleASM
- MongoDB例項重啟失敗探究(大事務Redo導致)MongoDB
- 迴圈引用導致的json序列化失敗JSON
- 誤操作經歷,truncate導致閃回查詢失敗
- ROSE HA切換節點導致DG失敗、恢復ROS
- rman備份的時候讀取v$session_longops失敗導致備份失敗SessionGo
- shutdown immediate alert出現SHUTDOWN: waiting for active calls to complete.AI
- shutdown immediate 太慢,需要進行程式查殺行程
- 資料庫無法shutdown immediate的案例資料庫
- 企業使用ERP系統導致失敗的因素所在
- Linux主機名修改後導致mysql重啟失敗LinuxMySql
- RAC oracle 許可權更改導致 實力啟動失敗Oracle
- hibernate懶載入導致多表聯合查詢失敗
- 由於網路卡故障導致DATAGUARD傳輸檔案失敗
- 資料庫連線設定失敗!資料庫
- 儲存互斥失敗導致資料丟失的資料恢復成功案例資料恢復
- TSM備份時因歸檔日誌丟失而導致備份失敗
- ORACLE 分割槽索引UNUSABLE導致的DML操作失敗引起的血案Oracle索引
- 匿名內部類方式構建物件導致序列化失敗物件