高級數(shù)據(jù)庫知識點_第1頁
高級數(shù)據(jù)庫知識點_第2頁
高級數(shù)據(jù)庫知識點_第3頁
高級數(shù)據(jù)庫知識點_第4頁
高級數(shù)據(jù)庫知識點_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第1章進程:OralceServiceORCL:數(shù)據(jù)庫服務(wù),是核心服務(wù),是數(shù)據(jù)庫啟動的基礎(chǔ)(必須啟動)OralceOraDb11g_home1TNSListner:監(jiān)聽器服務(wù),在遠程訪問數(shù)據(jù)庫才需要(必須啟動)OralceOraDb11g_home1ConfigurationManager:配置Oralce啟動時的參數(shù)的服務(wù)(非必須)OralceOraDb11g_home1ClrAgent:提供對.NET支持的Oracle數(shù)據(jù)庫擴展服務(wù)(非必須)OralceJobSchedulerORCL:數(shù)據(jù)庫作業(yè)調(diào)度服務(wù)(非必須)OralceDBConsoleorcl:控制臺服務(wù),只有該服務(wù)啟動了才可以使

2、用web方式的企業(yè)管理器管理(非必須)OralceVssWriterORCL:是Oralce對VSS提供支持的服務(wù)(非必須)OralceMTSRecoveryService:允許數(shù)據(jù)庫充當(dāng)一個微軟事務(wù)服務(wù)器、COM/COM+對象和分布式環(huán)境下的事務(wù)資源管理器的服務(wù)第三章:數(shù)據(jù)庫內(nèi)存結(jié)構(gòu),后臺進程結(jié)構(gòu),存儲結(jié)構(gòu)之間的關(guān)系:SGA:system global area 系統(tǒng)全局區(qū)。是用于存儲數(shù)據(jù)庫信息的內(nèi)存區(qū),該信息為數(shù)據(jù)庫進程所共享。又稱共享全局區(qū)物理結(jié)構(gòu)組成:數(shù)據(jù)文件,控制文件,重做日志文件,歸檔日志文件,初始化參數(shù)文件,跟蹤文件,告警文件邏輯存儲結(jié)構(gòu)組成和關(guān)系:數(shù)據(jù)塊:最小的邏輯存儲單元,是

3、數(shù)據(jù)庫執(zhí)行輸入,輸出操作的最小單位區(qū):由一系列連續(xù)的數(shù)據(jù)塊構(gòu)成的邏輯存儲單元,是存儲空間分配的最小單位段:由一個或多個連續(xù)或不連續(xù)的區(qū)組成的邏輯存儲單元,用于存儲特定的,具有獨立存儲結(jié)構(gòu)的數(shù)據(jù)庫對象表空間:是數(shù)據(jù)庫最大的邏輯存儲單元,數(shù)據(jù)庫的大小從邏輯上看就是由表空間決定的,所有表空間大小的和就是數(shù)據(jù)庫的大小。DBWR進程何時啟動:1.當(dāng)滿足下列某個條件時:服務(wù)器進程在數(shù)據(jù)高速緩存區(qū)中搜索一定數(shù)據(jù)的緩存塊后,仍然沒有找到可用的空閑緩存塊2.檢查點發(fā)生時3.當(dāng)數(shù)據(jù)高速緩沖區(qū)中LRU(最少置換)列表長度達到初始化參數(shù)DB_BLOCK_WRITE_BATCH指定值的一半時 4.DBWR進程發(fā)生超時L

4、GWR進程何時被啟動:1. 當(dāng)用戶通過COMMIT語句提交當(dāng)前事務(wù)2. 重做日志緩沖區(qū)被寫滿三分之一3. DBWR進程開始將臟緩存塊寫入數(shù)據(jù)文件4. LGWR進程超時內(nèi)存結(jié)構(gòu):SGA:由數(shù)據(jù)緩沖區(qū)、共享池、重做日志緩沖區(qū)、大型池、JAVA池構(gòu)成;PGA區(qū)由排序區(qū)、私有SQL區(qū)以及堆棧構(gòu)成由Oracle分配的共享內(nèi)存結(jié)構(gòu),包含一個數(shù)據(jù)庫實例共享的數(shù)據(jù)和控制信息。當(dāng)多個用戶同時連接同一個實例時,SGA區(qū)數(shù)據(jù)供多個用戶共享,所以SGA區(qū)又稱為共享全局區(qū)。用戶對數(shù)據(jù)庫的各種操作主要在SGA區(qū)中進行。該內(nèi)存區(qū)隨數(shù)據(jù)庫實例的創(chuàng)建而分配,隨實例的終止而釋放。(提供所有的服務(wù)器進程和后臺進程共享)PGA:程序

