oracle 數據表空間問題

oracle中的alert_orcl.log提示信息如下:
ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMP
Thu May 27 05:00:23 2010
ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMP
Thu May 27 06:00:24 2010
ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMP
Thu May 27 06:30:19 2010
Private_strands 3 at log switch
Thread 1 advanced to log sequence 13249
  Current log# 3 seq# 13249 mem# 0: /Data1/orcl/redo03.log
Thu May 27 07:00:25 2010
ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMP
ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMP
Thu May 27 09:00:28 2010
ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMP

 

orcl_j000_17773.trc中的提示信息:

*** SERVICE NAME:(SYS$USERS) 2010-05-26 08:52:52.137
*** SESSION ID:(161.12) 2010-05-26 08:52:52.137
Before in kgllkdl(), hd=80e80840.
Before in kgllkdl(), hd=80e97e38.
Before in kgllkdl(), hd=7ffc2680.
Before in kgllkdl(), hd=7ff640a8.
Before in kgllkdl(), hd=7ffba480.
Before in kgllkdl(), hd=80ecf140.
Before in kgllkdl(), hd=801fc8a0.
Before in kgllkdl(), hd=80f70800.
Before in kgllkdl(), hd=80ecf140.
Before in kgllkdl(), hd=80eaa8a0.
Before in kgllkdl(), hd=813e0b08.
Before in kgllkdl(), hd=813d6798.
Before in kgllkdl(), hd=80f4de90.
Before in kgllkdl(), hd=813e0b08.
Before in kgllkdl(), hd=813d6798.
Before in kgllkdl(), hd=80f70800.
Before in kgllkdl(), hd=80ecf140.
Before in kgllkdl(), hd=80eaa8a0.
Before in kgllkdl(), hd=80f4de90.
Before in kgllkdl(), hd=813f0190.
Before in kgllkdl(), hd=813d6798.
Before in kgllkdl(), hd=813da7f0.
Before in kgllkdl(), hd=80f70800.
Before in kgllkdl(), hd=80ecf140.
Before in kgllkdl(), hd=80f4de90.
Before in kgllkdl(), hd=813e0b08.
Before in kgllkdl(), hd=813d6798.
Before in kgllkdl(), hd=813da7f0.
Before in kgllkdl(), hd=80f70800.
Before in kgllkdl(), hd=80ecf140.
Before in kgllkdl(), hd=80eaa8a0.
Before in kgllkdl(), hd=80f4de90.
Before in kgllkdl(), hd=813d6798.
Before in kgllkdl(), hd=813da7f0.
Before in kgllkdl(), hd=80f70800.
Before in kgllkdl(), hd=80ecf140.
Before in kgllkdl(), hd=80eaa8a0.
Before in kgllkdl(), hd=80f4de90.
Before in kgllkdl(), hd=813d6798.
Before in kgllkdl(), hd=813da7f0.
Before in kgllkdl(), hd=80e73570.
Before in kgllkdl(), hd=7ff574c8.
Before in kgllkdl(), hd=80e73570.
 

解決:

發現臨時表空間temp的數據文件已經丟失,通過重新創建臨時表空間即可。
 

1.startup --啓動數據庫
2.create temporary tablespace TEMP2 TEMPFILE ''/home2/oracle/oradata/sysmon/temp02.dbf'' SIZE 512M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED; --創建中轉臨時表空間
3.alter database default temporary tablespace temp2;--改變缺省臨時表空間 爲剛剛創建的新臨時表空間temp2
4.drop tablespace temp including contents and datafiles;--刪除原來臨時表空間
5.create temporary tablespace TEMP TEMPFILE ''/home2/oracle/oradata/sysmon/temp01.dbf'' SIZE 512M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED; --重新創建臨時表空間
6.alter database default temporary tablespace temp;--重置缺省臨時表空間爲新建的temp表空間
7.drop tablespace temp2 including contents and datafiles;--刪除中轉用臨時表空間
8.alter user roll temporary tablespace temp; --重新指定用戶表空間爲重建的臨時表空間

也可以通過em圖形界面來操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章