Oracle數據庫,實例,表空間,用戶,表之間的關係簡析

前言
  一直以來都沒將Oracle數據庫,實例,表空間,用戶,表之間的關係搞清楚,雖然工作了有些時間,在工作中也用到Oracle開發,但卻忙於項目沒顧得上,今天抽空簡單整理了下,主要是根據自己的理解,當作工作和學習的筆記,記錄下來。

一、數據庫
  我們在安裝Oracle數據庫時,會讓我們選擇安裝啓動數據庫(即默認的全局數據庫)如下圖:全局數據庫名:就是一個數據庫的標識,在安裝時就要想好,以後一般不修改,修改起來也麻煩,因爲數據庫一旦安裝,數據庫名就寫進了控制文件,數據庫表,很多地方都會用到這個數據庫名。

啓動數據庫:也叫全局數據庫,是數據庫系統的入口,它會內置一些高級權限的用戶如SYS,SYSTEM等。我們用這些高級權限賬號登陸就可以在數據庫實例中創建表空間,用戶,表了。

  查詢當前數據庫名:
  

Sql代碼  收藏代碼
  1. select name from v$database;  

 

二、數據庫實例

  用Oracle官方描述:實例是訪問Oracle數據庫所需的一部分計算機內存和輔助處理後臺進程,是由進程和這些進程所使用的內存(SGA)所構成一個集合。

  其實就是用來訪問和使用數據庫的一塊進程,它只存在於內存中。就像Java中new出來的實例對象一樣。

  我們訪問Oracle都是訪問一個實例,但這個實例如果關聯了數據庫文件,就是可以訪問的,如果沒有,就會得到實例不可用的錯誤。

  實例名指的是用於響應某個數據庫操作的數據庫管理系統的名稱。她同時也叫SID。實例名是由參數instance_name決定的。

  查詢當前數據庫實例名:
  

Sql代碼  收藏代碼
  1. select instance_name from v$instance;  

  數據庫實例名(instance_name)用於對外部連接。在操作系統中要取得與數據庫的聯繫,必須使用數據庫實例名。比如我們作開發,要連接數據庫,就得連接數據庫實例名: 

Xml代碼  收藏代碼
  1. jdbc:oracle:thin:@localhost:1521:orcl(orcl就爲數據庫實例名)  

  一個數據庫可以有多個實例,在作數據庫服務集羣的時候可以用到。

 

三、表空間

  Oracle數據庫是通過表空間來存儲物理表的,一個數據庫實例可以有N個表空間,一個表空間下可以有N張表。

  有了數據庫,就可以創建表空間。

  創建表空間語法:

Sql代碼  收藏代碼
  1. Create TableSpace 表空間名稱  
  2. DataFile          表空間數據文件路徑  
  3. Size              表空間初始大小  
  4. Autoextend on  

  如:

  

Sql代碼  收藏代碼
  1. create tablespace db_test  
  2. datafile 'D:\oracle\product\10.2.0\userdata\db_test.dbf'  
  3. size 50m  
  4. autoextend on;   

  查看已經創建好的表空間:

  

Sql代碼  收藏代碼
  1. select default_tablespace, temporary_tablespace, d.username  
  2. from dba_users d  

 

四、用戶

  Oracle數據庫建好後,要想在數據庫裏建表,必須先爲數據庫建立用戶,併爲用戶指定表空間。

  上面我們建好了數據庫和表空間,接下來建用戶:

  創建新用戶

Sql代碼  收藏代碼
  1. CREATE USER          用戶名  
  2. IDENTIFIED BY        密碼  
  3. DEFAULT TABLESPACE   表空間(默認USERS)  
  4. TEMPORARY TABLESPACE 臨時表空間(默認TEMP)  

  如:

  

Sql代碼  收藏代碼
  1. CREATE USER utest  
  2. IDENTIFIED BY utestpwd  
  3. DEFAULT TABLESPACE db_test  
  4. TEMPORARY TABLESPACE temp;(這裏臨時表空間不能使用我們創建的db_test,不知爲何?)  

  有了用戶,要想使用用戶賬號管理自己的表空間,還得給它分權限:

  

Sql代碼  收藏代碼
  1. GRANT CONNECT TO utest;  
  2. GRANT RESOURCE TO utest;  
  3. GRANT dba TO utest;--dba爲最高級權限,可以創建數據庫,表等。  

  查看數據庫用戶:

  

Sql代碼  收藏代碼
  1. select  * from dba_users;  

 

五、表

  有了數據庫,表空間和用戶,就可以用自定義的用戶在自己的表空間創建表了。有了表,我們可以開發了大笑


轉載:http://yuwenlin.iteye.com/blog/1882988

發佈了38 篇原創文章 · 獲贊 5 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章