5、全局區(qū)(又稱私有全局區(qū)),在用戶進程連接數(shù)據(jù)庫,創(chuàng)建一個會話時,由Oracle為用戶分配的內(nèi)存區(qū)域,保存當(dāng)前用戶私有的數(shù)據(jù)和控制信息,因此該區(qū)又稱為私有全局區(qū)。每個服務(wù)器進程只能訪問自己的PGA區(qū),所有服務(wù)器進程PGA區(qū)總和即為實例的PGA區(qū)的大小(創(chuàng)建服務(wù)器進程的同時要為該服務(wù)器進程分配一個內(nèi)存區(qū))后臺進程:DBWR:數(shù)據(jù)庫寫入進程,進程負(fù)責(zé)把數(shù)據(jù)高速緩沖區(qū)中已經(jīng)被修改過的數(shù)據(jù)(“臟”緩存塊)成批寫入數(shù)據(jù)文件中永久保存,同時使數(shù)據(jù)高速緩沖區(qū)有更多的空閑緩存塊,保證服務(wù)器進程將所需要的數(shù)據(jù)從數(shù)據(jù)文件讀取到數(shù)據(jù)高速緩沖區(qū)中,提高緩存命中率。 LGWR日志寫入進程負(fù)責(zé)把重做日志緩沖區(qū)的重

6、做記錄寫入重做日志文件中永久保存。 CKPT檢查點進程,進程的作用就是執(zhí)行檢查點,更新控制文件與數(shù)據(jù)文件的頭部,使其同步;,觸發(fā)DBWR進程,將臟緩存塊寫入數(shù)據(jù)文件。 SMON系統(tǒng)監(jiān)控進程,進程的主要功能包括:在實例啟動時負(fù)責(zé)對數(shù)據(jù)庫進行恢復(fù);回收不再使用的臨時空間;將各個表空間的空閑碎片合并。 PMON進程監(jiān)控進程,進程的主要功能包括:負(fù)責(zé)恢復(fù)失敗的用戶進程或服務(wù)器進程,并且釋放進程所占用的資源;清除非正常中斷的用戶進程留下的孤兒會話,回退未提交的事務(wù),釋放會話所占用的鎖、SGA、PGA等資源;監(jiān)控調(diào)度進程和服務(wù)器進程的狀態(tài),如果它們失敗,則嘗試重新啟動它們,并

7、釋放它們所占用的各種資源。 ARCH歸檔進程,進程用戶歸檔重做日志文件。 RECO進程用戶數(shù)據(jù)庫恢復(fù)。第5章:創(chuàng)建永久性表空間:1. 區(qū)自動擴展,段自動管理方式create tablespace hrtbs1 datafile 路徑 size 50M;2. 區(qū)定制分配,段采用自動管理create tablespace hrtbs2 datafile 路徑 size 50M extent management local uniform size 512K;3. 區(qū)自動擴展,段采用手動管理create tablespace hrtb3 datafile 路徑 size 50M

8、 segment space management manual;創(chuàng)建大文件表空間創(chuàng)建大文件表空間,文件大小為1G,區(qū)的分配采用定制方式create bigfile tablespace big_tbs datafile 路徑 size 1G uniform size 512K;創(chuàng)建臨時表空間:create temporary tablespace hrtmp1 tempfile 路徑 size 20M extent management local uniform size 15M;將一個或多個表空間組成一個臨時表空間組create temporary tablespace hrtmp2 t

