玉祥平台客服-15087858732

标题: ORA-01552报错解决方法 [打印本页]

作者: fteair    时间: 2020-2-1 18:07

作者: 张兴康    时间: 2020-5-20 16:35
标题: ORA-01552报错解决方法
ORACLE:ORA-01552错误是因为没有Oracle某些操作没有足够的回滚表空间导致


先来看看报错:
java.sql.SQLException: ORACLE:ORA-01552: cannot use system rollback segment for non-system tablespace 'Hibernate'

解决办法:

修改数据库参数1、设置默认undo表空间2、undo表空间为自动管理

使用sqlplus以sysdba连接到Oracle

查看当前Oracle服务器的回滚表空间

命令:
show parameter undo;

select name from v$tablespace;
分析下执行结果
从命令show parameter undo;的执行结果上看,
发现Oracle服务器没有抒写默认回滚表空间,
并且undo_management为MANUAL

这两个参数设置的不合适,需要更改

命令:

alter system set undo_tablespace=UNDOTBS1 scope=spfile;

报错了。
ORA-32001:write to SPFILE requested but no SPFILE specified at startup

没有spfile文件?

看看spfile文件的信息

命令:

show parameter spfile

果然没有

从当前pfile中创建一个spfile
如果要让Oracle使用新创建的spfile,需要重启Oracle服务器

命令:

create spfile from pfile;

shutdown immediate;

startup;

再来更改undo_tablespace和undo_management这两个参数的值

命令:

alter    system   set   undo_tablespace=UNDOTBS1  scope=spfile;

alter    system   set  undo_management=auto scope=spfile;

show parameter undo;

怎么没有生效呢?

是的,
这两个参数需要重启Oracle服务器后生效

命令:

shutdown immediate;

startup;

show parameter undo;
重新执行下代码,可以正常运行




作者: 张兴康    时间: 2020-5-20 16:36

作者: 张兴康    时间: 2020-5-20 16:36

作者: 陈晓龙    时间: 2020-5-20 17:37

作者: 陈晓龙    时间: 2020-5-20 17:37

作者: 陈晓龙    时间: 2020-5-20 17:38

作者: 张兴康    时间: 2020-5-21 14:25

作者: 万望    时间: 2020-5-21 22:18

作者: 万望    时间: 2020-5-21 22:19

作者: 张兴康    时间: 2020-5-22 15:50
万望 发表于 2016-12-21 22:19






欢迎光临 玉祥平台客服-15087858732 (http://bbs.delit.cn/) Powered by Discuz! X3.2