原创 Oracle-數據字典統計信息

數據字典統計信息是用來描述數據字典基表(如TAB$,IND$等)、數據字典基表上的索引。 oracle在執行目標sql的過程中,需要查詢TAB$以獲得目標sql中相關表對象的統計信息,但是oracle使用內部遞歸sql(Recursive

原创 物化視圖

物化視圖: 增量刷新需要創建基於基表的日誌 create materialized view log on sh.sales with primary key including new values; create materialize

原创 一個三十歲男人的婚姻思考-很感人的故事 (轉載)

今年30了,結婚4年多了。平心而論,我的婚姻生活很幸福,但是很多時候我似乎並不滿足。因爲,我妻子是一個沒有正式工作的人,現在給別人打工,也不可能有什麼發展。文憑也不高,估計再過幾年,也就會成爲全職的家庭主婦。我的收入尚可,因此,到目前爲止,

原创 meger into優化案例

SQL: MERGE INTO TP_B_RB033 TP USING (SELECT SEQ_NO, PAGE_NUM, FULL_PAGE, ACCT_NO FROM TP_B_RB033_RB_TMP) RES ON (TP.SE

原创 傳輸表空間-TTS

傳輸表空間: 可傳輸表空間的特性主要用於進行庫對庫的表空間複製,要進行傳輸的表空間必須置於read-only模式。如果生產庫不允許表空間置爲只讀模式,沒關係,方法還是有的,通過RMAN備份也可以創建可傳輸表空間集。要使用可傳輸表空間的特性,

原创 Oracle Histogram (直方圖)

--==================== -- Oracle histogram  --==================== 直方圖意義:在oracle數據庫中,CBO會默認認爲目標列的數據量在其最小值和最大值之間是均勻分佈的(最小

原创 SQL硬解析過多導致IO延遲

每秒 10萬物理讀是個什麼概念,邏輯讀也很多,由此可以推斷 要麼是db buffer cache過小,要麼就是 物理硬解析過多。   磁盤IO吞吐量還可以,但是IOPS太低,有可能是IO延遲。 查看 Buffercaceh hit%

原创 SELECTIVITY 選擇率討論

選擇性(SELECTIVITY)這個是個老話題了,做優化的DBA肯定聽過。 在說這個選擇率之前需要澄清幾個概念: 基數(CARDINALITY) 某個列唯一鍵(Distinct_Keys)的數量叫作基數。主鍵列的基數等於表的總行數。基數的

原创 Oracle優化器之基數反饋(CardinalityFeedback)功能

概述 在Oracle 11gR2的版本上推出了基數反饋(Cardinality Feedback 以後簡稱CFB)功能,通過這個特性,對於某些查詢在第一次執行時,如果CBO發現根據統計信息估算出的基數(Computed cardinali

原创 Oracle-如何收集統計信息

在自動收集統計信息之前,有幾個問題需要考慮: 1、那些表適合使用計算模式收集統計信息?那些表適合使用估算模式收集統計信息?估算比率是多少? 2、那些列需要收集直方圖信息,bucket是多少? 3、在什麼時間收集統計信息,收集多長時間,如何讓

原创 SQLTrace

--======================== --  Sql Trace --========================   一、用戶進程跟蹤文件     用戶跟蹤文件在根據需要跟蹤會話實際操作的時候根據要求產生     通常

原创 10053事件

10053 trace跟蹤文件 可以通過alter session set event 來創建,但是前提是這條SQL被真正執行過。 常見創建方法: alter session set tracefile_identifier='mytrac

原创 公司報表數據庫優化

報表系統優化 背景: 11.22早晨 剛放下揹包,收到一份郵件,郵件意思是公司報表數據庫慢,讓我幫忙看看。郵件還附帶了一個SQL文本,指出這個SQL慢。隨後電話了開發人員瞭解事情來龍去脈,原來是在一個月前 DB組幫他們遷移了報表數據庫,

原创 ORA-1652: unable to extend temp segment by 128 in tablespace

系統臨時表空間已經達到64G, 但是依然報ORA-1652錯誤,現在業務申請擴展臨時表空間到128g。   經過抓取AWR報告,發現如下幾條sql語句執行時間最長,經過分析 發現 大部分是 “MINUS ”和“insert into

原创 鎖分析

在數據庫運維工作中,有相當大一部分工作跟鎖有關。 鎖用對了地方能保證數據一致性,用錯了地方就能導致併發性下降。 下面來講解數據庫發生鎖,該如何進行診斷: 首先將幾個鎖相關的視圖: v$lock v$lock_object v$session