9、emfile 路徑 size 20M extent management local uniform size 15Mtablespace group temp_group;創(chuàng)建撤銷表空間create undo tablespce hrundo1 datafile 路徑 size 20M;修改表空間大小1. 為表空間添加數(shù)據(jù)文件1.1 為表空間添加一個大小為10MB的數(shù)據(jù)文件alter tablespace users add datafile 路徑 size 10M;1.2 為表空間添加一個大小為5MB的臨時數(shù)據(jù)文件alter tablespace temp add tempfile 路徑

10、size 5M;2. 改變數(shù)據(jù)文件的擴展性2.1 修改數(shù)據(jù)庫的表空間的某個文件為自動增長方式alter database datafile 路徑 autoextend on next 1M maxsize unlimited;2.2 取消數(shù)據(jù)庫的表空間的數(shù)據(jù)文件的自動增長方式alter database datafile 路徑 autoextend off;3. 重新設(shè)置數(shù)據(jù)文件大小alter database datafile 路徑 resize 8M;改變數(shù)據(jù)文件的名稱或者位置1. 改變同一個表空間的數(shù)據(jù)文件名稱或位置1.1將其所屬表空間設(shè)置為脫機狀態(tài)alter tablespace us

11、ers offline;1.2 在操作系統(tǒng)中改變數(shù)據(jù)文件的名稱或位置 host copy 原路徑 目的路徑;1.3 執(zhí)行修改語句,修改數(shù)據(jù)字典和控制文件中與該數(shù)據(jù)文件相關(guān)的信息 alter tablespace users rename datafile 原路徑 to 新路徑;1.4 將數(shù)據(jù)文件所屬表空間設(shè)置為聯(lián)機狀態(tài) alter tablespace users online;2. 改變屬于多個表空間的數(shù)據(jù)文件的名稱或位置2.1 關(guān)閉數(shù)據(jù)庫 shutdown immediate;2.2 啟動數(shù)據(jù)庫到加載狀態(tài)(mount)startup mount;2.3 在操作系統(tǒng)中改變數(shù)據(jù)文件的名稱或位置

12、host copy 原路徑 目的路徑;2.4 執(zhí)行修改語句,修改數(shù)據(jù)字典和控制文件中與該數(shù)據(jù)文件相關(guān)的信息alter database rename file 原路徑 to 新路徑, 原路徑 to 新路徑;2.5 打開數(shù)據(jù)庫alter database open;查詢數(shù)據(jù)文件信息select tablespace_name, file_name from xxx;備份控制文件的原因及如何備份:為了避免由于控制文件的損壞或者丟失而導(dǎo)致數(shù)據(jù)庫系統(tǒng)崩潰,需要對控制文件進行備份。特別是對數(shù)據(jù)庫物理結(jié)構(gòu)做出修改之后,都需要重新備份。1可以將控制文件備份為二進制文件。Alter database back

13、up controlfile to 路徑;2. 備份為文本文件alter database backup controlfile to trace;說明重做日志文件的作用:重做日志文件是以重做記錄的形式記錄、保存用戶對數(shù)據(jù)庫所進行的修改操作,包括用戶執(zhí)行DDL、DML語句的操作。如果用戶只對數(shù)據(jù)庫進行查詢操作,那么查詢信息是不會記錄到重做日志文件中的。重做日志的工作過程:重做日志緩沖區(qū)1,4,7,2,5,8,3,6,9,LGWR日志切換日志切換日志切換重做日志文件3重做日志文件2重做日志文件1至少要兩個重做日志文件,采用循環(huán)寫的方式進行工作。這樣能保證,當(dāng)一個重做日志文件在進行歸檔時,還有另一

14、個重做日志文件可用。當(dāng)一個重做日志文件被寫滿后,后臺過程LGWR開始寫入下一個重做日志文件,即日志切換,同時產(chǎn)生一個“日志序列號”,并將這個號碼分配給即將開始使用的重做日志文件,當(dāng)所有的重做日志文件都寫滿后,LGWR進程再寫入第一個重做日志文件。數(shù)據(jù)庫歸檔的必要性及如何進行歸檔設(shè)置歸檔是數(shù)據(jù)庫恢復(fù)及熱備份的基礎(chǔ)。只用當(dāng)數(shù)據(jù)庫歸檔模式時,才可以進行熱備份和完全恢復(fù)。進行歸檔設(shè)置包括歸檔模式設(shè)置(ARCHIVELOG)、歸檔方式設(shè)置以及歸檔路徑的設(shè)置等。歸檔目標(biāo)的設(shè)置方法和注意事項1. 關(guān)閉數(shù)據(jù)庫2. 設(shè)置歸檔目的地3. 將數(shù)據(jù)庫啟動到加載狀態(tài)4. 改變數(shù)據(jù)庫歸檔模式5. 打開數(shù)據(jù)庫數(shù)據(jù)庫表空間的

