本篇文章為大家帶來了關於Oracle的相關知識,其中主要介紹了關於表空間的相關問題,包括了表空間的創建、使用、重新命名、刪除等等內容,下面一起來看一下,希望對大家有幫助。
推薦教學:《Oracle影片教學》
Oracle表空間在邏輯結構上處於資料庫之下。利用表空間可以更靈活地規劃資料庫結構。一個資料庫可以包含多個表空間,每個表空間可以包含多個資料表。表空間會有獨立地實體文件,這使得使用者可以自行決定表空間地大小、位置等。
create tablespace test datafile 'D:\Database\data\test_data.dbf' size 20M autoextend on next 5M maxsize 500M;
建立表格空間應該使用create tablespace 指令;
test:表空間名稱;
datafile 'D:\Database\data\test_data.dbf' :指定表空間的物理檔案;
size 20M :指定物理檔案的初始大小
autoextend:指定當資料量超過實體文件的儲存空間時,自動增加檔案大小;
on next 5M:指定每次成長的尺寸為5M;
maxsize 500M:指定表空間的最大尺寸為500M;
datafile:這裡的'D:\Database\data'路徑必須已經存在,否則無法建立表空間會報錯;
執行SQL語句時,結尾的";"務必寫上! ! !
select tablespace_name,file_name from dba_data_files order by file_name;
查詢結果如圖:
表空間很重要的一個功能就是規劃資料表。也就是說,每個資料表都是某個表空間的子物件。資料表的真實資料也是存在於表空間的實體檔案中。因此了解表空間的使用規則,對於明確Oracle資料庫結構有著重要意義。
使用者登入資料庫後,在建立新的資料表時沒有指定要將表建立於該表空間時,都會將資料表自動建立於該使用者的預設表空間。預設表空間相當於使用者的工作空間。
select user_id,username,default_tablespace from dba_users order by username;
查詢結果如圖:
alter database default tablespace test;
再次查詢結果如圖:
一般使用者的預設表空間有兩種來源:
一是建立使用者時分配或後期手動修改;
二是從未進行分配或修改動作,那麼則使用資料庫的預設表空間。
Oracle 11g資料庫預設表空間未USERS,因此,未指定預設表空間而建立的用戶,都使用表空間USERS。當修改資料庫的預設表空間為TEST,哪些未指定預設表空間而建立的使用者就會使用表空間TEST。
alter tablespace test rename to test_data;
查看資料庫中所用使用者的預設表空間:
drop tablespace test_data including contents and datafiles;
上述sql語句,用於刪除表空間,並包含表空間中所有的內容和資料檔。
表空間不是任何資料表的預設表空間時,才可以刪除,否則報錯! ! !
alter database default tablespace "USERS";
推薦教學:《Oracle影片教學》
以上是圖文解析oracle表空間的建立、使用、重新命名與刪除的詳細內容。更多資訊請關注PHP中文網其他相關文章!