ORACLE-介紹表空間及其的建立以及在表空間下使用者的建立
什麼是表空間:
ORACLE資料庫被劃分成稱作為表空間的邏輯區域——形成ORACLE資料庫的邏輯結構。一個ORACLE資料庫能夠有一個或多個表空間,而一個表空間則對應著一個或多個物理的資料庫檔案。表空間是ORACLE資料庫恢復的最小單位,容納著許多資料庫實體,如表、檢視、索引、聚簇、回退段和臨時段等。每個ORACLE資料庫均有SYSTEM表空間,這是資料庫建立時自動建立的。
表空間的作用:
1.決定資料庫實體的空間分配;
2.設定資料庫使用者的空間份額;
3.控制資料庫部分資料的可用性;
4.分佈資料於不同的裝置之間以改善效能;
5.備份和恢復資料。
在資料庫設計的時候,建議資料庫管理員按如下順序設定表空間
第一步:建立表空間
在設計資料庫的時候,首先需要設計表空間。我們需要考慮,是隻建立一個表空間呢,還是需要建立多個表空間,以及各個表空間的存放位置、磁碟限額等等。
到底設計多少個表空間合理,沒有統一的說法,這主要根據企業的實際需求去判斷。如企業需要對使用者進行磁碟限額控制的,則就需要根據使用者的數量來設定表空間。當企業的資料容量比較大,而其又對資料庫的效能有比較高的要求時,就需要根據不同型別的資料,設定不同的表空間,以提高其輸入輸出效能。
第二步:建立使用者,並制定使用者的預設表空間
在建立使用者的時候,我們建議資料庫管理員要指定使用者的預設表空間。因為我們在利用CREATE語句建立資料庫物件,如資料庫表的時候,其預設是儲存在資料庫的當前預設空間。若不指定使用者預設表空間的話,則使用者每次建立資料庫物件的時候,都要指定表空間,顯然,這並不是很合理。
另外要注意,不同的表空間有不同的許可權控制。使用者對於表空間A具有完全控制權限,可能對於表空間B就只有查詢許可權,甚至連連線的許可權的都沒有。所以,合理為使用者配置表空間的訪問許可權,也是提高資料庫安全性的一個方法。
建立表空間格式: create tablespace 表間名 datafile '資料檔名' size 表空間大小
eg:create tablespace fund02 datafile 'E:\tablespace\fund02.dbf' size 64M autoextend on next 32M maxsize 30720M;(紅色部分的意思是:設定該表空間初始大小為64M 隨後達到容量後每次增長32M 最大容量為30G 也就是30720M 注:1G=1024M)
在新建立的表空間下建立使用者格式: create user 使用者名稱 identified by 密碼 default tablespace 表空間表;
eg:create user fund02 identified by 123456 default tablespace fund02;(意思為:建立名為fund02的使用者並預設指向名為fund02的表空間)
授權:grant connect,resource,dba to fund02;
刪除表空間:drop tablespace fund02 including contents and datafiles;