日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Oracle知識(shí)點(diǎn)總結(jié)(一)

系統(tǒng) 2549 0

體系結(jié)構(gòu):

數(shù)據(jù)庫的體系結(jié)構(gòu)是指數(shù)據(jù)庫的組成、工作過程與原理,以及數(shù)據(jù)在數(shù)據(jù)庫中的組織與管理機(jī)制。

體系結(jié)構(gòu)包括:實(shí)例( instence ),數(shù)據(jù)庫文件( database ),用戶進(jìn)程( user?process

,服務(wù)器進(jìn)程( server?process ),以及其他文件(如參數(shù)文件( parameter?file ),密碼文件( password?file ),歸檔日志文件( archive?log?file )等)。

Oracle 服務(wù)器由數(shù)據(jù)庫文件和數(shù)據(jù)庫實(shí)例組成。

其中數(shù)據(jù)庫實(shí)例包括 SGA (即內(nèi)存結(jié)構(gòu)的集合)和管理數(shù)據(jù)庫的后臺(tái)進(jìn)程。

數(shù)據(jù)庫文件包括三種:數(shù)據(jù)文件( data?files ),控制文件( control?files )和重做日志文件( redo?log?files )。

?

Oracle 中的 3 個(gè)主要內(nèi)存區(qū)域是:

–?系統(tǒng)全局區(qū)域 (system?global?area SGA)-- 當(dāng)數(shù)據(jù)庫實(shí)例啟動(dòng)時(shí)會(huì)首先分配

–?程序全局區(qū)域 (program?global?area PGA)

–?用戶全局區(qū)域 (user?global?area UGA)

SGA 內(nèi)存結(jié)構(gòu)包括 :? 共享池( Shared?Pool ),數(shù)據(jù)緩沖區(qū)( Database?Buffer?Cache ),重做日志緩沖區(qū)( Redo?Log?Buffer?Cache )。共享池的作用:共享池由庫緩存和數(shù)據(jù)字典緩存組成。緩存和共享 SQL PL/SQL 代碼;數(shù)據(jù)緩沖區(qū)的作用: 存儲(chǔ)從數(shù)據(jù)文件中讀入的數(shù)據(jù),提高查詢速度;重做日志緩沖區(qū)的作用:變化前和變化后的數(shù)據(jù)在寫入數(shù)據(jù)緩沖區(qū)前都會(huì)先寫入重做日志緩沖區(qū),這樣在數(shù)據(jù)恢復(fù)時(shí), Oracle 就知道哪些需要回滾。 日志數(shù)據(jù)首先產(chǎn)生于重做日志緩沖區(qū),當(dāng)重做日志緩沖區(qū)的日志數(shù)據(jù)達(dá)到一定數(shù)量時(shí),由日志寫進(jìn)程LGWR將日志數(shù)據(jù)寫入重做日志文件中。

PGA 是為單獨(dú)的服務(wù)器進(jìn)程存儲(chǔ)私有數(shù)據(jù)的內(nèi)存區(qū)域,只為各個(gè)服務(wù)器進(jìn)程提供一個(gè) PGA PGA 只能由他們的服務(wù)器進(jìn)程訪問。

UGA 是用于存儲(chǔ)會(huì)話狀態(tài)的內(nèi)存區(qū)域。 UGA 的位置依賴于服務(wù)器是運(yùn)行在共享服務(wù)器模式中,還是專用服務(wù)器模式中。在專用服務(wù)器模式中, UGA 會(huì)在 PGA 中分配,只能夠由服務(wù)器進(jìn)程訪問。

?

Oracle進(jìn)程主要有用戶進(jìn)程、服務(wù)器進(jìn)程和后臺(tái)進(jìn)程。

用戶進(jìn)程是一個(gè)需要與Oracle服務(wù)器進(jìn)行交互的程序。

服務(wù)器進(jìn)程猶如一個(gè)中介,完成用戶的各種數(shù)據(jù)服務(wù)請求,而把數(shù)據(jù)庫服務(wù)器返回的數(shù)據(jù)發(fā)給客戶端。

后臺(tái)進(jìn)程主要作用是協(xié)調(diào)好系統(tǒng)的性能。其主要包括進(jìn)程監(jiān)控進(jìn)程(PMON,服務(wù)器進(jìn)程的管理和維護(hù))、系統(tǒng)監(jiān)控進(jìn)程(SMON,在數(shù)據(jù)庫出現(xiàn)故障時(shí)進(jìn)行實(shí)例恢復(fù))、數(shù)據(jù)庫寫進(jìn)程(DBWR,主要負(fù)責(zé)將數(shù)據(jù)緩沖區(qū)內(nèi)的數(shù)據(jù)寫到數(shù)據(jù)文件)、重做日志寫進(jìn)程(LGWR,主要負(fù)責(zé)將重做日志緩沖區(qū)內(nèi)的數(shù)據(jù)寫到重做日志文件)及檢查點(diǎn)進(jìn)程(CKPT,其作用是保證所有修改過的數(shù)據(jù)庫緩沖區(qū)都被寫入數(shù)據(jù)庫文件)。以上5個(gè)進(jìn)程也是數(shù)據(jù)庫啟動(dòng)過程中必須啟動(dòng)的。

?

數(shù)據(jù)庫啟動(dòng)和關(guān)閉

數(shù)據(jù)庫的啟動(dòng)3個(gè)狀態(tài):

1:NOMOUNT?只打開數(shù)據(jù)庫實(shí)例?

2:MOUNT?打開實(shí)例并讀取控制文件?

3:OPEN?打開數(shù)據(jù)庫

按123順序啟動(dòng)

數(shù)據(jù)庫的關(guān)閉3個(gè)狀態(tài):

1:CLOSE?關(guān)閉數(shù)據(jù)庫

2:DISMOUNT?

3:SHUTDOWN?關(guān)閉數(shù)據(jù)庫實(shí)例

?

?

事務(wù)

事務(wù)的概念:事務(wù)是一組邏輯工作單元,它由一條或多條SQL語句組成。

事務(wù)的4個(gè)特性:原子性,一致性,隔離性和持久性

事務(wù)控制:commit,rollback

?

?

SQL語言

SQL語言分為數(shù)據(jù)定義語言(DDL)、數(shù)據(jù)操縱語言(DML)和數(shù)據(jù)控制語言(DCL)。

DDL用于定義SQL模式、基本表、視圖和索引的創(chuàng)建和撤消操作。常用命令有:CREATE、ALTER、DROP。

DML用于數(shù)據(jù)的插入、修改、刪除和查詢。常用命令有:INSERT、UPDATE、DELETE、SELECT。

DCL用于對基本表的授權(quán)、完整性規(guī)則的描述和事務(wù)的控制等。常用的命令有:GRANT、REVOKE、COMMIT、SAVEPOINT、ROLLBACK。

?

Char和varchar2兩種數(shù)據(jù)類型的區(qū)別:

在數(shù)據(jù)庫中char(n)表示固定長度n的字符串,當(dāng)實(shí)際數(shù)據(jù)不足定義長度時(shí),將使用空格補(bǔ)全右邊不足位,當(dāng)實(shí)際數(shù)據(jù)的長度大于其固定長度時(shí),Oracle將不允許數(shù)據(jù)存儲(chǔ)于對應(yīng)列或者變量中,并拋出異常;

而varchar2(n)是可變長的字符串,意味著該列或變量的最大長度不大于n,但當(dāng)實(shí)際數(shù)據(jù)小于n時(shí),并不在其右端補(bǔ)齊空格。

?

delete和truncate的區(qū)別。

Delete是DML語句,在刪除數(shù)據(jù)時(shí)要記錄重做信息,且刪除數(shù)據(jù)后不釋放表空間,速度慢。Truncate是數(shù)據(jù)定義語言,執(zhí)行后數(shù)據(jù)直接刪除且釋放表空間,不記錄日志信息,速度快。

?

?

?

?

PL/SQL語言

PL/SQL語言的敘述:

PL/SQL是一種塊結(jié)構(gòu)的語言,它將一組語句放在一個(gè)塊中。構(gòu)成PL/SQL程序的基本單元是邏輯塊(如過程、函數(shù)或匿名塊),每個(gè)邏輯塊對應(yīng)要解決的問題或子問題。PL/SQL塊共分為3個(gè)部分,分別為聲明部分、可執(zhí)行部分和異常處理部分。

?

屬性數(shù)據(jù)類型包括兩種,分別是%TYPE和%ROWTYPE。

1、%TYPE將某種數(shù)據(jù)類型的變量或列提供給其他變量。

其語法格式為:var1?table_name.column_name%TYPE;其中聲明了變量var1,它的數(shù)據(jù)類型與table_name表中的column_name字段的數(shù)據(jù)類型相同。

2、%ROWTYPE提供一種表示表中的某行的記錄類型。

???其語法格式為:var1?table_name%ROWTYPE;其中聲明了變量var1,可以用來存儲(chǔ)從table_name表中提取的一個(gè)記錄。

?

?

過程、函數(shù)、程序包

過程和函數(shù)的區(qū)別:過程沒返回值,而函數(shù)有返回值。

程序包是對相關(guān)過程、函數(shù)、變量、游標(biāo)和異常等對象的封裝。

程序包由規(guī)范和主體兩部分組成。規(guī)范可以在沒有程序包主體的情況下存在,主體不能在沒有程序包規(guī)格說明的情況下存在。

?

?

游標(biāo)和觸發(fā)器

游標(biāo)的4種屬性:%Isopen?、%found、%notfound、%rowcount。

使用游標(biāo)的 4 個(gè)步驟: 定義游標(biāo)(declare)、打開游標(biāo)(open)、循環(huán)取數(shù)據(jù)(fetch)、關(guān)閉游標(biāo)(close)。

顯式游標(biāo)和隱式游標(biāo)在使用過程中的區(qū)別:顯示游標(biāo)使用時(shí)要定義、隱式游標(biāo)不需要定義,在上下文中的 dml 語句默認(rèn)使用隱式游標(biāo)。

?

觸發(fā)器定義:觸發(fā)器是當(dāng)特定事件出現(xiàn)時(shí)自動(dòng)執(zhí)行的代碼塊。

觸發(fā)器與過程的區(qū)別:過程是由用戶或應(yīng)用程序甚至是觸發(fā)器顯式調(diào)用的,而觸發(fā)器是由Oracle根據(jù)發(fā)生的事件而隱式激活的,它不能被直接調(diào)用執(zhí)行。

觸發(fā)器的類型及其運(yùn)行時(shí)機(jī):

Oracle觸發(fā)器分為DML觸發(fā)器、模式(DDL或用戶事件)觸發(fā)器和數(shù)據(jù)庫級觸發(fā)器。

1:DML觸發(fā)器:當(dāng)DML語句在表中發(fā)生時(shí)執(zhí)行。DML語句包括以下3種類型:

a.語句級觸發(fā)器:無論受觸發(fā)語句影響的行數(shù)是多少,都只激活一次。

b.行級觸發(fā)器:每當(dāng)觸發(fā)器語句影響表時(shí)就會(huì)激活行級觸發(fā)器,行級觸發(fā)器在被修改的每一行上執(zhí)行一次。

c.INSTEAD?OF觸發(fā)器:允許用戶修改不能使用DML語句修改的視圖。INSTEAD?OF觸發(fā)器只可用于視圖,不可用于表。

2:模式(DDL或用戶事件)觸發(fā)器:在數(shù)據(jù)庫模式中執(zhí)行DDL語句時(shí)激活。

3:數(shù)據(jù)庫(系統(tǒng)事件)觸發(fā)器:在發(fā)生LOGOFF(退出)、LOGON(登錄)、STARTUP(打開)、SHUTDOWN(關(guān)閉)數(shù)據(jù)庫和SERVERERROR(生成錯(cuò)誤消息)等系統(tǒng)事件時(shí)執(zhí)行。

?

?

數(shù)據(jù)庫對象(同義詞,序列,視圖,索引)

同義詞的定義:是現(xiàn)有對象的一個(gè)別名。

同義詞的作用:

1 :簡化 SQL 語句。 2 :隱藏對象的名稱和所有者。 3 :提供對對象的公共訪問。

同義詞的兩種類型:

1 :公有同義詞。 CREATE?public?synonym?emp_syn?FOR?SCOTT.emp;

2 :私有同義詞。 CREATE?synonym?emp?FOR?SCOTT.emp;

公有的同義詞只能建立在超級用戶下定義。

?

序列是用來生成唯一、連續(xù)的整數(shù)的數(shù)據(jù)庫對象。

在表中使用序列:

1.創(chuàng)建序列:

CREATE?SEQUENCE?sequence_name?[START?WITH?startnum]?[INCREMENT?BY?step];

2.創(chuàng)建表時(shí)使用序列:

CREATE?TABLE?table_name?(?uid?smallint?not?null,?...);

3.插入數(shù)據(jù)時(shí)使用序列:

INSERT?INTO?table_name?VALUES(sequence_name.NEXTVAL,?...);

?

?

視圖是從若干基本表和(或)其他視圖構(gòu)造出來的虛表。

視圖和表的區(qū)別是:創(chuàng)建一個(gè)視圖時(shí),只是把其視圖的定義存放在數(shù)據(jù)字典中,而不存儲(chǔ)視圖對應(yīng)的數(shù)據(jù),而表會(huì)存儲(chǔ)對應(yīng)的數(shù)據(jù)。

視圖的目的和作用:篩選表中數(shù)據(jù),簡化查詢語句,對表起到保護(hù)作用。

注:加 WITH?READ?ONLY? 選項(xiàng)可使視圖不允許 DML 操作?

Oracle知識(shí)點(diǎn)總結(jié)(一)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 汾阳市| 文山县| 漯河市| 东明县| 盱眙县| 密山市| 云阳县| 陵水| 麟游县| 潮安县| 乌海市| 四会市| 蒙阴县| 华阴市| 常宁市| 海兴县| 武冈市| 富民县| 建阳市| 武隆县| 留坝县| 武功县| 循化| 江达县| 扎兰屯市| 武汉市| 三台县| 萨迦县| 九龙坡区| 香格里拉县| 吉安县| 全椒县| 汝州市| 滨州市| 穆棱市| 梧州市| 信阳市| 双鸭山市| 临沧市| 东台市| 邵东县|