利用sql_trace提高自學能力
我們都知道SQL_TRACE是一個SQL最佳化的工具,其實它也是一個可以幫助我們提高ORACLE水平的自學的好工具。
在10G中出現了回收站(RECYCLEBIN)的概念,這樣我們DROP後的也可以被恢復回來,例如:
[@more@]SQL> create table test01
2 (id varchar2(10));
Table created
SQL> insert into test01 values('001');
1 row inserted
SQL> commit;
Commit complete
SQL> drop table test01;
Table dropped
SQL> flashback table test01 to before drop;
Done
SQL> select * from test01;
ID
----------
001
透過回收站就可以避免以前版本經常出現的誤刪除表的錯誤,提高了系統的可用性。那麼10G中的刪除的原理是什麼呢?SQL_TRACE就可以幫助我們找到答案。
SQL> alter session set sql_trace = true;
Session altered
SQL> drop table test01;
Table dropped
SQL> alter session set sql_trace = true;
Session altered
這樣就會產生一個TRACE檔案,找到那個TRACE並透過TKPROF格式化之後,可以找到這樣的SQL:
ALTER TABLE "SUNWG"."TEST01" RENAME TO "BIN$0Oe8eyXVTb+lEosbol6pBg==$0"
可以發現其實10G中的DROP實際僅僅是一個RENAME操作(還會包括一些對資料字典表SEG$,OBJ$,TAB$等的操作),表TEST01上如果有索引的話,那麼還有一個索引RENAME的操作。可以想象一下,當我們進行FLASHBACK TABLE的時候,也僅僅是一個RENAME的操作。
SQL_TRACE是一個很好用的工具,善加利用,會對提高ORACLE水平有很大的幫助。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8394333/viewspace-993594/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 探索資料字典,提高自學習Oracle能力Oracle
- 如何提高自學python 效率Python
- 提高SQL SERVER併發能力SQLServer
- 在雲中利用開源軟體進行開發以提高創新能力
- 利用sql_trace跟蹤一個指定會話的操作SQL會話
- 提高自身Java開發能力的方法?Java
- 程式設計師如何提高抽象能力程式設計師抽象
- 【譯】利用.LESS來提高CSSCSS
- SQL_TRACESQL
- 程式內快取助你提高併發能力!快取
- 如何提高web系統的吞吐能力?Web
- 【轉】 sql_traceSQL
- 工程師如果沒有自學的能力,還是轉行吧工程師
- 提高軟體測試能力的19條建議
- 提高程式設計能力的關鍵(翻譯)程式設計
- 我是如何提高自己的「程式設計能力」的?程式設計
- 優秀程式設計師,如何提高架構能力?程式設計師架構
- 提高程式設計能力的7條建議程式設計
- 菜鳥一隻,如何提高系統架構能力架構
- 提高你的Python能力:理解單元測試Python
- 軟體工程師如果沒有自學的能力,還是轉行吧軟體工程工程師
- sql_trace的使用SQL
- 利用 Laravel 快取配置提高網站效能Laravel快取網站
- 利用系統快取提高PostgreSQL操作效率快取SQL
- 利用並行提高sql執行效率(轉)並行SQL
- 反射+Class類方法_利用反射分析類的能力反射
- 如何提高伺服器的併發處理能力?硬核!伺服器
- 如何學習自媒體,提高自己的寫作能力?
- SQL_TRACE與tkprof分析SQL
- sql_trace 及 tkprof 工具SQL
- 如何利用Parasoft Jtest提高Java測試ROIJava
- 利用AJAX技術提高搜尋引擎排名(轉)
- Servlet中利用全域性物件提高效能!!!Servlet物件
- 如何利用資料庫的可觀測效能力資料庫
- Laravel Model 利用 Macroable 為資料模型新增宏能力LaravelMac模型
- Laravel Model 利用 Macroable 為資料模型新增巨集能力。LaravelMac模型
- 如何利用GIS提升自然資源數智化能力
- 2016程式設計師自學能力的培養方法有哪些?程式設計師