15、種類及不同類型表空間的作用數(shù)據(jù)庫表空間分為系統(tǒng)表空間和非系統(tǒng)表空間兩類,其中非系統(tǒng)表空間包括撤銷表空間、臨時表空間和用戶表空間等。 SYSTEM表空間主要用于存儲數(shù)據(jù)庫的數(shù)據(jù)字典、PL/SQL程序的源代碼和解釋代碼、數(shù)據(jù)庫對象的定義。撤銷表空間專門進行回退信息的自動管理。臨時表空間是專門進行臨時段管理的表空間。用戶表空間用于分離不同應(yīng)用的數(shù)據(jù),而且能夠減少讀取數(shù)據(jù)文件時產(chǎn)生的I/O沖突說明數(shù)據(jù)庫控制文件的作用。控制文件保存數(shù)據(jù)庫的物理結(jié)構(gòu)信息,包括數(shù)據(jù)庫名稱、數(shù)據(jù)文件的名稱與狀態(tài)、重做日志文件的名稱與狀態(tài)等。在數(shù)據(jù)庫啟動時,數(shù)據(jù)庫實例依賴初始化參數(shù)定位控制文件,然后根據(jù)控制文件的信息

16、加載數(shù)據(jù)文件和重做日志文件,最后打開數(shù)據(jù)文件和重做日志文件。數(shù)據(jù)庫、表空間、數(shù)據(jù)文件及數(shù)據(jù)庫對象之間的關(guān)系一個數(shù)據(jù)庫由一個或多個表空間構(gòu)成,不同的表空間用于存放不同應(yīng)用的數(shù)據(jù),表空間的大小決定了數(shù)據(jù)庫的大小。一個表空間對應(yīng)一個或多個數(shù)據(jù)文件,數(shù)據(jù)文件的大小決定了表空間的大小。一個數(shù)據(jù)文件只能從屬于一個表空間。一個數(shù)據(jù)庫對象只能存儲在一個表空間中,但可以存儲在該表空間所對應(yīng)的一個或多個數(shù)據(jù)文件中。第6章:索引的作用,以及建立和維護索引所需要解決的問題索引用于提高數(shù)據(jù)的查詢效率。根據(jù)索引值是否唯一,可以分為唯一性索引和非唯一性索引;根據(jù)索引的組織結(jié)構(gòu)不同,可以分為平衡樹索引和位圖索引;根據(jù)索引基于

17、的列數(shù)不同可以分為單列索引和復(fù)合索引。主要問題:(1)索引不要與表存放在同一個表空間內(nèi)(2)一個表的索引不要過多(3)對于大表而且使用頻繁的表,在生產(chǎn)時最好不要去加索引(4)數(shù)據(jù)量小的表,使用不頻繁的不要單獨另建立索引(5)在查詢條件中幾個條件一起使用的,適合建立組合索引,否則不要建立組合索引,當(dāng)單獨引用非第一字段時將發(fā)生全表掃描(6)在查詢的時候,where條件不要對索引的列做處理,而要對后面的條件字段做處理。否則用不上這個列上的索引。視圖的作用以及分類視圖是從一個或多個表或視圖中提取出來的數(shù)據(jù)的一種表現(xiàn)形式。在數(shù)據(jù)庫中只有視圖的定義,而沒有實際對應(yīng)“表”的存在。通過視圖的使用可以提高數(shù)據(jù)的

