目前日期文章:201302 (2)

瀏覽方式: 標題列表 簡短摘要

先建立一個新的temp file到tablespace
alter tablespace temp add tempfile '/erptest/clonedata/temp03.dbf' size 1000m;

將指定的temp file離線
alter database tempfile '/erptest/clonedata/temp02.dbf' offline;

刪除temp file
alter database tempfile '/erptest/clonedata/temp02.dbf' drop including datafiles;

alter database tempfile '/erptest/clonedata/temp02.dbf';

如果出現下列錯誤,表示仍有人在使用指定的temp file
ERROR at line 1:
ORA-25152: TEMPFILE cannot be dropped at this time

找出temp file的id
select file_id from dba_temp_files where file_name ='/erptest/clonedata/temp02.dbf';

   FILE_ID
----------
         2
         
但是這個file_id=2並不是temp file真正的id,必須要再加上參數db_files的值才是真正的file id。
SQL> show parameter db_files

NAME                                 TYPE                             VALUE
------------------------------------ -------------------------------- ------------------------------
db_files                             integer                          200

所以temp02.dbf真正的id是200+2=202

找出誰在使用
select c.spid,
         b.tablespace,
         b.segfile#,
         b.segblk#,
         round(((b.blocks * d.VALUE) / 1024 / 1024), 2) size_mb,
         a.SID,
         a.serial#,
         a.username,
         a.osuser,
         a.program,
         a.status
    from v$session a, v$sort_usage b, v$process c, v$parameter d
    where b.segfile# = &seg_temp_file_id
      and d.name = 'db_block_size'
      and a.saddr = b.session_addr
      and a.paddr = c.addr
    order by b.tablespace, b.segfile#, b.segblk#, b.blocks;
會提示輸入seg_temp_file_id的值,輸入202就可以找出session,再將這些session刪除就可以drop temp file了。

keven 發表在 痞客邦 留言(0) 人氣()

因為磁帶機故障送修,回來後接上機器,但是在HP Data Protector卻沒有辦法使用原來的Drivers,
只好將它刪除,重建Drivers,但是在掃描磁帶時卻出現下列錯誤的訊息,以致無法操作:

Device is already locked by someone else (and no sessions running)

keven 發表在 痞客邦 留言(0) 人氣()