1. 程式人生 > >Oracle數據庫基礎

Oracle數據庫基礎

處理 擁有 程序 select trigger auto 安裝oracle 恢復數據庫 完成

  • Oracle基礎
  1. 簡介
  2. 數據庫實例
  3. 表空間
  4. 登錄身份和角色
  5. 用戶
  • 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:即數據庫操作員,權限包括:打開數據庫服務器;關閉數據庫服務器;備份數據庫;恢復數據庫;日誌歸檔;會話限制;

SYSSYSTEM 是每個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 User
IDENTIFIED BY 123456
ACCOUNT UNLOCK

Oracle數據庫基礎