ORA-01092 oracle instance terminated disconnection forced问题解决办法

ora-30012基本是由于参数文件中的undo_tablespace的值和控制文件中记录的值不一致导致的。可以使用alter system修改或者直接修改参数文件中有关undo_tablespace的部分和控制文件中的一致即可。

ora-01092 oracle instance terminated disconnection forced

ora-30012: 撤消表空间 ‘undostb1’ 不存在或类型不正确

查看了以下信息来确认undo表空间的问题

#sqlplus / nolog;

sql>connect / as sysdba;

sql>startup mount

sql>select name from v$datafile;

sql>show parameter undo;

sql>select name from v$tablespace;找到正确的表空间名称,做以下操作进行更改:

sql>create spfile from pfile;

sql>shutdown immediate;

sql>startup;

sql>show parameter undo;

sql>alter system set undo_management=auto scope=spfile;

修改表空间名称:sql>alter system set undo_tablespace=’正确的表空间’ scope=spfile;

重启验证:sql>shutdown immediate;sql>startup;

sql>create pfile from spfile;

sql>show parameter undo;

第二种方法:sql>startup mount;sql>select * from v$tablespace;sql>show parameter spfile;sql>select a.sid,a.value from v$spparameter a where a.name like ‘%undo_tablespace%’

可以看到undo表空间的名称和从控制文件中查到的名称不一致,下面修改spfile文件中有关undo表空间的部分,如下所示:sql>alter system set undo_tablespace=’******’ sid=’*****’;sql>select a.sid,a.value from v$spparameter a where a.name like ‘%undo_tablespace%’

查看和控制文件中的记录一致时,启动。

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