最近在進行資料庫伺服器維護的時候發生某個表空間(名為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...