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