Oracle數據庫基礎
- Oracle基礎
- 簡介
- 數據庫實例
- 表空間
- 登錄身份和角色
- 用戶
- 1
- 1
- 1
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 |
DBA |
DBA role 擁有所有的系統權限----包括無限制的空間限額和給其他用戶授 |
用戶:
Oracle 的用戶可以用 CREATE USER 命令來創建。其語法是:
CREATE USER 用戶名 IDENTIFIED BY 密碼 ACCOUNT UNLOCK/LOCK(是否鎖定)
如
CREATE USER User IDENTIFIED BY 123456 ACCOUNT UNLOCK
Oracle數據庫基礎