(1)概念:-question:表空間是什麼,為什麼引入,有什麼用?
-表空間是oracle 11g對資料庫檔案的稱呼,可把它看作表駐留的空間。
-為了合理管理業務資料、索引資料、臨時資訊及回退資訊,需要建立不同型別的表空間。
-簡化對資料檔案的管理
表空間是資料庫的邏輯儲存空間,可以理解為在資料庫中開闢的乙個空間,用於存放資料庫的物件,資料庫可以由多個表空間組成,而表空間則是由乙個或者多個資料檔案來組成的,資料檔案是物理儲存空間
1.乙個資料庫可以由多個表空間構成。2.oracle中的表空間概念是與mysql、sql server等資料庫的乙個重要區別:oracle的很多優化都是通過表空間實現的
3.表空間:是由乙個或多個資料檔案構成的,資料檔案的位置和大小可以由使用者自己定義。
表空間的分類:
1.永久表空間:資料庫中要永久化儲存的一些物件,如:表、檢視、儲存過程
2.臨時表空間:資料庫操作當中中間執行的過程,執行結束後,存放的內容會被自動釋放
3.undo表空間:用於儲存事務所修改資料的舊值,可以進行資料的回滾
(2)檢視使用者的表空間:
dba_tablespaces 和 user_tablespaces 資料字典dba_users 和 user_users資料字典
desc dba_tablespaces
select tablespace_name from dba_tablespaces;
許可權大的能訪問許可權小的表空間,反之則不行。比如:
(3)設定使用者的預設或臨時表空間
alter user username default|temporary tablespace tablespace_name普通使用者沒有設定表空間的許可權
(4)建立表空間
格式:create [temporary] tablespace
tablespace_name
tempfile|detafile 『xx.dbf』 size xx
create tablespace test1_tablespace datafile 'test1file.dbf'
size
10m;
create
temporary tablespace temptest1_tablespace tempfile 'tempfile1.dbf'
size
10m;
檢視預設情況下的表空間位置desc dba_data_files
select file_name from dba_data_files where tablespace_name = 'test1_tablespace';
//顯示的是預設情況下建立表空間檔案存放的位置
(5)修改表空間
-修改表空間的狀態設定聯機或離線狀態
alter tablespace tablespace_name online|offline;
設定唯讀或可讀寫狀態
alter tablespace tablespace_name read only|read write
(離線是不能更改其屬性的。)
alter tablespace test1_tablespace offline;
desc dba_tablespaces
select status from dba_tablespaces where tablespace_name = 'test1_tablespace';
alter tablespace test1_tablespace online;
select status from dba_tablespaces where tablespace_name = 'test1_tablespace';
alter tablespace test1_tablespace read
only;
select status from dba_tablespaces where tablespace_name = 'test1_tablespace';
alter tablespace test1_tablespace read
write;
select status from dba_tablespaces where tablespace_name = 'test1_tablespace';
-修改資料檔案= 增加資料檔案
alter tablesapce tablespace_name add datafile 『xx.dbf』size xx;
= 刪除資料檔案
alter tablesapce tablespace_name drop datafile 『xx.dbf』size xx;
不能刪除表空間第乙個資料檔案,即建立表空間時候建立的資料檔案,若果要刪除則要把表空間刪除
alter tablespace test1_tablespace add datafile 'test2_file.dbf'
size
10m;
select file_name from dba_data_files where tablespace_name='test1_tablespace';
alter tablespace test1_tablespace drop datafile 'test2_file.dbf';
select file_name from dba_data_files where tablespace_name='test1_tablespace';
(6)刪除表空間
drop tablespace tablespace_name [including contents]若刪除表空間時,連帶刪除表空間中的檔案,則加including contents
oracle之表空間
表空間 執行需要dba許可權 1.建立表空間 create tablespace sp001 datafile d sp001.dbf size 20m uniform size 128k 2.指定表建立到哪個表空間上 create table mypart deptno number 2 dnam...
oracle之表空間
一 dba tablespaces和user tablespaces兩個資料字典 1 dba tablespaces 記錄的是具有管理員許可權的使用者的表空間,需要登入具有管理員許可權的使用者才能訪問 desc dba tablespaces 2 user tablespaces 記錄的是普通使用者...
ORACLE之表空間
表空間 create tablespace tablespace name datafile d oracle product 10.2.0 oradata edwtest tablespace name size 1g extent management local segment space m...