幸せのちから

          平凡的世界
          看似平常實崎嶇
          成如容易卻艱辛

          1z0-052學習筆記(7)

          第16章 鎖競合的檢出以及解決方案
          1.DML鎖
          行鎖(排他)
          表鎖(共有)
          2.DML共有表所,競合DDL防止
          3.手動行鎖
          SELECT ... FOR UPDATE NOWAIT | WAIT 數秒
          4.手動表鎖
          LOCK TABLE 表名 IN 鎖定模式名 MODE [NOWAIT]
          ROW SHARE:SELECT...FOR UPDATE;
          ROW EXCLUSIVE:DML(INSERT,UPDATE,DELETE)
          EXCLUSIVE:DDL
          エンキューメカニズム
          5.鎖競合發生的場合:
          變更沒有提交
          事務長時間的場合
          不必要的高鎖級別
          6.死鎖
          如果檢出死鎖,Oracle服務器會自動回滾解決死鎖。
          死鎖發生的時候,警告日志(BACKGROUND_DUMP_DEST初始化參數),警告日志記錄的
          用戶trece文件(USER_DUMP_DEST初期化參數指定)
          7.死鎖的詳細情報,USER_DUMP_DEST初始化參數指定的目錄文件里確認。
          8.V$LOCK視圖,V$LOCKED_OBJECT視圖
          9.ALTER SYSTEM KILL SESSION 'SID列值,SERIAL#列值'

          第17章 性能監視
          1.性能問題對應
          數據字典視圖:領域相關
          動態性能視圖(V$DATABASE,V$INSTANCE):內存使用量,待機時間按,實例的活動
          2.個別的matric情報頁面包含
            最新已知值
          平均值
          上限值,下限值
          3.EM中性能頁的內容
          host
          session:待機和實行中
          實例
          4.如果REDO日志buffer待機時間多發的情況下
          把REDO日志文件配置在能夠高速操作的硬盤上
          REDO日志buffer小的話,增加 大小
          5.數據文件的硬盤I/O集中的話可以考慮下面的方法
          RAID
          ASM
          6.表優化統計DBA_TABLES
          NUM_ROWS:表保存的行數
          BLOCKS;行保存的block數
          AVG_ROW_LEN:平均行長度
          LAST_ANALYZED:最后分析的日時
          NUM_FREELIST_BLOCKS:空list里面的塊數
          CHAIN_CNT:移行連鎖的行數
          7.索引的統計
          BLEVEL:
          LEAF_BLOCKS:
          DISTINCT_KEYS:
          AVG_LEAF_BLOCKS_PER_KEY:
          AVG_DATA_BLOCKS_PER_KEYS:
          CLUSTERING_FACTOR
          NuM_ROWS
          8.優化統計相關
          優化統計在收集時也是變化的
          Oracle服務器再啟動也不變化
             表中行數據頻繁更新的話,應該考慮手動來進行統計分析
              對于大規模表,進行預算的統計收集更適合
               使用DBMS_STATS包進行統計收集
          9. 無效對象的troubleshooting
            PL/SQL對象的有效性可以通過數據字典DBA_OBJECT視圖的STATUS列來確認
          無效的PL/SQL再編譯
          下回需要運行PL/SQL時自動編譯
          使用ALTER .. COMPILE來手動編譯
          ALTER FUNCTION 函數名 COMPILE
          ALTER PROCEDURE 存儲過程名COMPILE
          9.索引的再構筑
          如果使用ALTER TABLE...MOVE命令,索引將無效,這是因為ROWID發生改變。可以查看數據字典的DBA_INDEXES視圖的STATUS列
          來確認。
          再構筑
          ALTER INDEX 索引名 REBUILD [ONLINE] [TABLESPACE 表領域名]
          如果使用ONLINE再構筑中DML可能。
          再構筑中需要2倍的領域。

          posted on 2009-03-22 23:13 Lucky 閱讀(193) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2009年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          隨筆分類(125)

          文章分類(5)

          日本語

          搜索

          積分與排名

          最新隨筆

          最新評論

          主站蜘蛛池模板: 菏泽市| 佛教| 长泰县| 桑植县| 乐都县| 江西省| 万源市| 阳东县| 奉新县| 六安市| 松潘县| 凌云县| 平邑县| 新蔡县| 武穴市| 昌图县| 太原市| 洱源县| 襄樊市| 孟村| 阳江市| 永平县| 岢岚县| 莒南县| 三亚市| 吴旗县| 太仆寺旗| 广宁县| 榆中县| 靖边县| 扶风县| 久治县| 新乐市| 顺平县| 江山市| 昆山市| 亳州市| 罗城| 稻城县| 连平县| 南通市|