Time of Update: 2017-02-27
TOM有個非常好的查看對象空間使用方式的指令碼show_space.sql,下面將介紹。這裡介紹的是相對而言比較簡單的,下面示範中其實是針對錶的空間資訊,至於對象的,我將在下面改寫。下面例子示範的是delete和truncate對高水位的影響,其中用到了指令碼space_usage.sql。[oracle@maa3 ~]$ cat space_usage.sql-- space_usage.sqldeclare l_tabname varchar2(30) := '&1';&
Time of Update: 2017-02-27
聲明:指令碼來自《Pro Oracle SQL》一書,pln.sql下面只是一個查看執行計畫一種方法,就是通過加上備忘表示唯一SQL語句:[oracle@maa3 ~]$ cat pln.sqlSELECT xplan.*FROM ( select max(sql_id) keep (dense_rank last order by last_active_time) sql_id, max(child_number)
Time of Update: 2017-02-27
今天在跟朋友討論了如下話題:《有一張表上建立索引,DROP該表,又閃回刪除回來,請問,這張表上的索引還能用嗎?如果有變化那是什嗎?》我進行了如下測試:sys@MAA> select * from v$version;BANNER----------------------------------------------------------------------------------------------------Oracle Database 11g Enterprise
Time of Update: 2017-02-27
最近在研究DBMS_STATS包,下面是關於根據granularity的值的不同影響執行計畫的內容,我們通過DBMS_STATS包執行對錶或者索引統計資訊的時候指定幾個參數,分別為GLOBAL、PARTITION和SUBPARTITION。我將通過大量執行個體主要說明全域資訊和分區資訊如何影響執行計畫。我的環境:OS : Oracle Enterprise Linux 5.5 64BitDB Type : Oracle RestartDB Version : 11.2.0.3–
Time of Update: 2017-02-27
一、BBED工具1.BBED的安裝oracle 11g中缺bbed包,oracle11g bbed install and example 1.上傳(sbbdpt.o ssbbded.o bbedus.msb,該三個檔案拷貝oracle的linux64版本的)檔案$ORACLE_HOME/rdbms/lib/ssbbded.o$ORACLE_HOME/rdbms/lib/sbbdpt.o$ORACLE_HOME/rdbms/mesg/bbedus.msb執行如下命令:cd
Time of Update: 2017-02-27
在ORACLE中,存在很多ORACLE不希望我們去參與修改的參數,對於這些參數我們可以通過下面的語句來查詢:select x.ksppinm name, y.ksppstvl value, y.ksppstdf isdefault, decode(bitand(y.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE') ismod, decode(bitand(y.ksppstvf,2),2,'TRUE','FALSE'
Time of Update: 2017-02-27
現對tkprof程式做進一步的說明:在開啟跟蹤功能後,oracle將被跟蹤session中正在執行的SQL的效能狀態資料都收集到一個追蹤檔案中。這個追蹤檔案提供了許多有用的資訊,例如一個sql的解析次數、執行次數、fetch次數、物理讀次數、邏輯讀次數、CPU使用時間等,利用這些資訊可以診斷你的sql的問題,從而用來最佳化你的系統。不幸的是,產生的追蹤檔案中的資料是我們難以理解的,所以要用TKPROF工具對其進行轉換,轉換成我們易於理解格式。tkprof是oracle提供的工具 +
Time of Update: 2017-02-27
資料庫安全和最小許可權原則一、PUBLIC許可權PUBLIC角色隱式授予每位使用者。只要為PUBLIC授予任何許可權,相應的許可權實際上就會授予可以串連到資料庫的每個人,建立的每個賬戶都有權訪問這些許可權。預設下,PUBLIC使用者擁有大量許可權。gyj@OCM> select count(*) from dba_tab_privs where grantee='PUBLIC';COUNT(*)----------28164gyj@OCM> select table_name
Time of Update: 2017-02-27
10.1 並行恢複(v7.1)並行恢複的目標是用計算和I/O的並行機制減少崩潰恢複、單一實例恢複和介質恢複的時間。當多個磁碟上多個資料檔案同時進行恢複時能有效降低恢復。10.1.1 並行恢複架構並行恢複分區做兩件事:1. 讀重做日誌。2.
Time of Update: 2017-02-27
V$視圖包含了核心維護在記憶體中的資料結構的資訊,可以通過有SYS許可權的DBA帳號訪問。下面是這些跟恢複相關的V$視圖匯總:9.1 V$LOG包含了控制檔案中的日誌組資訊:GROUP#THREAD#SEQUENCE#SIZE_IN_BYTESMEMBERS_IN_GROUPARCHIVED_FLAGSTATUS_OF_ GROUP (unused, current, active, inactive)LOW_SCNLOW_SCN_TIME9.2
Time of Update: 2017-02-27
重設日誌選項用於下列情形後的第一次開啟資料庫的時候:不完全恢複基於備份控制檔案的恢複CREATE CONTROLFILE...RESETLOGS重設日誌的最主要的作用就是丟棄不完全恢複中沒有使用的重做日誌並保證後續的恢複不再需要。為此,重設日誌選項將所有聯機日誌和歸檔日誌都做廢掉。副作用就是此前的所有備份對將來的恢複都沒有用了。重做日誌選項還初始化了控制檔案中關於聯機日誌和重做線程的內容,清除了當前存在的聯機重做日誌的內容,如果聯機記錄檔不存在就建立,並重設了所有線程的日誌序號。8.1
Time of Update: 2017-02-27
塊修複是最簡單的恢複,在資料庫正常操作過程中由系統自動做的,使用者幾乎感覺不到。7.1
Time of Update: 2017-02-27
執行個體恢複用於恢複崩潰失敗或者並行伺服器環境中的執行個體失敗,所以執行個體恢複既可以指崩潰恢複也可以指並行伺服器環境中的執行個體恢複(只要有一個存活的執行個體就可以恢複其他一個或多個失敗的執行個體)。執行個體恢複的目標就是還原失敗執行個體在資料緩衝區中的資料區塊並關閉還開著的線程。執行個體恢複只用聯機歸檔日誌和當前聯機資料檔案(不需要還原曆史備份)。執行個體恢複一次只能恢複一個線程,它從該線程最近的線程檢查點開始恢複直至線程的結束。5.1
Time of Update: 2017-02-27
熱備份指在資料檔案正在使用的時候對其進行複製。複製的過程中,DBWR也在進行,因此備份可能得到一些“不一致”的備份:一些資料區塊可能比其他塊的時間要早一些資料區塊的SCN可能比資料檔案頭部的SCN還要早一些塊可能包含了一個重做記錄的部分更新,其他的部分可能在這個資料檔案上或者其他資料檔案上一些資料區塊可能會被損壞,因為塊的頭部和尾部是在不同的時間複製的。上面的這種複製方式得到的備份組在還原後和介質恢複的時候是沒有用的。介質恢複時會從資料檔案上的開始熱備SCN(見4.1中第
Time of Update: 2017-02-27
重做日誌描述了對資料區塊的所有變更。這一節主要描述資料庫開啟的時候寫日誌時的一些操作。3.1
Time of Update: 2017-02-27
基礎資料結構2.1 控制檔案控制檔案包含了資料庫中所有其他檔案的狀態資訊。控制檔案包含了如下幾類資料:A. 資料庫資訊記錄(一條)B. 資料檔案記錄(每個資料檔案一條)C. 線程記錄(每個線程一條。註:每個執行個體一個線程)D. 記錄檔記錄(每個記錄檔一條)E.
Time of Update: 2017-02-27
Oracle 7 v7.2 恢複大綱作者:Andrea Borr & Bill Bridge版本:1 May 3, 1995本文概述了Oracle 7.2版本如何進行資料庫恢複。本文讀者應當熟悉Oracle
Time of Update: 2017-02-27
使用者管理恢複************************************ 一、Oracle恢複的體繫結構二、恢複類型:執行個體恢複、介質恢複1、執行個體恢複的前提是資料檔案、控制檔案和線上日誌均沒有損壞,完全自動2、介質恢複:在檔案有物理損壞的情況下,將其還原、恢複、最後使資料庫得以正常開啟的操作稱為介質恢複,人工幹預三、恢複方式:完全恢複、不完全恢複四、恢複技術:使用者管理恢複和RMAN恢複 五、完全恢複案例v$recover_file
Time of Update: 2017-02-27
統計資訊對於Oracle資料庫來說至關重要,尤其是在使用CBO(基於成本的最佳化器)模式的時候,統計資訊包括表的使用塊數,空閑塊數,平均行長度,統計資訊收集時間等。在Oracle9i資料庫中,兩種最佳化器模式RBO(基於規則的最佳化器)和CBO(基於成本的最佳化器)並存,預設情況下,optimizer_mode參數的值是choose,choose不是最佳化器模式,它表示,在分析資料庫當中的語句時,如果在對象上有統計資訊,就是用cbo的方法產生執行計畫,如果對象上沒有統計資訊,就使用rbo的方法。
Time of Update: 2017-02-27
oracle11g資料庫,修改了記憶體參數memory_max_target=943718400,關閉資料庫重新啟動的時候報錯[oracle@instuctor shm]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.3.0 Production on Mon Nov 19 09:34:11 2012Copyright (c) 1982, 2011, Oracle. All rights reserved.Connected to an