- 相關(guān)推薦
Oracle學(xué)習(xí)與開發(fā)基本概念
甲骨文股份有限公司(Oracle)是全球大型數(shù)據(jù)庫軟件公司,總部位于美國加州紅木城的紅木岸。下面是小編收集的關(guān)于Oracle學(xué)習(xí)與開發(fā)基本概念,希望大家認(rèn)真閱讀!
第一章 關(guān)系型數(shù)據(jù)庫介紹
1. 安裝Oracle 10g的軟硬件要求
硬件要求:
物理內(nèi)存:最小256M,建議512M以上
虛擬內(nèi)存:大小為物理內(nèi)存的兩倍
臨時磁盤空間:100M以上
視頻適配器:256種顏色
硬盤空間:1.5G以上
處理器:最小550MHz
軟件要求:
操作系統(tǒng):Windows2000、WindowsXP、Windows2003
網(wǎng)絡(luò)協(xié)議:TCP/IP、命名管道
Wed瀏覽器:IE 6以上
2. 檢驗安裝是否成功
(1) 查看已安裝的產(chǎn)品:打開安裝包,運(yùn)行setup.exe.查看已安裝的產(chǎn)品。
(2) 查看程序組:打開“開始”菜單,查看是否注冊了Oracle。
(3) 查看服務(wù):在“管理工具”->“服務(wù)”中查看是否已經(jīng)有了Oracle服務(wù)。
(4) 查看注冊表
(5) 嘗試運(yùn)行Oracle工具:比如SQL Plus.
3. Oracle數(shù)據(jù)庫的默認(rèn)用戶
(1) SYS:該用戶被默認(rèn)創(chuàng)建并授予DBA角色。是Oracle數(shù)據(jù)庫中權(quán)限最大的管理員。數(shù)據(jù)庫中所有的數(shù)據(jù)字典的基本表和視圖都存儲在sys方案中。這些基本表和視圖對于Oracle非常重要。Sys中的表只能有系統(tǒng)維護(hù),不能被任何的用戶和數(shù)據(jù)庫管理員修改,而且用戶不能在sys方案中建表。
(2) SYSTEM:被默認(rèn)創(chuàng)建并授予DBA角色,權(quán)限僅次于sys。用來創(chuàng)建和管理數(shù)據(jù)庫中可顯示管理信息的表和視圖,以及被Oracle數(shù)據(jù)庫應(yīng)用和工具使用的各種數(shù)據(jù)庫對象。
(3) SYSMAN:該用戶是企業(yè)管理的超級管理員賬號,該賬號能創(chuàng)建和修改其他管理員賬號同時也能管理數(shù)據(jù)庫實例。
(4) DBSNMP:是Oracle中用于智能代理的用戶,用來監(jiān)控和管理數(shù)據(jù)庫的相關(guān)性能。如果停止該用戶,則無法提取數(shù)據(jù)庫的信息。
4. Oracle的啟動和關(guān)閉
啟動和關(guān)閉數(shù)據(jù)庫需要用戶以O(shè)racle的sysdba特權(quán)登陸。一般就是系統(tǒng)用戶以sysdba登陸。
(1) 使用startup命令啟動數(shù)據(jù)庫
步驟:啟動一個Oracle實例;由該實例安裝數(shù)據(jù)庫,只打開控制文件;最后是打開數(shù)據(jù)庫。
(2) 使用shutdown命令關(guān)閉數(shù)據(jù)庫
5. OEM(企業(yè)管理器)
簡答題:
1. 簡述Oracle中的幾個默認(rèn)管理員用戶及其作用。
答:Oracle數(shù)據(jù)庫的默認(rèn)用戶
(1)SYS:該用戶被默認(rèn)創(chuàng)建并授予DBA角色。是Oracle數(shù)據(jù)庫中權(quán)限最大的管理員。數(shù)據(jù)庫中所有的數(shù)據(jù)字典的基本表和視圖都存儲在sys方案中。這些基本表和視圖對于Oracle非常重要。Sys中的表只能有系統(tǒng)維護(hù),不能被任何的用戶和數(shù)據(jù)庫管理員修改,而且用戶不能在sys方案中建表。
(2)SYSTEM:被默認(rèn)創(chuàng)建并授予DBA角色,權(quán)限僅次于sys。用來創(chuàng)建和管理數(shù)據(jù)庫中可顯示管理信息的表和視圖,以及被Oracle數(shù)據(jù)庫應(yīng)用和工具使用的各種數(shù)據(jù)庫對象。
(3)SYSMAN:該用戶是企業(yè)管理的超級管理員賬號,該賬號能創(chuàng)建和修改其他管理員賬號同時也能管理數(shù)據(jù)庫實例。
(4)DBSNMP:是Oracle中用于智能代理的用戶,用來監(jiān)控和管理數(shù)據(jù)庫的相關(guān)性能。如果停止該用戶,則無法提取數(shù)據(jù)庫的信息。
第二章 Oracle的體系結(jié)構(gòu)
1. 數(shù)據(jù)庫包括4種類型的文件:數(shù)據(jù)文件、日志文件、控制文件、初始化參數(shù)文件。(這是Oracle的物理存儲結(jié)構(gòu),是一系列的操作系統(tǒng)文件,是Oracle真正存儲數(shù)據(jù)的地方。)
2. 數(shù)據(jù)文件:
(1)數(shù)據(jù)文件是Oracle用來存儲各種數(shù)據(jù)的地方。一個數(shù)據(jù)庫有一個或多個數(shù)據(jù)庫文件,但一個數(shù)據(jù)文件只能屬于一個數(shù)據(jù)庫。
(2)數(shù)據(jù)文件和數(shù)據(jù)庫中的表沒有一一對應(yīng)的關(guān)系。
(3)數(shù)據(jù)文件包括永久數(shù)據(jù)文件和臨時數(shù)據(jù)文件
(4)數(shù)據(jù)文件根據(jù)存儲的數(shù)據(jù)不同分為:系統(tǒng)數(shù)據(jù)文件、回滾數(shù)據(jù)文件、臨時數(shù)據(jù)文件、用戶數(shù)據(jù)文件、系統(tǒng)輔助數(shù)據(jù)文件、示例數(shù)據(jù)文件。
3. 日志文件:
(1) Oracle中日志文件記錄了用戶對數(shù)據(jù)庫的修改。對數(shù)據(jù)庫的查詢操作不產(chǎn)生日志。
(2) 日志文件又叫重做日志文件。
(3) 日志組是日志文件的邏輯組織單元。每個日志組中有一個或多個日志文件。一個數(shù)據(jù)庫中至少要有兩個日志組,一組寫完后切換到另一組繼續(xù)寫。同一個日志組中的日志文件具有相同的信息,是鏡像關(guān)系。
(4) 數(shù)據(jù)庫的兩種工作模式:歸檔日志模式、非歸檔日志模式。
(5) 歸檔模式下,日志信息被覆蓋前就已經(jīng)復(fù)制到歸檔日志文件中,日志信息即使被覆蓋,也能夠在歸檔日志文件找到。
(6) 非歸檔模式下,重新向某個日志組寫入日志信息將會覆蓋原來的日志,并且不能再使用。
4. 控制文件:
(1) 控制文件記錄了數(shù)據(jù)庫的名稱,數(shù)據(jù)文件和日志文件的名稱和位置、表空間等信息?刂莆募趧(chuàng)建數(shù)據(jù)庫時自動創(chuàng)建。
(2) 打開數(shù)據(jù)庫過程:Oracle首先從初始化參數(shù)文件中獲得控制文件的名稱和位置,然后打開控制文件,再從控制文件中讀取數(shù)據(jù)文件和日志文件的信息,最后打開數(shù)據(jù)庫。
5. 參數(shù)文件:
(1) 在啟動數(shù)據(jù)庫實例時,第一個被訪問的就是參數(shù)文件。
(2) 參數(shù)文件分為文本參數(shù)文件和服務(wù)器參數(shù)文件。
6.將邏輯存儲空間的大小依次分為表空間、段、盤區(qū)、數(shù)據(jù)塊。(Oracle對存儲空間的管理是在邏輯存儲結(jié)構(gòu)上進(jìn)行的。)
7.一個數(shù)據(jù)庫從邏輯上劃分為多個表空間,一個表空間劃分為多個段、一個劃分為多個盤區(qū)、一個盤區(qū)劃分為多個數(shù)據(jù)塊。
8.盤區(qū)是最小的磁盤空間分配單位。
9.數(shù)據(jù)塊是Oracle最小的數(shù)據(jù)讀寫單元。
10.表空間:數(shù)據(jù)庫中的所有數(shù)據(jù)都存儲在表空間中。數(shù)據(jù)庫中一個表空間至少包含一個或多個數(shù)據(jù)文件;一個數(shù)據(jù)文件只能在一個表空間中。
11. 段:盤區(qū)是按需分配的,一個段上的盤區(qū)在磁盤上不一定是連續(xù)的。(同一個段的不同
盤區(qū)可以分布在不同的數(shù)據(jù)文件中。)
12. 盤區(qū):最小的磁盤空間分配單位。
13.數(shù)據(jù)塊:Oracle最小的邏輯存儲單元。Oracle從數(shù)據(jù)文件進(jìn)行存取操作時是以數(shù)據(jù)塊為單位進(jìn)行輸入輸出操作的。(注意:數(shù)據(jù)塊和操作系統(tǒng)中的塊不同。Oracle每次存取數(shù)據(jù)時,是以數(shù)據(jù)塊的整數(shù)倍訪問數(shù)據(jù),而不是以操作系統(tǒng)中塊為單位。
1. Oracle完成網(wǎng)絡(luò)連接要使用三個文件:listener.ora(服務(wù)器端配置) tnsnames.ora(客戶端配置) sqlnet.ora(客戶端配置)
2. sqlnet.ora文件:指定數(shù)據(jù)庫連接賬號的驗證方式以及連接字符串的解析方式。該文件決定怎樣查找連接中出現(xiàn)的連接字符串的定義。
3. tnsnames.ora文件:定義客戶端連接遠(yuǎn)程服務(wù)器時的主機(jī)字符串。
4. listener.ora文件:Oracle監(jiān)聽服務(wù)的配置文件。當(dāng)客戶端向服務(wù)器提交連接服務(wù)時,監(jiān)聽服務(wù)對連接賬號進(jìn)行有效性驗證,通過后將用戶進(jìn)程轉(zhuǎn)交服務(wù)進(jìn)程處理。
簡答題
1. 簡述數(shù)據(jù)庫的物理存儲結(jié)構(gòu),并說出每種物理文件的作用是什么?
答: Oracle的物理存儲結(jié)構(gòu)是從物理組成的角度分析一個數(shù)據(jù)庫在存儲介質(zhì)上的實際構(gòu)成,是由操作系統(tǒng)組織和管理的,是Oracle的外部存儲結(jié)構(gòu)。由于操作系統(tǒng)組織和管理數(shù)據(jù)的基本單位是文件,因此Oracle的物理存儲結(jié)構(gòu)是由多個操作系統(tǒng)文件組成的。
其他的參考上面1 2 3 4 5
2.簡述數(shù)據(jù)庫的邏輯存儲結(jié)構(gòu),并說出表空間和數(shù)據(jù)文件之間的關(guān)系是什么?
答: Oracle的邏輯存儲結(jié)構(gòu)是在邏輯上定義了一組存儲單元,以逐層細(xì)分的思想將數(shù)據(jù)庫對象占用的存儲空間劃分為表空間、段、盤區(qū)和數(shù)據(jù)塊。表空間是最大的邏輯存儲單元,一個數(shù)據(jù)庫從邏輯上劃分為多個表空間;一個表空間劃分為多個段;一個段又劃分為多個盤區(qū),盤區(qū)是最小的磁盤空間分配單元;一個盤區(qū)劃分為多個數(shù)據(jù)塊,數(shù)據(jù)塊是Oracle最小的數(shù)據(jù)讀寫單元。因此,Oracle對存儲空間的管理和分配是在邏輯存儲結(jié)構(gòu)上進(jìn)行的。
數(shù)據(jù)庫中的一個表空間至少包含一個或多個數(shù)據(jù)文件,而一個數(shù)據(jù)文件只能屬于一個表空間。
3.客戶端和服務(wù)器端常用的配置文件是什么?它們的作用分別是什么?
答:listener.ora(服務(wù)器端配置) tnsnames.ora(客戶端配置) sqlnet.ora(客戶端配置)
sqlnet.ora文件:指定數(shù)據(jù)庫連接賬號的驗證方式以及連接字符串的解析方式。該文件決定怎樣查找連接中出現(xiàn)的連接字符串的定義。
tnsnames.ora文件:定義客戶端連接遠(yuǎn)程服務(wù)器時的主機(jī)字符串。
listener.ora文件:Oracle監(jiān)聽服務(wù)的配置文件。當(dāng)客戶端向服務(wù)器提交連接服務(wù)時,監(jiān)聽服務(wù)對連接賬號進(jìn)行有效性驗證,通過后將用戶進(jìn)程轉(zhuǎn)交服務(wù)進(jìn)程處理。
第三章 用戶方案的創(chuàng)建和管理
1. 方案與用戶的關(guān)系:一個方案只能被一個數(shù)據(jù)庫用戶所有,并且方案的名稱與用戶的名稱相同,當(dāng)創(chuàng)建新用戶時,系統(tǒng)自動創(chuàng)建該用戶的方案。Oracle每一個用戶都有一個唯一的方案。該用戶創(chuàng)建的對象默認(rèn)保存在自己的方案中。如果用戶有足夠的權(quán)限,也可以將自己的對象保存在別人的方案中。
2. Oracle中的方案是對數(shù)據(jù)庫的局部邏輯描述。
3. 方案中的對象是數(shù)據(jù)庫所有對象的一個子集。
4. 同一個方案對象在物理上可能存在于同一個表空間中的不同數(shù)據(jù)文件中。
簡答題:
1. 簡要介紹方案與用戶之間的關(guān)系?
答:一個方案只能被一個數(shù)據(jù)庫用戶所有,并且方案的名稱與用戶的名稱相同,當(dāng)創(chuàng)建新用戶時,系統(tǒng)自動創(chuàng)建該用戶的方案。Oracle每一個用戶都有一個唯一的方案。該用戶創(chuàng)建的對象默認(rèn)保存在自己的方案中。如果用戶有足夠的權(quán)限,也可以將自己的對象保存在別人的方案中。
第七章 PL/SQL編程基礎(chǔ)
1. 一個PL/SQL程序塊中可以嵌套多層,沒有限制。
2. PL/SQL程序塊三部分組成:定義部分、執(zhí)行部分、異常處理部分。
3. 定義部分:declare關(guān)鍵字
4. 執(zhí)行部分:關(guān)鍵字begin開始,關(guān)鍵字end結(jié)束
5. 異常處理:關(guān)鍵字exception
6. 定義部分和異常處理部分是可選的,執(zhí)行部分是必須的。
7. PL/SQL的標(biāo)識符規(guī)則:
(1) 必須以字母開頭,不能超過30個字符
(2) 標(biāo)識符中不能包含減號“-”和空格
(3) Oracle不區(qū)分大小寫
(4) 不能使SQL保留字
8. PL/SQL的數(shù)據(jù)類型:標(biāo)量數(shù)據(jù)類型(基本數(shù)據(jù)類型)、大對象數(shù)據(jù)類型、屬性類型、引用類型
9. 標(biāo)量數(shù)據(jù)類型包括數(shù)值類型、字符類型、布爾類型、日期時間類型
10. 數(shù)值類型中有number binary_integer pls_integer
11. number(p,s) 精度38位,p表示總位數(shù),s是小數(shù)點(diǎn)后的位數(shù)
12. binary_integer 、 pls_integer 是PL/SQL專用數(shù)據(jù)類型,不能在定義表結(jié)構(gòu)時使用。
13. 布爾類型(boolean):值有ture、false、null。這是PL/SQL中的數(shù)據(jù)類型,不能向數(shù)據(jù)庫中插入布爾類型的值,只能對布爾類型的變量進(jìn)行邏輯操作。
14. 日期時間類型: date 、 timestamp
15. 大對象數(shù)據(jù)類型(LOB):存儲非結(jié)構(gòu)化數(shù)據(jù),例如文本、圖形圖像、視頻和聲音等。
16. 屬性類型:%type %rowtype
17. 引用類型:ref_cursor(動態(tài)游標(biāo))和ref操作符。
18. 學(xué)會使用%type %rowtype.
19. 游標(biāo)是指向查詢結(jié)果集的指針。有顯式游標(biāo)和隱式游標(biāo)。
20. 在PL/SQL中,系統(tǒng)為所有的select語句和DML語句自動創(chuàng)建隱式游標(biāo)。
21. 游標(biāo)常用屬性:
(1)%isopen 如果游標(biāo)已經(jīng)打開,則返回true;若沒有打開,則返回false。
(2)%found 如果提取到數(shù)據(jù),返回true,若未提取到數(shù)據(jù),返回false。
(3)%notfound 和%isopen相反。
(4)%rowcount 返回游標(biāo)從結(jié)果記錄集中得到的記錄總數(shù)。
22. 異常分為兩種:系統(tǒng)異常和用戶自定義異常。
23. 系統(tǒng)異常分為:預(yù)定義異常和非預(yù)定義異常。
24. 系統(tǒng)預(yù)定義異常:由系統(tǒng)根據(jù)發(fā)生的錯誤已經(jīng)定義好的異常,有錯誤編號和異常名稱用來處理常見的Oracle錯誤,例如:
(1) case_not_found:在case語句條件中沒有滿足條件的分支。
(2) dup_val_on_index:在唯一索引的列上插入了重復(fù)值。
(3) too_many_rows:返回的記錄超過一行。
(4) no_data_found:沒有返回行。
25.系統(tǒng)的非預(yù)定義異常指Oracle已經(jīng)為它定義了錯誤編號,但是沒有定義異常的名字。
注意:SQL語句!!!
【Oracle學(xué)習(xí)與開發(fā)基本概念】相關(guān)文章:
Oracle學(xué)習(xí)方法08-12
oracle數(shù)據(jù)庫開發(fā)規(guī)范具體條件10-23
學(xué)習(xí)Oracle數(shù)據(jù)庫技巧攻略08-16
Oracle認(rèn)證:ORACLE綁定變量BINDPEEKING08-25
Oracle認(rèn)證:Oracle控制件文件修復(fù)07-27
Oracle認(rèn)證:Oracle避免全表掃描方式10-04