ORA-00607: Internal error occurred while making a change to a data block
ORA-00600: internal error code, arguments: [4194], [35], [45], [], [], [], [], []
应用系统捕捉到ora-600错误,查找了相关文档,确认是回滚段的问题,于是创建新的回滚段表空间代替现有的
创建
CREATE UNDO
TABLESPACE "RBSG_SPC1"
DATAFILE '/oradata/datafile/undotbs02.dbf' SIZE 1000M;
oracle是pfile方式启动的,如果是spfile,此下语句需要增加scope=both
alter system set undo_tablespace=RBSG_SPC1;
此语句执行,oracle数据库新的session将用RBSG_SPC1回滚段表空间了。
下语句查询原回滚段是否在使用
select segment_name,tablespace_name,status from dba_rollback_segs t
where tablespace_name='RBSG_SPC'
下语句是查询哪个session在使用具体的回滚段
SELECT r.NAME,
s.sid,
s.serial#,
s.username,
t.status,
t.cr_get,
t.phy_io,
t.used_ublk,
t.noundo,
s.program
FROM sys.v_$session s, sys.v_$transaction t, sys.v_$rollname r
WHERE t.addr = s.taddr AND
t.xidusn = r.usn
ORDER BY t.cr_get, t.phy_io;
如果确认可以kill掉,则alter system kill session 'killsid,killserial';
最后再drop原回滚段表空间。如果你想把相关文件也删除,则加上 including CONTENTS and datafiles参数
drop tablespace RBSG_SPC;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14740/viewspace-467836/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14740/viewspace-467836/