1、先来看看报错:java.sql.SQLExcept坡纠课柩ion: ORACLE:ORA-01552: cannot use system rollback segment for non-system tablespace 'Hibernate'解决办法:修改数据库参数1、设置默认undo表空间2、undo表空间为自动管理
2、使用sqlplus以sysdba连接到Oracle查看当前Oracle服务器的回滚表空间命令:show parameter undo;select name from v$tablespace;
3、分析下执行结果从命令show paramete筠续师诈r undo;的执行结果上看,发现Oracle服务器没有抒写默认回滚表空间,并且undo忧溲枷茫_management为MANUAL这两个参数设置的不合适,需要更改命令:alter system set undo_tablespace=UNDOTBS1 scope=spfile;
4、报错了。ORA-32001:write to SPFILE requested but no SPFILE specified at startup没有spfile文件?看看spfile文件的信息命令:show parameter spfile
5、果然没有从当前pfile中创建一个spfile如果要让Oracle使用新创建的spfile,需要重启Oracle服务器命令:create spfile from pfile;shutdown immediate;startup;
6、再来更改undo_tablespace和undo_management这两个参数的值命令:a盟敢势袂lter system s髫潋啜缅et undo_tablespace=UNDOTBS1 scope=spfile;alter system set undo_management=auto scope=spfile;show parameter undo;
7、怎么没有生效呢?是的,这两个参数需要重启Oracle服务器后生效命令:shutdown immediate;startup;show parameter undo;
8、重新执行下代码,可以正常运行问题解决Ok