表空間是資料庫的邏輯組成部分,從物理上講資料庫資料存放在資料檔案中;從邏輯上講,資料庫則是存放在表空間中,表空間是由乙個或者多個資料檔案組成。
oracle資料庫邏輯結構組成部分:資料庫是由表空間組成,而表空間又是由段構成,段是由區構成,而區是又oracle資料庫的塊組成這樣的一種結構,這樣可以提高資料庫的管理效率,如下圖。個人理解,很想國家劃分省、市、縣、區等。
表空間的作用:
1、控制資料庫占用磁碟空間;
2、dba可以將不同的資料型別部署到不同的表空間,這樣有利於提高i/o效能,同時利於備份和恢復等管理操作;例如:可以用乙個表空間來存放索引、、
建立表空間:
建立表空間我們可以用create tablespace命令完成,但是建立表空間一般都是由dba來完成,如果某個使用者一定要建立表空間則需要有create tablespace的系統許可權;
例子:create tablespace tpname datafile 'e:\tpname.dbf' size 20m uniform size 128k;
上面的例子是建立乙個表空間,表空間名是tpname;
datafile:是指定你表空間的資料檔名和路勁;
size:指定資料檔案的大小;
uniform size:是指區的大小,按照每個區128k分配;
使用表空間:
使用表空間很簡單,只需要在建立表、索引、儲存過程...後面加上tablespace tpname;
改變表空間的狀態:
使表空間離線:alter tablespace tpname offline;
使表空間聯機:alter tablespace tpname online;
唯讀表空間:alter tablespace tpname read only;只能進行查詢,其它三樣操作不能執行
可讀可寫表空間:alter tablespace tpname read write;
擴充表空間:
1、新增加資料檔案:
alter tablespace tpname add datafile
'e:\tpname1.dbf' size 20m;
2、增加原有的資料檔案:
alter database datafile
'e:\tpname.dbf' resize 100m;
3、設定資料檔案自動增長:
alter database datafile '
e:\tpname.dbf
' autoextend on next 10m maxsize 500m;
autoextend on next:是指每次增長大小為10m;
移動資料檔案:
如果您的資料檔案所在磁碟損壞,該資料檔案不能在使用,所以我們要將這些檔案移植到其它磁碟上面去:
1、確定資料檔案所在表空間:
select tablespace_name from dba_data_files where file_name='e:\tpname.dbf';
是查詢dba_data_files檢視中的tablespace_name欄位,file_name是您的資料檔案路勁,要大寫;
2、讓表空間處於離線狀態,為了保證資料檔案的一致性,將表空間狀態改為offline狀態:
alter tablespace tpname offline;
3、使用命令移動資料檔案到指定位置:
host move 'e:\tpname.dbf' 'f:\tpname.dbf';
如果這樣不行可以手動複製資料檔案到指定位置;
4、在執行了物理上的檔案移動,還要執行alter tablespace命令對資料檔案進行邏輯上修改,就是表空間位置指向;
alter tablespace tpname rename datafile 'e:\tpname.dbf' to
'f:\tpname.dbf';
5、使表空間聯機;
alter tablespace tpname online;
刪除表空間:
drop tablespace tpname including contents and datafiles;
說明:including contents表示刪除表空間時,刪除表空間的所有資料物件;
而datafiles是表示連資料檔案也一起刪除;
基本的表空間操作就寫了這麼多、、
Oracle 表空間管理
一 建立表空間f create tablespace mytablespace datafile 建立乙個名為mytablesapce的表空間 path filename1.dbf size 2048m autoextend off,指明資料檔案在存放地點,並關閉檔案的自動擴充套件功能,如果開啟了這...
ORACLE 表空間管理
1.create tablespaces sql create tablespace tablespace name datafile c oracle oradata file1.dbf size 100m,sql c oracle oradata file2.dbf size 100m mini...
oracle表空間管理
檢視各表空間分配情況 select tablespace name,sum bytes 1024 1024 from dba data files group by tablespace name 檢視各表空間空閒情況 select tablespace name,sum bytes 1024 10...