原创 dbwr調優

dbwr: 1、db_io_slaves 設置爲大於0的數; 2、fast_start_mttr_target設置爲較小的數(0表示oracle自動調整); 3、_high_priority_processes      strin

原创 ASM磁盤容量改變的故障處理

某個數據庫環境中的ASM磁盤,由於歷史原因,全部配置爲沒有RAID信息的JBOD模式。今天在做產品升級,由於軟件需要,需要將原來加入到ASM中每個JBOD的磁盤配置爲RAID0。配置過程採用了rolling up的方式,每次對一個dis

原创 Oracle查詢轉換

概述 Oracle查詢轉換器的作用是把原始sql重寫爲語義相同的語句,目的是爲了獲得更高效的sql。 查詢轉換主要有四種技術:子查詢展開,視圖合併,謂詞推入,星型轉換。 瞭解查詢轉換是掌握SQL優化的基礎,本文將對這四種技術做一些簡

原创 批量生成awr報告

輸入時間,格式爲yyyymmdd hh24:mi set echo off; set veri off; set feedback off; set serverout on; set heading off; set l

原创 長sql通過比較執行計劃快速定位問題

下面的sql,2000多條數據,3分鐘出結果。不加workshop_id秒出結果。比較兩者的執行計劃,發現慢sql對MTL_ORGANIZATIONS做了merge,通過修改CUX_INV_ITEM_REQ_SOURCE_V的定義,加hi

原创 redo結構

Block Changes 數據塊從當前物理的一致狀態變換到下一個物理一致狀態,這個原子性操作成爲Block Change。 Block Change包括數據寫入,指針變化和計數器更新。 一致狀態意味着指針和計數器共同正確描述了數據塊

原创 Oracle優化器

Oracle優化器的作用就是爲查詢語句選擇更有效的返回結果的路徑。優化器分爲兩種:RBO和CBO。即分別是基於規則的和基於成本的優化器。本文的主要目的介紹CBO是如何計算成本的以及其算法的缺陷。從而理解爲什麼看似已經非常完善的CB

原创 數據塊損壞修復數據相關工具

DBV 全稱DBVERIFY,用來檢測數據文件數據塊的邏輯損壞。用法: dbv file=xxx blocksize=8192 dbv檢測數據塊的頭部和尾部,如果第一次發現兩者不匹配,會再讀取一次;如果匹配了,那麼就報出這個數據塊是i

原创 rman全備份恢復缺少歸檔解決方法

在一次給客戶做測試的工作中,需要遷移5T的數據。商討的方案是使用rman備份恢復到目標端。 晚上開始執行備份腳本,坑爹的客戶沒有把每天刪除歸檔的crontab停掉,導致第二天一早備份完成時沒有歸檔的備份。我開始恢復時也沒有認真查看rma

原创 CBO相關原理--統計信息

Oracle優化器 Oracle優化器的作用就是爲查詢語句選擇更有效的返回結果的路徑。優化器分爲兩種:RBO和CBO。即分別是基於規則的和基於成本的優化器。 顧名思義,基於規則的優化器,在選擇語句的執行路徑時,是基於一系列帶有優先級的規

原创 獲取執行計劃對象信息

先用explain解釋sql執行計劃,然後執行下面的腳本獲取執行計劃裏相關對象的信息 ----File name : execplan_stat.sql ----Purpose : view table stats in a pla

原创 hint不生效怎麼找原因

給客戶調優,使用pre_push,希望發生謂詞推入,但不生效。 去查看sql的10053 trace時,看到客戶將優化器版本設置爲10.2.0.4. 在自己機器的11.2.0.4版本數據庫測試時,hint是生效的;設置成10.2.0.

原创 查看數據庫所有參數腳本

--File name : param.sql --Purpose : View the description, session value and instance value of an explicit/implicit pa

原创 rowid切片,模擬oracle並行

create or replace procedure para_update(v_jno in number) as   v_rec job_info%rowtype; begin   update JOB_INFO set STAR

原创 從rman全備恢復數據庫的步驟

1.1 恢復spfile 根據rman備份的log確認dbid以及spfile在哪個備份中 set dbid=2494162093 RMAN> startup nomount RMAN> restore spfile from /hom