Oracle資料庫,例項,表空間,使用者,表之間的關係簡析
一、資料庫
我們在安裝Oracle資料庫時,會讓我們選擇安裝啟動資料庫(即預設的全域性資料庫)如下圖:全域性資料庫名:就是一個數據庫的標識,在安裝時就要想好,以後一般不修改,修改起來也麻煩,因為資料庫一旦安裝,資料庫名就寫進了控制檔案,資料庫表,很多地方都會用到這個資料庫名。
啟動資料庫:也叫全域性資料庫,是資料庫系統的入口,它會內建一些高階許可權的使用者如SYS,SYSTEM等。我們用這些高階許可權賬號登陸就可以在資料庫例項中建立表空間,使用者,表了。
查詢當前資料庫名:
- select name from v$database;
二、資料庫例項
用Oracle官方描述:例項是訪問Oracle資料庫所需的一部分計算機記憶體和輔助處理後臺程序,是由程序和這些程序所使用的記憶體(SGA)所構成一個集合。
其實就是用來訪問和使用資料庫的一塊程序,它只存在於記憶體中。就像Java中new出來的例項物件一樣。
我們訪問Oracle都是訪問一個例項,但這個例項如果關聯了資料庫檔案,就是可以訪問的,如果沒有,就會得到例項不可用的錯誤。
例項名指的是用於響應某個資料庫操作的資料庫管理系統的名稱。她同時也叫SID。例項名是由引數instance_name決定的。
查詢當前資料庫例項名:
-
select
資料庫例項名(instance_name)用於對外部連線。在作業系統中要取得與資料庫的聯絡,必須使用資料庫例項名。比如我們作開發,要連線資料庫,就得連線資料庫例項名:
Xml程式碼- jdbc:oracle:thin:@localhost:1521:orcl(orcl就為資料庫例項名)
一個數據庫可以有多個例項,在作資料庫服務叢集的時候可以用到。
三、表空間
Oracle資料庫是通過表空間來儲存物理表的,一個數據庫例項可以有N個表空間,一個表空間下可以有N張表。
有了資料庫,就可以建立表空間。
建立表空間語法:
Sql程式碼- Create TableSpace 表空間名稱
- DataFile 表空間資料檔案路徑
- Size 表空間初始大小
- Autoextend on
如:
Sql程式碼- create tablespace db_test
- datafile 'D:\oracle\product\10.2.0\userdata\db_test.dbf'
- size 50m
- autoextend on;
檢視已經建立好的表空間:
Sql程式碼- select default_tablespace, temporary_tablespace, d.username
- from dba_users d
四、使用者
Oracle資料庫建好後,要想在資料庫裡建表,必須先為資料庫建立使用者,併為使用者指定表空間。
上面我們建好了資料庫和表空間,接下來建使用者:
建立新使用者
Sql程式碼- CREATE USER 使用者名稱
- IDENTIFIED BY 密碼
- DEFAULT TABLESPACE 表空間(預設USERS)
- TEMPORARY TABLESPACE 臨時表空間(預設TEMP)
如:
Sql程式碼- CREATE USER utest
- IDENTIFIED BY utestpwd
- DEFAULT TABLESPACE db_test
- TEMPORARY TABLESPACE temp;(這裡臨時表空間不能使用我們建立的db_test,不知為何?)
有了使用者,要想使用使用者賬號管理自己的表空間,還得給它分許可權:
Sql程式碼- GRANT CONNECT TO utest;
- GRANT RESOURCE TO utest;
- GRANT dba TO utest;--dba為最高階許可權,可以建立資料庫,表等。
檢視資料庫使用者:
Sql程式碼- select * from dba_users;
五、表
有了資料庫,表空間和使用者,就可以用自定義的使用者在自己的表空間建立表了。有了表,我們可以開發了。
總結
以上只是個人針對Oracle五元素作了簡要分析,概括,用作工作和學習筆記,如有不當之處,歡迎拍磚!