物理磁盘空间使用已满导致数据库hang起
生活随笔
收集整理的這篇文章主要介紹了
物理磁盘空间使用已满导致数据库hang起
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
情況描述
一天公司小張過來咨詢,說是數據庫查詢報錯了;乍一看好像是數據庫有壞快了,為了排查更加詳細的錯誤信息,決定查看一下告警日志,發現問題所在,原來是數據庫的物理磁盤空間滿了
Writing to the above trace file is disabled for now on... Tue Jul 29 17:30:32 2014 Non critical error ORA-48181 caught while writing to trace file "/u01/app/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_ora_2626.trc" Error message: Linux-x86_64 Error: 28: No space left on device Additional information: 1 Writing to the above trace file is disabled for now on... Tue Jul 29 18:00:00 2014 Non critical error ORA-48181 caught while writing to trace file "/u01/app/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_j001_2703.trc" Error message: Linux-x86_64 Error: 28: No space left on device Additional information: 1 Writing to the above trace file is disabled for now on... Tue Jul 29 18:48:46 2014 Non critical error ORA-48113 caught while writing to trace file "/u01/app/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_mmon_1642.trc" Error message: Writing to the above trace file is disabled for now on... Tue Jul 29 18:57:23 2014 Non critical error ORA-48181 caught while writing to trace file "/u01/app/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_ora_2405.trc" Error message: Linux-x86_64 Error: 28: No space left on device Additional information: 1 Writing to the above trace file is disabled for now on...***********************************************************************Fatal NI connect error 12170. Tue Jul 29 18:57:23 2014 Non critical error ORA-48181 caught while writing to trace file "/u01/app/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_ora_2407.trc" Error message: Linux-x86_64 Error: 28: No space left on device Additional information: 1 Writing to the above trace file is disabled for now on...***********************************************************************?然后就開始查看物理磁盤使用情況,是那個目錄下的文件占用了大量的磁盤空間(du -sh /home/),最終在$ORACLE_HOME/dbs目錄下找到了大量的數據文件
lypt-> cd /u01/app/oracle/product/11.2.0/db_1/dbs/ lypt-> ll total 18141444 -rw-r----- 1 oracle oinstall 524296192 Jul 31 15:50 D:DATAXLCL_BASE_TBSPC001.DBF -rw-r----- 1 oracle oinstall 5368717312 Jul 31 13:05 D:DATAXLCL_BUSINESS_TBSPC001.DBF -rw-r----- 1 oracle oinstall 2147491840 Jul 31 13:05 D:DATAXLCL_DATA_TBSPC001.DBF -rw-r----- 1 oracle oinstall 524296192 Jul 31 13:20 D:DATAXLCL_FACT2_TBSPC001.DBF -rw-r----- 1 oracle oinstall 524296192 Jul 31 13:05 D:DATAXLCL_FACT3_TBSPC001.DBF -rw-r----- 1 oracle oinstall 524296192 Jul 31 13:05 D:DATAXLCL_FACT_TBSPC001.DBF -rw-r----- 1 oracle oinstall 524296192 Jul 31 15:00 D:DATAXLCL_GIS_TBSPC001.DBF -rw-r----- 1 oracle oinstall 2147491840 Jul 31 13:05 D:DATAXLCL_INDEX_TBSPC001.DBF -rw-r----- 1 oracle oinstall 524296192 Jul 31 13:05 D:DATAXLCL_PUB_TBSPC001.DBF -rw-r----- 1 oracle oinstall 524296192 Jul 31 13:05 D:DATAXLCL_REGIONINSIDE_TBSPC001.DBF -rw-r----- 1 oracle oinstall 524296192 Jul 31 16:38 D:DATAXLCL_REGIONUSER_TBSPC001.DBF -rw-r----- 1 oracle oinstall 524296192 Jul 31 13:05 D:DATAXLCL_STA_TBSPC001.DBF -rw-r----- 1 oracle oinstall 524296192 Jul 31 16:39 D:DATAXLCL_SUB1_TBSPC001.DBF -rw-r----- 1 oracle oinstall 524296192 Jul 31 13:05 D:DATAXLCL_SUB2_TBSPC001.DBF -rw-r----- 1 oracle oinstall 524296192 Jul 31 13:05 D:DATAXLCL_SUB3_TBSPC001.DBF -rw-r----- 1 oracle oinstall 524296192 Jul 31 16:39 D:DATAXLCL_SUB4_TBSPC001.DBF -rw-r----- 1 oracle oinstall 524296192 Jul 31 13:05 D:DATAXLCL_SUB5_TBSPC001.DBF -rw-r----- 1 oracle oinstall 524296192 Jul 31 13:05 D:DATAXLCL_SUB6_TBSPC001.DBF -rw-r----- 1 oracle oinstall 524296192 Jul 31 13:05 D:DATAXLCL_SUB7_TBSPC001.DBF -rw-r----- 1 oracle oinstall 524296192 Jul 31 13:05 D:DATAXLCL_SUB8_TBSPC001.DBF -rw-rw---- 1 oracle oinstall 1544 Jul 29 13:45 hc_ORCL.dat -rw-r--r-- 1 oracle oinstall 2851 May 15 2009 init.ora -rw-r----- 1 oracle oinstall 24 Jul 23 14:41 lkORCL -rw-r----- 1 oracle oinstall 1536 Jul 23 14:44 orapwORCL -rw-r----- 1 oracle oinstall 2560 Jul 31 15:50 spfileORCL.ora lypt->?
看到這些文件之后,我有點懵;在Linux下創建表空間,數據文件命名上居然按照windows下來寫;看了他們開發人員寫的代碼之后,原來是創建表空間的時候,沒有指定具體的絕對路徑,同時命名時候,居然是用windows下的路徑風格來。接下來就是如何先解決數據庫刮起的問題吧。
首先,找到一個個頭大點的,無關緊要的文件,先挪動到其他系統上去;這時,數據庫掛起的問題得到解決(只要你騰出空間來,Oracle會自動恢復回來)
其次,登陸Oracle,根據業務需要,適當調整一些數據表空間的位置,或者直接刪除一些不必要的表空間。這個就要看具體情況了;
最后,問題得到解決.
?
轉載于:https://www.cnblogs.com/arcer/p/3881192.html
總結
以上是生活随笔為你收集整理的物理磁盘空间使用已满导致数据库hang起的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 需要按次序点击链接的网页特效
- 下一篇: Can't connect to loc