檔案系統滿了庫啟不來的處理過程
問題:測試那邊的dba突然說一個庫檔案系統被undo撐爆了,想改下undo的屬性,但是現在庫啟不來,讓幫忙給啟下。後面他自己改undo。hp-u的機器。
思路:mount,刪或者挪一個控制檔案來騰出點小空間,open,再重建undo。
$ bdf
Filesystem kbytes used avail %used Mounted on
/dev/vg00/lvol3 2097152 225752 1856880 11% /
/dev/vg00/lvol1 1835008 175280 1646856 10% /stand
/dev/vg00/lvol8 7077888 1160056 5872280 16% /var
/dev/vg00/lvol7 6127616 3027552 3075912 50% /usr
/dev/vg00/lvol4 2097152 381752 1702296 18% /tmp
/dev/vg00/datalv 15728640 15728640 0 100% /oradata
/dev/vg00/oralv 15728640 15255367 443734 97% /oracle
/dev/vg00/lvol6 9207808 5183960 3992520 56% /opt
/dev/vg00/lvol5 114688 5432 108408 5% /home
/dev/vg00/entlv 15728640 10132682 5246327 66% /Entegor
/oradata下應該沒有可刪的,要不人自己dba也會刪。
$ du -sk *
3072016 ENTEGOR_TSPACE.dbf
7376 control01.ctl
7225 control02.ctl
7120 control03.ctl
51201 redo01.log
51201 redo02.log
51201 redo03.log
450576 sysaux01.dbf
501776 system01.dbf
8056 temp01.dbf
11494416 undotbs01.dbf
5128 users01.dbf
啟庫報錯
alter database open
Thu Jan 9 23:25:01 2014
Rolling back half complete log switch of thread 1
Thu Jan 9 23:25:01 2014
Errors in file /oracle/oracle/product/10.2.0/db_1/admin/entegor/bdump/entegor_lgwr_5841.trc:
ORA-19502: write error on file "/oradata/entegor/control02.ctl", blockno 448 (blocksize=16384)
ORA-27072: File I/O error
HPUX-ia64 Error: 11: Resource temporarily unavailable
Additional information: 4
Additional information: 448
Additional information: 56320
LGWR: terminating instance due to error 19502
Instance terminated by LGWR, pid = 5841
1.檔案系統free為0位元組,首先得把庫啟起來對不對,挪出一點小空間。
ALTER SYSTEM SET CONTROL_FILES ='/oradata/entegor/control01.ctl','/oradata/entegor/control03.ctl','/oracle/oracle/product/10.2.0/db_1/dbs/control04.ctl' SCOPE = SPFILE;
cp control03.ctl /oracle/oracle/product/10.2.0/db_1/dbs/control04.ctl
show parameter control_file;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string /oradata/entegor/control01.ctl
, /oradata/entegor/control03.c
tl, /oracle/oracle/product/10.
2.0/db_1/dbs/control04.ctl
2.把02控制檔案備份到oracle下。/oradata下空出了一個控制檔案大小。
mv control02.ctl /oracle/oracle/product/10.2.0/db_1/dbs/control02.ctl
SQL> alter database open;
Database altered.
終於拉起來了。
3.檢查UNDO Segment狀態
SQL> select usn,xacts,rssize/1024/1024/1024,hwmsize/1024/1024/1024,shrinks from v$rollstat order by rssize;
USN XACTS RSSIZE/1024/1024/1024 HWMSIZE/1024/1024/1024 SHRINKS
---------- ---------- --------------------- ---------------------- ----------
0 0 .000419617 .000419617 0
14 0 .002067566 .002067566 0
3 0 .003044128 .003044128 0
18 0 .003044128 .003044128 0
1 0 .003044128 .003044128 0
17 0 .003044128 .003044128 0
16 0 .003044128 .003044128 0
13 0 .003044128 .003044128 0
12 0 .003044128 .003044128 0
11 0 .003044128 .003044128 0
6 0 .003044128 .003044128 0
10 0 .003105164 .003105164 0
9 0 .003105164 .003105164 0
15 0 .008903503 .008903503 0
7 0 .008903503 .008903503 0
4 0 .008903503 .008903503 0
2 0 .009880066 .009880066 0
8 0 .010856628 .010856628 0
5 0 .010856628 .010856628 0
19 rows selected.
4.建立一個臨時中轉用的UNDO表空間
create undo tablespace undotbs11 datafile '/oracle/oracle/product/10.2.0/db_1/dbs/undotbs11.dbf' size 100M reuse autoextend on next 80m maxsize unlimited;
SQL> show parameter undo;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
alter system set undo_tablespace=UNDOTBS11 scope=both;
5.刪除原有的UNDO表空間加and datafiles刪除os的資料檔案:
drop tablespace UNDOTBS1 including contents and datafiles;
!string spfileentegor.ora
*.undo_tablespace='UNDOTBS11'
os上空間騰出來
6.建立原來的undo表空間
create undo tablespace undotbs1 datafile '/oradata/entegor/undotbs1.dbf' size 8000M reuse autoextend on next 80m maxsize unlimited;
alter system set undo_tablespace=UNDOTBS1 scope=both;
show parameter undo;
drop tablespace UNDOTBS11 including contents and datafiles;
!string spfileentegor.ora
7.將控制檔案改回來
ALTER SYSTEM SET CONTROL_FILES ='/oradata/entegor/control01.ctl','/oradata/entegor/control02.ctl','/oradata/entegor/control03.ctl' SCOPE = SPFILE;
shutdown immediate;
cp control03.ctl control02.ctl
show parameter control_file;
今天主要是在搭一個dataguard,主庫是rac,備庫是單節點asm。有意思吧,還是55公里同城。1T+,好慢啊,明天發步驟。
明天還有一個壞塊要處理 。 發現很麻煩的處理過程往往忘記記錄。只能記下簡單的問題處理過程。總結能力還是不好 。
思路:mount,刪或者挪一個控制檔案來騰出點小空間,open,再重建undo。
$ bdf
Filesystem kbytes used avail %used Mounted on
/dev/vg00/lvol3 2097152 225752 1856880 11% /
/dev/vg00/lvol1 1835008 175280 1646856 10% /stand
/dev/vg00/lvol8 7077888 1160056 5872280 16% /var
/dev/vg00/lvol7 6127616 3027552 3075912 50% /usr
/dev/vg00/lvol4 2097152 381752 1702296 18% /tmp
/dev/vg00/datalv 15728640 15728640 0 100% /oradata
/dev/vg00/oralv 15728640 15255367 443734 97% /oracle
/dev/vg00/lvol6 9207808 5183960 3992520 56% /opt
/dev/vg00/lvol5 114688 5432 108408 5% /home
/dev/vg00/entlv 15728640 10132682 5246327 66% /Entegor
/oradata下應該沒有可刪的,要不人自己dba也會刪。
$ du -sk *
3072016 ENTEGOR_TSPACE.dbf
7376 control01.ctl
7225 control02.ctl
7120 control03.ctl
51201 redo01.log
51201 redo02.log
51201 redo03.log
450576 sysaux01.dbf
501776 system01.dbf
8056 temp01.dbf
11494416 undotbs01.dbf
5128 users01.dbf
啟庫報錯
alter database open
Thu Jan 9 23:25:01 2014
Rolling back half complete log switch of thread 1
Thu Jan 9 23:25:01 2014
Errors in file /oracle/oracle/product/10.2.0/db_1/admin/entegor/bdump/entegor_lgwr_5841.trc:
ORA-19502: write error on file "/oradata/entegor/control02.ctl", blockno 448 (blocksize=16384)
ORA-27072: File I/O error
HPUX-ia64 Error: 11: Resource temporarily unavailable
Additional information: 4
Additional information: 448
Additional information: 56320
LGWR: terminating instance due to error 19502
Instance terminated by LGWR, pid = 5841
1.檔案系統free為0位元組,首先得把庫啟起來對不對,挪出一點小空間。
ALTER SYSTEM SET CONTROL_FILES ='/oradata/entegor/control01.ctl','/oradata/entegor/control03.ctl','/oracle/oracle/product/10.2.0/db_1/dbs/control04.ctl' SCOPE = SPFILE;
cp control03.ctl /oracle/oracle/product/10.2.0/db_1/dbs/control04.ctl
show parameter control_file;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string /oradata/entegor/control01.ctl
, /oradata/entegor/control03.c
tl, /oracle/oracle/product/10.
2.0/db_1/dbs/control04.ctl
2.把02控制檔案備份到oracle下。/oradata下空出了一個控制檔案大小。
mv control02.ctl /oracle/oracle/product/10.2.0/db_1/dbs/control02.ctl
SQL> alter database open;
Database altered.
終於拉起來了。
3.檢查UNDO Segment狀態
SQL> select usn,xacts,rssize/1024/1024/1024,hwmsize/1024/1024/1024,shrinks from v$rollstat order by rssize;
USN XACTS RSSIZE/1024/1024/1024 HWMSIZE/1024/1024/1024 SHRINKS
---------- ---------- --------------------- ---------------------- ----------
0 0 .000419617 .000419617 0
14 0 .002067566 .002067566 0
3 0 .003044128 .003044128 0
18 0 .003044128 .003044128 0
1 0 .003044128 .003044128 0
17 0 .003044128 .003044128 0
16 0 .003044128 .003044128 0
13 0 .003044128 .003044128 0
12 0 .003044128 .003044128 0
11 0 .003044128 .003044128 0
6 0 .003044128 .003044128 0
10 0 .003105164 .003105164 0
9 0 .003105164 .003105164 0
15 0 .008903503 .008903503 0
7 0 .008903503 .008903503 0
4 0 .008903503 .008903503 0
2 0 .009880066 .009880066 0
8 0 .010856628 .010856628 0
5 0 .010856628 .010856628 0
19 rows selected.
4.建立一個臨時中轉用的UNDO表空間
create undo tablespace undotbs11 datafile '/oracle/oracle/product/10.2.0/db_1/dbs/undotbs11.dbf' size 100M reuse autoextend on next 80m maxsize unlimited;
SQL> show parameter undo;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
alter system set undo_tablespace=UNDOTBS11 scope=both;
5.刪除原有的UNDO表空間加and datafiles刪除os的資料檔案:
drop tablespace UNDOTBS1 including contents and datafiles;
!string spfileentegor.ora
*.undo_tablespace='UNDOTBS11'
os上空間騰出來
6.建立原來的undo表空間
create undo tablespace undotbs1 datafile '/oradata/entegor/undotbs1.dbf' size 8000M reuse autoextend on next 80m maxsize unlimited;
alter system set undo_tablespace=UNDOTBS1 scope=both;
show parameter undo;
drop tablespace UNDOTBS11 including contents and datafiles;
!string spfileentegor.ora
7.將控制檔案改回來
ALTER SYSTEM SET CONTROL_FILES ='/oradata/entegor/control01.ctl','/oradata/entegor/control02.ctl','/oradata/entegor/control03.ctl' SCOPE = SPFILE;
shutdown immediate;
cp control03.ctl control02.ctl
show parameter control_file;
今天主要是在搭一個dataguard,主庫是rac,備庫是單節點asm。有意思吧,還是55公里同城。1T+,好慢啊,明天發步驟。
明天還有一個壞塊要處理 。 發現很麻煩的處理過程往往忘記記錄。只能記下簡單的問題處理過程。總結能力還是不好 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-1065135/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 雲伺服器系統盤滿導致桌面檔案不見了的處理方法伺服器
- Solaris 10下根檔案系統滿的處理方法
- 處理不滿
- 記一次PMML檔案的處理過程
- /var檔案系統滿了,該怎麼辦?
- Win10系統透過建立批處理檔案快速開啟組策略的方法Win10
- oracle 案例-控制檔案丟失故障處理過程Oracle
- Java使用javacv處理影片檔案過程記錄Java
- 檔案系統修復的一個過程
- ReiserFS檔案系統壞塊的處理(轉)
- win10c盤滿了怎麼清理垃圾而不誤刪系統檔案Win10
- 資料庫變慢的處理過程資料庫
- 轉-AIX檔案系統滿AI
- Android輸入系統(二)IMS的啟動過程和輸入事件的處理Android事件
- WCDMA測試庫故障處理過程
- AIX檔案系統滿的問題分析AI
- Javascript如何訪問和處理系統檔案JavaScript
- win10快速啟動欄不見了如何恢復_win10系統的啟動欄不見了處理方法Win10
- 作業系統啟動的過程作業系統
- 檔案系統異常引起的資料庫open失敗的解決過程資料庫
- 檔案系統被破壞時的處理方法(轉)
- 資料庫系統檔案啟動資料庫資料庫
- undo 表空間滿了的處理方法
- oracle處理SQL的過程OracleSQL
- LINUX系統 利用AWK命令處理文字資料過程Linux
- 一次bug的處理過程-OA重複檔案的問題薦
- WSL2檔案系統處理速度較慢
- Android 系統啟動過程Android
- Linux系統啟動過程Linux
- ORACLE資料庫壞塊的處理 (一次壞快處理過程)Oracle資料庫
- 記一次:歸檔檔案系統問題導致資料庫hang處理資料庫
- sqlserver日誌檔案總結及充滿處理 (摘)SQLServer
- sqlserver日誌檔案總結及充滿處理(轉)SQLServer
- 【作業系統】--處理器排程作業系統
- 實時流處理與分散式儲存過程中對檔案的操作分散式儲存過程
- 達夢資料庫系統表空間資料檔案遷移過程資料庫
- SQL Server日誌檔案總結及日誌滿的處理SQLServer
- 一次資料庫異常的處理過程資料庫