標籤:拓展 roc 電腦 系統許可權 install 資料庫管理 建立表 語句 oracle
- 簡介
- 資料庫執行個體
- 資料表空間
- 登入身份和角色
- 使用者
Oracle基礎:
Oracle建立資料庫不能像SQL Server那樣用一個簡單的CREATE DATABASE命令就能完成,雖然一個 Oracle 資料庫伺服器中可以安裝多個資料庫,但是一個資料庫需要佔用非常大的記憶體空間。
因此一般一個伺服器只安裝一個資料庫。每一個資料庫可以有很多使用者,不同的使用者擁有自己的資料庫物件(比如:資料庫表),一個使用者如果訪問其他使用者的資料庫物件,必須由對方使用者授予一定的許可權。
不同的使用者建立的表,只能被目前使用者訪問。因此在 Oracle 開發中,不同的應用程式只需使用不同的使用者訪問即可。
資料庫執行個體:
用Oracle官方描述:執行個體是訪問Oracle資料庫所需的一部分電腦記憶體和輔助處理後台進程,是由進程和這些進程所使用的記憶體(SGA)所構成一個集合。
其實就是用來訪問和使用資料庫的一塊進程,它只存在於記憶體中。就像Java中new出來的執行個體對象一樣。
我們訪問Oracle都是訪問一個執行個體,但這個執行個體如果關聯了資料庫檔案,就是可以訪問的,如果沒有,就會得到執行個體停用錯誤。
執行個體名指的是用於響應某個資料庫操作的資料庫管理系統的名稱。她同時也叫SID。執行個體名是由參數instance_name決定的。
資料表空間:
Oracle資料庫是通過資料表空間來儲存物理表的,一個資料庫執行個體可以有N個資料表空間,一個資料表空間下可以有N張表。
有了資料庫,就可以建立資料表空間。
資料表空間(tablespace)是資料庫的邏輯劃分,每個資料庫至少有一個資料表空間(稱作SYSTEM資料表空間)。為了便於管理和提高運行效率,可以使用一些附加資料表空間來劃分使用者和應用程式。例如:USER資料表空間供一般使用者使用,RBS資料表空間供復原段使用。一個資料表空間只能屬於一個資料庫。
查看目前使用者擁有的資料表空間語句:
SELECT NAME FROM V$DATABASE
建立資料表空間文法:
Create TableSpace 資料表空間名稱 DataFile 資料表空間資料檔案路徑 Size 資料表空間初始大小 Autoextend on 是否自動拓展空間
如:
create tablespace db_test datafile ‘D:\oracle\product\10.2.0\userdata\db_test.dbf‘ size 50m autoextend on;
身份和角色:
在oracle中分為三種串連身份 Normal 和 sysDBA 和 sysyoper
Normal :普通使用者,許可權只能查詢某些表的資料
SysDBA : 即資料庫管理員,許可權包括:開啟資料庫伺服器;關閉資料庫伺服器;備份資料庫;恢複資料庫;日誌歸檔;會話限制;管理功能;建立資料庫
Syssyoper:即資料庫操作員,許可權包括:開啟資料庫伺服器;關閉資料庫伺服器;備份資料庫;恢複資料庫;日誌歸檔;會話限制;
SYS和SYSTEM 是每個ORACLE 資料庫系統預設安裝的兩個帳戶。SYS 是所有內部資料庫表、結構、過程包、等擁有者,此外它還擁有 V$ 和資料字典視圖,並建立所有封裝的資料庫角色(DBA,CONNECT,RESOURCE)。 Sys是一個唯一能訪問特定內部資料字典的使用者。 System 也是在安裝ORACLE 時建立的使用者,用於 DBA 任務的管理。
Oracle建立好以後,系統會預設幾個使用者,sys 和 system 和 sott
| 帳號/密碼 |
身份 |
說明 |
| sys/change_on_install |
SYSDBA 或 SYSOPER |
不能以 NORMAL 登入,可作為預設的系統管理員 |
| system/manager |
SYSDBA 或 NORMAL |
不能以 SYSOPER 登入,可作為預設的系統管理員 |
| scott/tiger |
NORMAL |
普通使用者 |
角色:還有一個概念就是資料庫角色(role),資料庫角色就是若干個系統許可權的集合。
Oracle 使用者對資料庫管理或對象操作的權利,分為系統許可權和資料庫物件許可權。系統權
限比如:CREATE SESSION,CREATE TABLE 等,擁有系統許可權的使用者,允許擁有相應的系統操
作。資料庫物件許可權,比如對錶中的資料進行增刪改操作等,擁有資料庫物件許可權的使用者可
以對所擁有的對象進行對應的操作。
如建立一個使用者UserA,但是UserA還是不能登入系統的,因為他沒有許可權,每個使用者登入系統至少需要CREATE SESSION的角色許可權。
| 角色名稱 |
介紹說明 |
| CONNECT |
主要應用在臨時使用者,特別是那些不需要建表的使用者,通常只賦予CONNECT role。CONNECT 是使用 Oracle 的簡單許可權, 擁有 CONNECT 角色的使用者,可以與伺服器建立串連會話(session,用戶端對伺服器串連,稱為會話)。 |
| RESOURCE |
更可靠和正式的資料庫使用者可以授予 RESOURCE role。RESOURCE 提供給使用者另外的許可權以建立他們自己的表、序列、過程(procedure)、觸發器 (trigger)、索引(index)等。 |
| DBA |
DBA role 擁有所有的系統許可權----包括無限制的空間限額和給其他使用者授 予各種許可權的能力。使用者 SYSTEM 擁有 DBA 角色。 |
使用者:
Oracle 的使用者可以用 CREATE USER 命令來建立。其文法是:
CREATE USER 使用者名稱IDENTIFIED BY 密碼ACCOUNT UNLOCK/LOCK(是否鎖定)
如
CREATE USER UserIDENTIFIED BY 123456ACCOUNT UNLOCK
Oracle資料庫基礎