Oracle - 資料庫的例項、表空間、使用者、表之間關係
完整的Oracle資料庫通常由兩部分組成:Oracle資料庫和資料庫例項。
1)
資料庫是一系列物理檔案的集合(資料檔案,控制檔案,聯機日誌,引數檔案等);
2)
Oracle資料庫例項則是一組Oracle後臺程式/執行緒以及在伺服器分配的共享記憶體區。
在啟動Oracle資料庫伺服器時,實際上是在伺服器的記憶體中建立一個Oracle例項(即在伺服器記憶體中分配共享記憶體並建立相關的後臺記憶體),然後由這個Oracle資料庫例項來訪問和控制磁碟中的資料檔案。Oracle有一個很大的記憶體快,成為全域性區(SGA)。
一、資料庫、表空間、資料檔案
1、資料庫
資料庫是資料集合。Oracle是一種資料庫管理系統,是一種關係型的資料庫管理系統。
通常情況了我們稱的“資料庫”,並不僅指物理的資料集合,他包含物理資料、資料庫管理系統。也即物理資料、記憶體、作業系統程式的組合體。
我們在安裝Oracle資料庫時,會讓我們選擇安裝啟動資料庫(即預設的全域性資料庫)如下圖:
全域性資料庫名:就是一個資料庫的標識,在安裝時就要想好,以後一般不修改,修改起來也麻煩,因為資料庫一旦安裝,資料庫名就寫進了控制檔案,資料庫表,很多地方都會用到這個資料庫名。
啟動資料庫:也叫全域性資料庫,是資料庫系統的入口,它會內建一些高階許可權的使用者如SYS,SYSTEM等。我們用這些高階許可權賬號登陸就可以在資料庫例項中建立表空間,使用者,表了。
查詢當前資料庫名:
select name from v$database;
2、資料庫例項
用Oracle官方描述:例項是訪問Oracle資料庫所需的一部分計算機記憶體和輔助處理後臺程式,是由程式和這些程式所使用的記憶體(SGA)所構成一個集合。
其實就是用來訪問和使用資料庫的一塊程式,它只存在於記憶體中。就像Java中new出來的例項物件一樣。
我們訪問Oracle都是訪問一個例項,但這個例項如果關聯了資料庫檔案,就是可以訪問的,如果沒有,就會得到例項不可用的錯誤。
例項名指的是用於響應某個資料庫操作的資料庫管理系統的名稱。她同時也叫SID。例項名是由引數instance_name決定的。
查詢當前資料庫例項名:
select instance_name from v$instance;
資料庫例項名(instance_name)用於對外部連線。在作業系統中要取得與資料庫的聯絡,必須使用資料庫例項名。比如我們作開發,要連線資料庫,就得連線資料庫例項名:
jdbc:oracle:thin:@localhost:1521:orcl(orcl就為資料庫例項名)
一個資料庫可以有多個例項,在作資料庫服務叢集的時候可以用到。
3、表空間
Oracle資料庫是透過表空間來儲存物理表的,一個資料庫例項可以有N個表空間,一個表空間下可以有N張表。
有了資料庫,就可以建立表空間。
表空間(tablespace)是資料庫的邏輯劃分,每個資料庫至少有一個表空間(稱作SYSTEM表空間)。為了便於管理和提高執行效率,可以使用一些附加表空間來劃分使用者和應用程式。例如:USER表空間供一般使用者使用,RBS表空間供回滾段使用。一個表空間只能屬於一個資料庫。
建立表空間語法:
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;
檢視已經建立好的表空間:
select default_tablespace, temporary_tablespace, d.username from dba_users d
4、使用者
Oracle資料庫建好後,要想在資料庫裡建表,必須先為資料庫建立使用者,併為使用者指定表空間。
上面我們建好了資料庫和表空間,接下來建使用者:
建立新使用者:
CREATE USER 使用者名稱 IDENTIFIED BY 密碼 DEFAULT TABLESPACE 表空間(預設USERS) TEMPORARY TABLESPACE 臨時表空間(預設TEMP)
如:
CREATE USER utest IDENTIFIED BY utestpwd DEFAULT TABLESPACE db_test TEMPORARY TABLESPACE temp;(這裡臨時表空間不能使用我們建立的db_test,不知為何?)
有了使用者,要想使用使用者賬號管理自己的表空間,還得給它分許可權:
GRANT CONNECT TO utest; GRANT RESOURCE TO utest; GRANT dba TO utest;--dba為最高階許可權,可以建立資料庫,表等。
檢視資料庫使用者:
select * from dba_users;
5、表
有了資料庫,表空間和使用者,就可以用自定義的使用者在自己的表空間建立表了。有了表,我們可以開發了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/223653/viewspace-1273289/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle中的資料庫、使用者、方案、表空間、表物件之間的關係Oracle資料庫物件
- PostgreSQL-表空間、資料庫、使用者之間的關係(七)SQL資料庫
- Oracle體系結構之-資料庫、表空間、例項簡介Oracle資料庫
- 淺述Oracle使用者表空間關係Oracle
- oracle清除資料庫表空間Oracle資料庫
- 關於表空間和表的關係
- 測試表的空間壓縮與表空間的關係
- 在資料庫之間移動表空間資料庫
- PostgreSQL:表空間-->資料庫-->表SQL資料庫
- 2 Day DBA-管理Oracle例項-修改表空間-刪除表空間Oracle
- Oracle資料庫-建庫、建表空間,建使用者Oracle資料庫
- 檢視Oracle資料庫表空間大小,是否需要增加表空間的資料檔案Oracle資料庫
- 2 Day DBA-管理Oracle例項-修改表空間-使表空間離線Oracle
- 探討PostgreSQL例項中資料庫之間的關係SQL資料庫
- 2 Day DBA-管理Oracle例項-管理資料庫儲存結構-關於表空間Oracle資料庫
- [oracle]undo表空間出錯,導致資料庫例項無法開啟Oracle資料庫
- Oracle新建使用者、表空間、表Oracle
- 將ORACLE資料庫審計相關的表移動到其他表空間Oracle資料庫
- 2 Day DBA-管理Oracle例項-重新宣告不用的表空間-關於可以被重新宣告的不用表空間Oracle
- SAP庫存表之間的邏輯關係
- 怎樣移動Oracle資料庫的表空間Oracle資料庫
- 誤刪oracle資料庫表空間檔案Oracle資料庫
- Oracle資料庫設定預設表空間Oracle資料庫
- 資料庫使用者表空間配額管理資料庫
- 檢視資料庫表空間資料庫
- 刪除資料庫表空間資料庫
- Oracle資料庫表空間的資料檔案大小上限。Oracle資料庫
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- 如何檢視Oracle資料庫表空間大小(空閒、已使用),是否要增加表空間的資料檔案...Oracle資料庫
- Oracle 查詢表與表之間的 主外來鍵關係Oracle
- Oracle表空間相關操作Oracle
- Oracle建立表空間、建立資料庫使用者、賦許可權Oracle資料庫
- ORACLE查詢表之間的主外來鍵關係Oracle
- Oracle表空間Oracle
- oracle 表空間Oracle
- 【Oracle】rman 恢復只讀表空間資料庫Oracle資料庫
- 多臺ORACLE資料庫表空間監控方案Oracle資料庫
- 對oracle資料表空間的計算Oracle