1. 程式人生 > >【Oracle】安裝和配置及使用者、許可權詳解

【Oracle】安裝和配置及使用者、許可權詳解

1.Oracle 安裝
Oracle 資料庫產品是免費的,可以從 Oracle 的官方網站(http://www.oracle.com)下載到程式安裝包,Oracle 在 Windows 下的安裝非常方便,安裝開始後,一直點選安裝程式的“下一步”即可。

  • 1)下載 Oracle10g 後,解壓到一個資料夾下,單擊“setup.exe”檔案即可啟動安裝介面。如下圖:
    這裡寫圖片描述
    Oracle 主目錄位置就是 Oracle 準備安裝的位置,稱為“Oracle_Home”,一般 Oracle 根據當前計算機的硬碟大小預設給出一個合適的位置。Oracle 安裝時可以只安裝 Oracle 軟體,然後單獨建立資料庫,也可以在上圖中選中“建立啟動資料庫”複選框,在安裝 Oracle 產品時,同時建立一個數據庫,對初學者來說,推薦這樣安裝。填寫全域性資料庫名,以及管理員的密碼。全域性資料庫名是資料庫在伺服器網路中的唯一標識。

  • 2)點選“下一步”,就會出現如下圖內容,開始對 Oracle 伺服器進行環境檢查,主要檢視伺服器是否符合 Oracle 安裝的條件,比如作業系統是否支援、系統記憶體是否符合 Oracle 安裝的最低要求等。
    這裡寫圖片描述

  • 3)Oracle 檢查通過後,單擊“下一步”,就會列出所有安裝 Oracle 過程中的預設選項。
    這裡寫圖片描述

  • 4)單擊“安裝”按鈕,進入安裝介面,這一過程經歷時間比較長,根據計算機的效能
    不同有很大差別。
    這裡寫圖片描述

  • 5)上圖完成後,進入了各種 Oracle 工具的安裝階段,包括網路配置嚮導,iSQL*plus
    等,如下圖所示:
    這裡寫圖片描述

  • 6) 接下來自動啟動 DBCA(Database Configuration Assistant)進入建立預設資料庫階段。
    這裡寫圖片描述


    Oracle 中的資料庫主要是指存放資料的檔案,這些檔案在 Oracle 安裝完成後,在計算機硬碟上都能找到,包括資料檔案、控制檔案和資料庫日誌檔案。資料庫建立後會有一系列為該資料庫提供服務的記憶體空間和後臺程序,稱為該資料庫的例項。每一個數據庫至少會有一個例項為其服務。例項中的記憶體結構稱為系統全域性區(SGA),系統會根據當前計算機系統的效能給 SGA 分配非常可觀的記憶體空間。

  • 7)資料庫建立完畢後,需要設定資料庫的預設使用者。Oracle 中為管理員預置了兩個使用者分別是 SYS 和 SYSTEM。同時 Oracle 為程式測試提供了一個普通使用者 scott,口令管理中,可以對資料庫使用者設定密碼,設定是否鎖定。 Oracle 客戶端使用使用者名稱和密碼登入 Oracle 系統後才能對資料庫操作。
    這裡寫圖片描述

    這裡寫圖片描述
    預設的使用者中,SYS 和 SYSTEM 使用者是沒有鎖定的,安裝成功後可以直接使用,SCOTT使用者預設為鎖定狀態,因此不能直接使用,需要把 SCOTT 使用者設定為非鎖定狀態才能正常使用。這一步完成後,Oracle 系統安裝成功。

2.配置本地網路服務名
本地網路服務名,即客戶端與伺服器的連線字串,本地網路服務名是客戶端的配置,Oracle 客戶端安裝後,可以使用客戶端自帶的網路配置嚮導(Net Configuration Assistant)進行配置。

  • 1)啟動 Net Configuration Assistant。選擇“本地 Net 服務名配置”選項。如下圖所示:
    這裡寫圖片描述
  • 2)選擇“下一步”,本步驟可以對本地網路服務名進行新增,刪除,測試是否正常連線等操作,選擇“新增”選項。
  • 這裡寫圖片描述
  • 3)點選“下一步”,填寫服務名,該服務名就是 Oracle 安裝時(圖 1),為資料庫取的全域性資料庫名。
    這裡寫圖片描述
  • 4)點選“下一步”,選擇服務需要的協議,預設是 TCP 協議。推薦使用預設的 TCP 協議。
    這裡寫圖片描述
  • 5)點選“下一步”,輸入主機名,主機名可以是計算機名稱,也可以是一個 IP 地址,
    主機如果是本機,可以使用本機計算機名稱、“localhost”、“127.0.0.1”、或者本機
    的 IP 地址。
    這裡寫圖片描述
  • 6)單擊“下一步”,選擇“是,進行測試”選項。進入下圖介面。
    這裡寫圖片描述
    在測試時,預設採用的使用者名稱和密碼是 system/manager 進行測試,如果使用者 system 的密碼不是“manager”,有可能測試通不過,更改登入後,輸入正確的使用者名稱和密碼後再進行測試即可。
    -7) 測試成功後,單擊“下一步”,出現如下介面,這一步是為本地網路服務命名,即伺服器連線字串名。
    這裡寫圖片描述
    點選“下一步”,配置就完成了,進入 tnsnames.ora 檔案中檢視,就出現了下圖的內容。
    這裡寫圖片描述

