Time of Update: 2017-02-27
一、 Oracle體繫結構的組件Oracle體繫結構包括很多基本組件下面我們詳細介紹一下這些組件。1、Oracle伺服器:Oracle伺服器中包含多種檔案結構、進程結構和記憶體結構;但是,處理 SQL語句時,並非所有這些結構都會用到。某些結構用於提高資料庫的效能,確保該資料庫在遇到軟體或硬體錯誤時可以恢複,或者執行維護該資料庫所需的其它任務。Oracle伺服器包括一個 Oracle執行個體和一個
Time of Update: 2017-02-27
我都是放在$ORACLE_HOME/rdbms/admin下,看起來像個Oracle提供的指令碼$ cat show_para.sqlcol p_name for a40col p_DESCRIPTION for a50col p_value for a30set linesize 10000SELECT i.ksppinm p_name, i.ksppdesc p_description, CV.ksppstvl p_VALUE,&
Time of Update: 2017-02-27
當 Oracle 在執行一些 SQL 時,會需要一些臨時空間來儲存執行時產生的中間資料。這些臨時空 間由 Orac le從指定的暫存資料表空間中分配給進程。主要有三種情況會佔用臨時空間:暫存資料表/索引操作、排序和 臨時 LO B對象操作。A.暫存資料表/索引:在會話中,當第一次對暫存資料表進行 INSERT(包括 CTAS)時 ,Orac le 會從暫存資料表空間中為臨時 表及其索引分配臨時空間一儲存資料。B.排序:任何會使用到排序的操作,包括 JOIN、建立(重建)INDEX、ORDER &
Time of Update: 2017-02-27
1、從 ORACLE 下載用戶端的簡易包,加壓縮到磁碟上的任意目錄,例如 E: \Utility\Oracle\Win322、將該路徑增加到系統內容變數 PATH 中,然後將下面的註冊表檔案匯入到註冊表中Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE]“NLS_LANG”=“SIMPLIFIED CHINESE_CHINA.ZHS16GBK&
Time of Update: 2017-02-27
1 、startup nomount非安裝啟動,這種方式啟動下可執行:重建控制檔案、重建資料庫讀取init.ora檔案,啟動instance,即啟動SGA和後台進程,這種啟動只需要init.ora檔案。2 、startup mount
Time of Update: 2017-02-27
這個故事的起因是有同學在版本10.2.0.1(據說9i上也可能遇到)的一個主機運行198/248/249(24.9)天后OCI Client出現SPIN自旋消耗大量CPU的BUG,SPIN的起因是sltrgatime64()函數對times()函數的死迴圈調用;BUG號有《 4612267 OCI client spins when machine uptime >= 249 days》、 《OCI CLIENT IS IN AN INFINITE LOOP WHEN
Time of Update: 2017-02-27
Oracle資料表空間傳輸是8i 新增加的一種快速在資料庫間移動資料的一種辦法,是把一個數據庫上的格式資料檔案附加到另外一個資料庫中,而不是把資料匯出成dmp 檔案,這在有些時候是非常管用的,因為傳輸資料表空間移動資料就象複製檔案一樣快。1.關於傳輸資料表空間有一些規則(10g前):· 來源資料庫和目標資料庫必須運行在相同的硬體平台上。[ Oracle備份與恢複總結] E-Mail / MSN : db.dw.dm@gmail.com[ Oracle備份與恢複總結] E-Mail
Time of Update: 2017-02-27
如前例中所示,指定對象跳過應用雖然被取消,但是有可能在此期間由於Primary資料庫做過資料 修改,兩端此時已經不同步,如果Standby端繼續應用極有可能導致應用錯誤的資料。對於這類情況,Oracle資料庫也早有預見,DBMS_LOGSTDBY包中還有一個過程叫INSTANTIATE_TABLE ,專門用來同步一下跳過的對象,以保持與Primary資料庫的一致。DBMS_LOGSTDBY.INSTANTIATE_TABLE的調用文法如下:1.
Time of Update: 2017-02-27
Oracle官方文檔數量龐大,而且往往沒有側重點,讓oracle新手看起來很費力。但是,仍有很多 Oracle使用者認為任何oracle學習資料都比不上Oracle官方文檔的權威和扼要,且兼具基礎與全面。 這種差異可能與個人的閱讀方法有很大關係,本文將為您提供一些可供參考的Oracle官方文檔閱讀方 法。如何讀Reference?Reference意思是參考,向產品使用說明書一樣包羅永珍,建議無需精讀,碰到問題時速查即可Oracle基礎入門必讀文檔:Oracle Database
Time of Update: 2017-02-27
無論是一個還是多個磁碟響應一個邏輯 I/O,我們都要求 I/O 能被一次處理。因而在確定了條帶 深度的基礎上,我們需要保證條頻寬度 >= I/O 請求的大小 / 條帶深度。此外,考慮到以後系統容量的擴充,我們也需要規劃好條頻寬度。如今大多數 LVM 都支援線上動態增加磁碟。也就是在磁碟容量不足時,我們可以隨時將新磁碟加 入到一個已經使用的邏輯卷中。這樣的話,我們在設定邏輯卷時就可以簡單地將所有磁碟都歸入到一 個卷中去。但是,有些 LVM
Time of Update: 2017-02-27
Oracle的分頁查詢語句基本上可以按照本文給出的格式來進行套用。分頁查詢格式:SELECT * FROM(SELECT A.*, ROWNUM RNFROM (SELECT * FROM TABLE_NAME) AWHERE ROWNUM <= 40)WHERE RN >= 21其中最內層的查詢SELECT * FROM TABLE_NAME表示不進行翻頁的原始查詢語句。ROWNUM <= 40 和RN >=
Time of Update: 2017-02-27
I/O 包括了讀、寫兩部分,先介紹 Oracle資料庫 中寫操作的產生。2.1. 寫介紹寫操作之前,先簡單的看下 Oracle 的物理結構:Oracle 的物理檔案包括以下三種檔案:控 制檔案(Control Files)、重做記錄檔(Redo Log Files)、資料檔案(datafiles)。而資料文 件中,根據功能的不同,還可以分為:系統資料檔案、使用者資料檔案、臨時空間檔案和復原段檔案。 另外,如果資料庫的 Archive Log
Time of Update: 2017-02-27
Oracle觸發器分類:1、 語句觸發器2、 行觸發器3、 系統條件觸發器4、 使用者事件觸發程序5、 INSTEAD OF 觸發器1、 語句觸發器是在表上或者某些情況下的視圖上執行的特定語句或者語句組上的觸發器。能夠與INSERT、UPDATE 、DELETE或者組合上進行關聯。但是無論使用什麼樣的組合,各個語句觸發器都只會針對指定語句激
Time of Update: 2017-02-27
在這種方法中,主要有兩種途徑來實現對 I/O 的最佳化。Oracle 使用記憶體緩衝來減少 I/O通過一些記憶體緩衝,如 Buffer Cache、Log Buffer、Sort Area,可以降低資料庫對 I/O 的請求 。當 Buffer Cache被增大到一定大小時,絕大多數結果可以直接從緩衝中擷取到,而無需從磁碟上讀 取了。而在進行排序操作時,如果 Sort Area 足夠大,排序過程中產生的臨時資料可以直接放在記憶體 中,而無需佔用暫存資料表空間了。Oracle 調整
Time of Update: 2017-02-27
Oracle資料庫中,consistent gets在判斷一段SQL的效能時非常有用,通常來講比較兩段SQL的效能好壞不是看誰的執行時間短,而是看誰的consistent gets小。不過這也不是絕對的,下面這個例子就是一個反例。一:通常情況下,不在logical RAM buffer中的資料要通過physical reads來讀取,而physical reads後通常會緊跟著一個consistent gets.因此一般情況下consistent gets是要比physical reads大的。
Time of Update: 2017-02-27
LRU是Buffer Cache池中的重要鏈表,它的作用我不再詳述,已經有很多相關資料。這次主要和大 家討論下主LRU、輔助LRU的作用。先來看一個測試。步1:環境介紹先來看看Buffer Cache的大小:SQL> show sgaTotal System Global Area 1073741824 bytesFixed Size 1284344
Time of Update: 2017-02-27
因為oracle需要隨時預防可能的執行個體崩潰現象,所以oracle在資料庫的正常運行過程中,會不斷的 定位這個起點,以便在不可預期的執行個體崩潰中能夠最有效保護並恢複資料。同時,這個起點的選擇 非常有講究。首先,這個起點不能太靠前,太靠前意味著要處理很多的重做條目,這樣會導致執行個體再 次啟動時所進行的恢複的時間太長;其次,這個起點也不能太靠後,太靠後說明只有很少的髒資料區塊 沒有被寫入資料檔案,也就是說前面已經有很多髒資料區塊被寫入了資料檔案,那也就意味著只有在
Time of Update: 2017-02-27
裸裝置,也叫裸分區(原始分區),是一種沒有經過格式化,不被unix通過檔案系統來讀取的特殊字元裝置。本文收集裸裝置和oracle問答20例。1.什麼叫做裸裝置?裸裝置,也叫裸分區(原始分區),是一種沒有經過格式化,不被unix通過檔案系統來讀取的特殊字元裝置。它由應用程式負責對它進行讀寫操作。不經過檔案系統的緩衝。2.如何辨別裸裝置?在unix的/dev
Time of Update: 2017-02-27
1、簡介sed是非互動編輯器。它不會修改檔案,除非使用shell重新導向來儲存結果。預設情況下,所有的輸出行都被列印到螢幕上。sed編輯器逐行處理檔案(或輸入),並將結果發送到螢幕。具體過程如下:首先sed把當前正在處理的行儲存在一個臨時緩衝區中(也稱為模式空間),然後處理臨時緩衝區中的行,完成後把該行發送到螢幕上。sed每處理完一行就將其從臨時緩衝區刪除,然後將下一行讀入,進行處理和顯示。處理完輸入檔案的最後一行後,sed便結束運行。sed把每一行都存在臨時緩衝區中,對這個副本進行編輯,所以不
Time of Update: 2017-02-27
當資料庫出現嚴重的效能問題或者hang了的時候,我們非常需要通過systemstate dump來知道進程在做什麼,在等待什麼,誰是資源的持有人,誰阻塞了別人。在出現上述問題時,及時收集systemstate dump非常有助於問題原因的分析。在一些情況下,資料庫會自動產生systemstate dump, 比如出現了“WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK”。systemstate