ORA-01578: ORACLE data block corrupted (file # 3, block # 1675)
警告日志中发现如下报错信息:
ORA-01578: ORACLE data block corrupted (file # 3, block # 1675)
ORA-01110: data file 3: '/u01/app/oracle/oradata/PROD1/undotbs01.dbf'
报错提示为:undo表空间第1675个数据块出现损坏。
解决方法:
1、创建新的undo表空间undotbs2
SQL> create undo tablespace UNDOTBS2 datafile '/u01/app/oracle/oradata/PROD1/undotbs02.dbf' size 295M;
Tablespace created.
2、修改数据库undo表空间为undotbs2
SQL> alter system set undo_tablespace = undotbs2 scope=spfile;
System altered.
3、重启数据库
SQL> startup force
ORACLE instance started.
Total System Global Area 849530880 bytes
Fixed Size 1348244 bytes
Variable Size 524291436 bytes
Database Buffers 318767104 bytes
Redo Buffers 5124096 bytes
Database mounted.
Database opened.
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 5400
undo_tablespace string UNDOTBS2
4、删掉undotbs1表空间及数据文件
SQL> Drop tablespace UNDOTBS1 including contents and datafiles;
Tablespace dropped.
5、重新创建undotbs1表空间
SQL> create undo tablespace UNDOTBS1 datafile '/u01/app/oracle/oradata/PROD1/undotbs01.dbf' size 295M;
Tablespace created.
6、修改数据库undo表空间为undotbs1
SQL> alter system set undo_tablespace=undotbs1 scope=spfile;
System altered.
7、重启数据库
SQL> startup force
ORACLE instance started.
Total System Global Area 849530880 bytes
Fixed Size 1348244 bytes
Variable Size 524291436 bytes
Database Buffers 318767104 bytes
Redo Buffers 5124096 bytes
Database mounted.
Database opened.
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 5400
undo_tablespace string UNDOTBS1
8、删掉undotbs2表空间
SQL> Drop tablespace UNDOTBS2 including contents and datafiles;
Tablespace dropped.
问题解决。
2019-2-26 5:35