3)Oracle 服務
Oracle 在 windows 中安裝完成後,會安裝很多服務,下面介紹幾個主要的服務。
這裡寫圖片描述
OracleService+服務名,該服務是資料庫啟動的基礎,只有該服務啟動了,Oracle 資料庫才能正常啟動。這是必須啟動的服務。

  • OracleOraDb10g_home1TNSListener,該服務是伺服器端為客戶端提供的監聽服務,只有該服務在伺服器上正常啟動,客戶端才能連線到伺服器。該監聽服務接收客戶端發出的請求,然後將請求傳遞給資料庫伺服器。一旦建立了連線,客戶端和資料庫伺服器就能直接通訊了。

4)Oracle 使用者和許可權
Oracle 中,一般不會輕易在一個伺服器上建立多個數據庫,在一個數據庫中,不同的專案由不同的使用者訪問,每一個使用者擁有自身建立的資料庫物件,因此使用者的概念在 Oracle中非常重要。Oracle 的使用者可以用 CREATE USER 命令來建立。其語法是:

語法結構:建立使用者
CREATE USER 使用者名稱 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK]
語法解析:
LOCK|UNLOCK 建立使用者時是否鎖定,預設為鎖定狀態。鎖定的使用者無法正常的登入進行資料庫操作。
建立使用者:CREATE USER taotao IDENTIFIED BY 123456 ACCOUNT UNLOCK;
儘管使用者成功建立,但是還不能正常的登入 Oracle 資料庫系統,因為該使用者還沒有任何許可權。如果使用者能夠正常登入,至少需要 CREATE SESSION 系統許可權。

Oracle 使用者對資料庫管理或物件操作的權利,分為系統許可權和資料庫物件許可權。系統許可權比如:CREATE SESSION,CREATE TABLE 等,擁有系統許可權的使用者,允許擁有相應的系統操作。資料庫物件許可權,比如對錶中的資料進行增刪改操作等,擁有資料庫物件許可權的使用者可以對所擁有的物件進行對應的操作。

  • 資料庫角色(role),資料庫角色就是若干個系統許可權的集合
    1)CONNECT 角色,主要應用在臨時使用者,特別是那些不需要建表的使用者,通常只賦予他們 CONNECT role。CONNECT 是使用 Oracle 的簡單許可權,擁有 CONNECT 角色的使用者,可以與伺服器建立連線會話(session,客戶端對伺服器連線,稱為會話)。
    2) RESOURCE 角色,更可靠和正式的資料庫使用者可以授予 RESOURCE role。RESOURCE
    提供給使用者另外的許可權以建立他們自己的表、序列、過程(procedure)、觸發器(trigger)、索引(index)等。
    3) DBA 角色,DBA role 擁有所有的系統許可權—-包括無限制的空間限額和給其他使用者授予各種許可權的能力。使用者 SYSTEM 擁有 DBA 角色。

一般情況下,一個普通的使用者(如 SCOTT),擁有 CONNECT 和 RESOURCE 兩個角色即可進行常規的資料庫開發工作。可以把某個許可權授予某個角色,可以把許可權、角色授予某個使用者。系統許可權只能由 DBA使用者授權,物件許可權由擁有該物件的使用者授權,授權語法是:
語法結構:授權
GRANT角色|許可權 TO 使用者(角色)

SQL> GRANT CONNECT TO taotao;
授權成功。
SQL> GRANT RESOURCE TO taotao;
授權成功。
SQL>

語法結構:其他操作
//回收許可權
REVOKE 角色|許可權 FROM 使用者(角色)
//修改使用者的密碼
ALTER USER 使用者名稱 IDENTIFIED BY 新密碼
//修改使用者處於鎖定(非鎖定)狀態
ALTER USER 使用者名稱 ACCOUNT LOCK|UNLOCK