18、安全性,隱藏數(shù)據(jù)的復(fù)雜性,簡化查詢語句,分離應(yīng)用程序與基礎(chǔ)表,保存復(fù)雜查詢等。簡單視圖和復(fù)雜視圖表的約束包括:主鍵約束:定義了主鍵約束的列取值不能為空,也不能重復(fù)。 Ø 唯一值約束:定義了唯一值約束的列取值不能重復(fù)。 Ø 檢查約束:定義了檢查約束的列取值要滿足檢查條件。 外鍵約束:定義了外鍵約束的列取值要么是主表參照列的值,要么是空值。 Ø 空/非空約束:定義了非空約束的列取值不能為空。第7章數(shù)據(jù)插入:(同一類型只能插入一次)insert into xxx values(xx, xx, xx);

19、數(shù)據(jù)合并:merge into t_emp t using so_emo son (t.id = s.id)when matched then update set t.naem = , t.de = s.dewhen not matched then insert values(s.id, , s.de);第8章上機實驗40句第9章PL/SQL:變量和常量類型:表名.列名%TYPE;代表使用列表名%ROWTYPE或者普通的類型聲明變量和常量:declare/*格式:變量/常量名 (如果是常量要加上constant)類型 (如果是常量必須要賦值)賦值用:=或者defau

20、lt 值;*/v1 constant number(4) := 3;v2 number(4) not null := 10;v3 number(4) default 10;查詢語句:先聲明變量然后通過select xx into 這個變量 from table xxx where xxx;declarev1 em.salary%TYPE;beginselect salary into v1 from em where salary > 3000;end;在DBMS的控制臺輸出:DBMS_OUTPUT.PUT_LINE(v1);控制結(jié)構(gòu):IF語句IF xxx THEN xxxx;IF xx

21、x THEN xxxx ELSE xxxx;IF xxx THEN xxxx ELSIF xxx THEN xxxx;END IF;CASE語句:CASEWHEN xxxx THEN xxx;WHEN xxxx THEN xxx;ELSE xxx;END CASE;循環(huán)語句:1.相當(dāng)于死循環(huán),然后有個條件跳出循環(huán)LOOPxxx;EXIT WHEN xxx;/*這句話是當(dāng)條件滿足,跳出循環(huán)*/END LOOP;2.條件循環(huán)WHILE xxx/*滿足條件循環(huán)*/LOOPxxx;END LOOP;3.for循環(huán)declarev number:= 10;beginfor v in 1.100 LOOP

22、xxx;END LOOP;end;例:求1-100的偶數(shù)和DECLAREv_count NUMBER := 1;v_sum NUMBER := 0;BEGINWHILE v_count <= 100LOOPIF mod(v_count, 2) = 0 THEN v_sum := v_sum + v_count;END IF;v_count := v_count + 1;END LOOP;DBMS_OUTPUT.PUT_LINE(v_sum);END;第10章創(chuàng)建一個存儲過程/*創(chuàng)建一個為dep的存儲過程,聲明存儲過程中的變量*/CREATE OR REPLACE PROCEDURE de

23、p(P_dep em.dep_id%TYPE,p_avgsal OUT em.salary%TYPE,/*OUT是表示希望返回多個值*/p_count OUT NUMBER)AS BEGIN/*將em表中查找到的數(shù)據(jù)賦值到存儲變量*/select avg(salary), count(*) into p_avgsal, p_count from emwhere dep_id = p_dep;/*捕獲異常*/EXCEPTIONWHEN NO_DATA_FOUND THENDBMS_OUTPUT.PUT_LINE(no exists);END dep;創(chuàng)建包首先創(chuàng)建包規(guī)范:(相當(dāng)于頭文件)CREA

24、TE OR REPLACE PACKAGE pkg_empASminsal NUMBER;maxsal NUMBER;e_beyondbound EXCEPTION;PROCEDURE update_sal(p_empno NUMBER, p_sal NUMBER);PROCEDURE add_employee(p_empno NUMBER, p_sal NUMBER);END pkg_emp;然后創(chuàng)建包體CREATE OR REPLACE PACKAGE BODY pkg_empAS/*update函數(shù)的實現(xiàn)*/PEOCEDURE update_sal(p_empno NUMBER, p_sal NUMBER);ASBEGINselect min(salary), max(salary) into mins

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論