關於表空間的乙個問題

2021-04-23 23:00:19 字數 1494 閱讀 6768

最近在進行資料庫伺服器維護的時候發生某個表空間(名為ppstt)佔用率過高,如何解決這一問題,上網查了很多這方面的資料,因為本人對資料庫管理還是個生手,所以只好求教於同事. 同事發過來一文件,照著操作,問題解決了.

資料庫伺服器為 sun microsystems inc sunos 5.9          資料庫為 oracle9i

操作步驟如下:

1) 執行 select * from dba_data_files where tablespace_name='ppstt' order by file_name desc

得到系統中該表空的資料檔案序列欄位file_name如值為 /dev/md/rdsk/d203 則我們在增加表空

間時應該取值d204.

2) 以root使用者登陸資料庫伺服器

3) 執行 /usr/sbin/metainit d204 -p d100 2g 這裡d204是表空檔案的命名,後面的2g表示表空空間

大小,d100保持不變

4) 執行 chown oracle:dba /dev/md/dsk/d204  

chown oracle:dba /dev/md/rdsk/d204

將這兩個檔案的許可權分配給oracle使用者和ora組

5) 從root使用者切換到oracle使用者(su oracle)

6) 與資料庫建立連線:sqlplus "/ as sysdba"

7) 執行 alter tablespace "ppstt" add datafile '/dev/md/rdsk/d204' size 2000m; 將表空檔案加到

ppstt表空中.

附:如下sql可以檢視各個表空間的使用情況:

select dbf.tablespace_name,

dbf.totalspace "總量(m)",

dbf.totalblocks as 總塊數,

dfs.freespace "剩餘總量(m)",

dfs.freeblocks "剩餘塊數",

(dfs.freespace / dbf.totalspace) * 100 "空閒比例"

from (select t.tablespace_name,

sum(t.bytes) / 1024 / 1024 totalspace,

sum(t.blocks) totalblocks

from dba_data_files t

group by t.tablespace_name) dbf,

(select tt.tablespace_name,

sum(tt.bytes) / 1024 / 1024 freespace,

sum(tt.blocks) freeblocks

from dba_free_space tt

group by tt.tablespace_name) dfs

where trim(dbf.tablespace_name) = trim(dfs.tablespace_name)

乙個關於 include的問題

2001年05月03日 12 04 00 乙個關於 include的問題 趙湘寧 問題 我試圖將乙個標頭檔案包含在工程的資源檔案中。為此在.rc檔案中新增了如下一行 include myfile.h 雖然執行沒有問題,但是每次在visual studio中開啟資源時,它都把這一行 刪除掉了。我之所以...

關於繼承的乙個問題

class a virtual a class b public a virtual b class c public b virtual c int fun int n char last4hex unsigned int num,char a 5 int main int argc,char a...

乙個關於授權的問題

grant all on ibench.to ibench 增加乙個使用者 ibench,該使用者擁有對資料庫 ibench 的所有許可權.等價於以下的寫法 grant all privileges on ibench.to ibench 如果不好用需要如下操作 4.0以前的似乎flush priv...