oracle 表空間管理

2021-06-04 19:09:20 字數 3020 閱讀 6398

表空間是資料庫的邏輯組成部分,從物理上講資料庫資料存放在資料檔案中;從邏輯上講,資料庫則是存放在表空間中,表空間是由乙個或者多個資料檔案組成。

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...