ORACLE表空間及其維護

2021-04-27 17:05:25 字數 2654 閱讀 7822

基本概念

oracle資料庫被劃分成稱作為表空間的邏輯區域——形成oracle資料庫的邏輯結構。乙個oracle資料庫能夠有乙個或多個表空間,而乙個表空間則對應著乙個或多個物理的資料庫檔案。表空間是oracle資料庫恢復的最小單位,容納著許多資料庫實體,如表、檢視、索引、聚簇、回退段和臨時段等。

每個oracle資料庫均有system表空間,這是資料庫建立時自動建立的。system表空間必須總要保持聯機,因為其包含著資料庫執行所要求的基本資訊(關於整個資料庫的資料字典、聯機求助機制、所有回退段、臨時段和自舉段、所有的使用者資料庫實體、其它oracle軟體產品要求的表)。

乙個小型應用的oracle資料庫通常僅包括system表空間,然而乙個稍大型應用的oracle資料庫採用多個表空間會對資料庫的使用帶來更大的方便。

作用表空間的作用能幫助dba使用者完成以下工作:

1.決定資料庫實體的空間分配;

2.設定資料庫使用者的空間份額;

3.控制資料庫部分資料的可用性;

4.分布資料於不同的裝置之間以改善效能;

5.備份和恢復資料。

使用者建立其資料庫實體時其必須於給定的表空間中具有相應的權力,所以對乙個使用者來

說,其要操縱乙個oracle資料庫中的資料,應該:

1.被授予關於乙個或多個表空間中的resource特權;

2.被指定預設表空間;

3.被分配指定表空間的儲存空間使用份額;

4.被指定預設臨時段表空間。

維護表空間的維護是由oracle資料庫系統管理員dba通過sql*plus語句實現的,其中表空間

建立與修改中的檔名是不能帶路徑的,因此dba必須在oracle/dbs目錄中操作。

1.新錶空間的建立

語法格式:create tablespace 表空間名

datafile 檔案識別符號[,檔案識別符號]...

[default storage(儲存配置引數)]

[online/offline];

其中:檔案識別符號=』檔名』[size整數[k/m][reuse]

2.修改表空間配置

語法格式:alter tablespce 表空間名

(add datafile 檔案識別符號[,檔案識別符號]...

/rename datafile 』檔名』[,』檔名』]...

to 』檔名』[,』檔名』]...

/default storage(儲存配置引數)

/online/offline[normal/immediate]

/(begin/end)backup);

3.取消表空間

語法格式:drop tablespace表空間名[including contents];

4.檢查表空間使用情況

(1)檢查當前使用者空間分配情況

select tablespace_name,sum(extents),sum(blocks),sum(bytes)

from user_segments

group by tablespace_name

(2)a.檢查各使用者空間分配情況

select owner,tablespace_;

(2)b.檢查各使用者空間分配情況

select owner,tablespace_name,sum(extents),sum(blocks),sum(bytes)

from dba_segments

group by owner,tablespace_name;

(3) 檢查當前使用者資料庫實體空間使用情況

select tablespace_name,segment_name,segment_type,

count(extent_id),sum(blocks),sum(bytes)

from user_extents

group by tablespace_name,segment_name,segment_type;

(4)檢查各使用者空間使用情況

select owner,tablespace_name,count(extent_id),sum(blocks),

sum(bytes) from user_extents

group by owner,tablespace_name;

(5)檢查資料庫空間使用情況

select tablespace_name,count(extent_id),sum(blocks),sum(bytes)

from user_extents

group by tablespace_name;

(6)檢查當前使用者自由空間情況

select tablespace_name,count(block_id),sum(blocks),sum(bytes)

from user_free_space

group by tablespace_name;

(7)檢查資料庫自由空間情況

select tablespace_name,count(block_id),sum(blocks),sum(bytes)

from dba_free_space

group by tablespace_name;

四、結論

表空間是oracle資料庫系統維護的主要物件,通過本文能詳細了解它的基本概念與作用

,並掌握其日常維護知識,從而保證oracle資料庫系統的正常執行。

oracle建立使用者,分配表空間,表空間維護

建立表空間和臨時表空間 create tablespace test logging datafile d tablespace test.dbf size 50m autoextend on next 1m maxsize 20480m extent management local create...

oracle表空間管理與維護

系統中必須的表空間 system sysaux temp undo 表空間的分類 永久表空間 存放永久性資料,如表,索引等。臨時表空間 不能存放永久性物件,用於儲存資料庫排序,分組時產生的臨時資料。undo表空間 儲存資料修改前的鏡象。select tablespace name,檢視表空間的名字及...

1 4 8 表空間維護

背景資訊 oracle表空間利用率超過80 時,需要擴充套件表空間來保證lbi正常執行。查詢表空間利用率 步驟1 以oracle使用者登入作業系統。步驟2 登入資料庫 sqlplus as sysdba 步驟3 查詢表空間利用率 sql select a.tablespace name,a.used...