错误信息:
ORA-01157: cannot identify/lock data file 12 - see DBWR trace file
ORA-01110: data file 12: '/d01/oramtest/proddata/undo01.dbf'
问题诊断:undo表空间损坏
解决办法:
--查看系统使用的undo表空间
show parameter undo;
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
undo_management string AUTO
undo_retention integer 10800
undo_tablespace string UNDOTBS2
--创建pfile文件
create pfile='/home/oracle/initorcl.ora' from spfile;
--修改pfile文件
#*.undo_management='AUTO'
*.undo_retention=10800
#*.undo_tablespace='UNDOTBS2'
undo_management='MANUAL'
undo_tablespace='SYSTEM'
--启动数据库到mount状态
shutdown immediate;
startup mount pfile='/home/oracle/initorcl.ora';
--打开数据库
alter database open;
--使undo表空间脱机
alter tablespace UNDOTBS2 offline;
--删除undo表空间
drop tablespace UNDOTBS2 including contents and datafiles;
--创建新的undo表空间
create undo tablespace undotbs1 datafile '/oracledb/datafile/app_tfzq_iea01.dbf' size 10m autoextend on maxsize unlimited;
--shutdown数据库,并改回pfile的参数设置
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS2'
#undo_management='MANUAL'
#undo_tablespace='SYSTEM'
--用改回后的pfile启动数据库,并创建spfile
startup pfile='/home/oracle/initorcl.ora';
create spfile from pfile='/home/oracle/initorcl.ora';
--再次重新启动数据库
shutdown immediate;
startup;
ORA-01157: cannot identify/lock data file 12 - see DBWR trace file
ORA-01110: data file 12: '/d01/oramtest/proddata/undo01.dbf'
问题诊断:undo表空间损坏
解决办法:
--查看系统使用的undo表空间
show parameter undo;
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
undo_management string AUTO
undo_retention integer 10800
undo_tablespace string UNDOTBS2
--创建pfile文件
create pfile='/home/oracle/initorcl.ora' from spfile;
--修改pfile文件
#*.undo_management='AUTO'
*.undo_retention=10800
#*.undo_tablespace='UNDOTBS2'
undo_management='MANUAL'
undo_tablespace='SYSTEM'
--启动数据库到mount状态
shutdown immediate;
startup mount pfile='/home/oracle/initorcl.ora';
--打开数据库
alter database open;
--使undo表空间脱机
alter tablespace UNDOTBS2 offline;
--删除undo表空间
drop tablespace UNDOTBS2 including contents and datafiles;
--创建新的undo表空间
create undo tablespace undotbs1 datafile '/oracledb/datafile/app_tfzq_iea01.dbf' size 10m autoextend on maxsize unlimited;
--shutdown数据库,并改回pfile的参数设置
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS2'
#undo_management='MANUAL'
#undo_tablespace='SYSTEM'
--用改回后的pfile启动数据库,并创建spfile
startup pfile='/home/oracle/initorcl.ora';
create spfile from pfile='/home/oracle/initorcl.ora';
--再次重新启动数据库
shutdown immediate;
startup;
本文详细解析了数据库中遇到的undo表空间损坏问题,并提供了从检查表空间配置到重新创建表空间的全面解决方案。通过查看参数、修改配置文件、关闭并重启数据库等步骤,有效地解决了数据库问题。
4211

被折叠的 条评论
为什么被折叠?



