Time of Update: 2017-02-27
使用者要想使用Oracle資料庫,首先要與資料庫建立串連。針對資料庫連接,Oracle提供了兩種解決方式:專用連線和共用串連。大部分情況下,我們使用專用連線方式。對專用連線來說,使用者在用戶端啟動了一個應用程式,比如SQL*Plus,於是就在用戶端本地啟 動了一個使用者進程。與Oracle伺服器成功建立串連以後,就會在資料庫伺服器端產生一個對應的伺服器處理序,該伺服器處理序作為使用者進程 的代理
Time of Update: 2017-02-27
1、LRU鏈表結構概述在前面,我們已經知道了Oracle是如何在hash chain中搜尋要找的資料區塊所對應的buffer header的過程,我們也知道如果在hash chain上沒有找到所要的buffer header時,Oracle會發出I/O調用,到磁碟上的資料檔案中擷取資料區塊,並將該資料區塊的內容複寫一份到buffer cache中的記憶體資料區塊裡。這個時候,假如buffer cache是空的,比較好辦,直接拿一個空的記憶體資料區塊來用即可。但是如果buffer
Time of Update: 2017-02-27
建立預存程序create or replace procedure test(var_name_1 in type,var_name_2 out type) as--聲明變數(變數名 變數類型)begin--預存程序的執行體end test;列印出輸入的時間資訊E.g:create or replace procedure test(workDate in Date) isbegindbms_output.putline('The input date
Time of Update: 2017-02-27
對於DML語句來說,只要修改了資料區塊,Oracle資料庫就會將修改前的資料保留下來,儲存在undo segment裡,而undo segment則儲存在undo資料表空間裡。從 Oracle 9i起,有兩種undo的管理方式:自動Undo管理(Automatic Undo Management,簡稱AUM)和手工Undo管理(Manual Undo Management,簡稱MUM)。 Oracle 9i之前只能使用MUM,而且在MUM中,undo segment又叫做rollback
Time of Update: 2017-02-27
匯入匯入Oracle 分區表資料是Oracle DBA
Time of Update: 2017-02-27
作為一個複雜的Oracle資料庫系統來說,每時每刻都要處理不同使用者所提交的SQL語句,擷取資料並返回資料給使用者。前面已經說到,解析SQL語句的工作是在Oracle執行個體中的shared
Time of Update: 2017-02-27
如何高效的將excel匯入到oracle?和前兩天的SqlBulkCopy 匯入到sqlserver對應,oracle也有自身的方法,只是稍微複雜些.那就是使用oracle的sql*loader功能,而sqlldr只支援類似csv格式的資料,所以要自己把excel轉換一下。實現步驟:用com組件讀取excel-儲存為csv格式-處理最後一個欄位為null的情況和表頭-根據excel結構建表-產生sqlldr的控制檔案-用sqlldr命令匯入資料這個效能雖然沒有sql的bcp快,但還是相當可觀的,
Time of Update: 2017-02-27
概念及注意事項1、組函數:對一組資料進行操作,最後返回一個值,用作統計分析,求所有的非空值。2、關鍵字DISTINCT可以排除重複值。3、參數的類型可以是CHAR,VARCHAR2,NUMBER,DATE4、除了COUNT(*)外,其他所有組函數都忽略空值,可以使用NVL函數處理5、select之後,如果其中有一個組函數,那麼其他的也要是組函數。avg() 平均count() 計數max() 最大值min() 最小值sum() 求和組函數的使用1、數字類型可以使用很多組函數SQL>
Time of Update: 2017-02-27
這個問題好像是不少安裝過oracle RAC 的人員都曾遇到過的(linux 和 windows下都有)。 有相似經曆的同胞稱其為“精典的oracle,OUI-25031" 其截圖如下。安裝過程是按照 oracle 提供的官方文檔 來進行的。諸如重新設定系統核心參數,建立oracle使用者 ,設定oracle使用者的環境變數,配置 rsh ,並且已經保證了 A,B 兩台機器能在自己以及對方的機器 上執行 rsh
Time of Update: 2017-02-27
當我們起了一個datapump job之後,可以通過v$session_longops查看當前進度。USERNAME - job owner OPNAME - job name TARGET_DESC - job operation SOFAR - megabytes transferred thus far during the job TOTALWORK - estimated number of megabytes in the job UNITS -
Time of Update: 2017-02-27
v$parameterOracle參數的修改比較複雜,有些參數是可以在session層級修改,有些則必須在system層級修改, 有些參數修改後馬上生效(不需要重啟),有些參數則必須重啟才會生效,那麼我們如何知道這些資訊 呢?可以查詢動態視圖v$parameter中的兩列(如下所示)得知:1. ISSES_MODIFIABLE指示參數是否可以在session層級( Alter session set )修改(True or False)2.
Time of Update: 2017-02-27
資料庫系統本身是一個多使用者並發處理系統,在同一個時間點上,可能會有多個使用者同時操作資料 庫。這裡就涉及兩個很重要的問題。這些使用者之間的操作不會互相破壞。比如兩個使用者同時在相同的物理位置上寫資料時,不能發生互 相覆蓋的情況。這叫序列化,也就是說,即便兩個使用者同時寫,也必須有先後,一個使用者寫完,另一個
Time of Update: 2017-02-27
DG最核心的功能是提供高可用性的容災,因此本節要介紹的角色轉換內容是DG最重要的部分。DG主 從庫間的角色切換分為以下兩種:1)SwitchoverSwithchover是指主從庫進行角色互換(主庫變備庫,備庫變主庫),通常都是人為的、有計劃的, 比如利用Switchover可以減少資料庫升級的停機時間,因此不會造成資料丟失。2) FailoverFailover是指主庫因為故障無法短時間內恢複,為了保證資料的可用性,備庫不得不臨時
Time of Update: 2017-02-27
Data Guard提供如下三種資料保護模式:1)最高保護模式(Maximum Protection)這裡的”最高保護“是指最大限度的保護資料不丟失,也就是至少有一個standby和 primary保持即時同步,但這樣做的代價很大,因為只要當一個事務提交時,不但要寫到primary段的 online redo log,還有寫到至少一個standby的standby redo log。這樣會有一個嚴重的問題,就是當
Time of Update: 2017-02-27
1、控制檔案的功能和特點1)定義資料庫當前物理狀態2)維護資料的一致性:如果控制檔案中的檢查點與資料檔案中的一 致,則說明資料一致,可以啟動到open狀態)查看資料一致性的方法:SQL> select file#,checkpoint_change# from v$datafile;【從控制檔案讀取】FILE# CHECKPOINT_CHANGE#---------- ------------------1
Time of Update: 2017-02-27
1、存放所有事物日誌。重做日誌的兩個概念,重做日誌組和重做日誌群組成員。一個資料庫中至少要有兩個日誌組檔案,一組寫完後再寫另一組,即輪流寫。每個日誌組中至少有 一個日誌成員,一個日誌組中的多個日誌成員是鏡相關係,有利於記錄檔的保護。2、聯機日誌組的交換過程叫做切換。特別注意:日誌切換在一個最佳化效果不好的資料庫中會引起臨
Time of Update: 2017-02-27
oracle物理結構即物理作業系統檔案的集合。控制檔案(參數檔案init.ora記錄了控制檔案的位置)二進位檔案,控制檔案由參數control_files指定,格式如下:control_files= ("home/app/.../control01.ctl","home/app/.../control02.ctl") 。1、要對控制檔案進行鏡象,手工鏡像步驟如下:a.shutdownb.cp
Time of Update: 2017-02-27
Data Guard提供如下三種資料保護模式:1)最高保護模式(Maximum Protection)這裡的”最大保護“是指最大限度的保護資料不丟失,也就是至少有一個standby和primary保持即時同步,但這樣做的代價很大,即當一個事務提交時,不但要寫到primary段的online redo log,還有寫到至少一個standby的standby redo
Time of Update: 2017-02-27
聯機記錄檔狀態為active或current表示該日誌包含的資料修改還未完全同步到資料文 件中,在執行個體恢複時,還需要讀取其中的redo記錄重演,因此如果損壞,資料丟失在所難免 。1)類比災難首先查看log的狀態:SQL> select group#,sequence#,status from v$log;GROUP# SEQUENCE# STATUS------ ---- ---------- ---------------- 2 &
Time of Update: 2017-02-27
以下代碼均經過測試,可直接運行Oracle分析函數、多維函數和Model函數簡要說明,主要針對BI報表統計,不一定很全面,但對BI應用情境做了少許說明--建立一張銷售數量表,資料趨勢是遞增的CREATE TABLE ComputerSales ASSELECT 120+TRUNC(rn/12)+ROUND(DBMS_RANDOM.VALUE(1,10)) SalesNumber FROM ( SELECT level,ROWNUM rn FROM DUAL