Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle ORA-01562:未能扩展回滚段编号_Oracle_Oracle11g_Oracle Pro C - Fatal编程技术网

Oracle ORA-01562:未能扩展回滚段编号

Oracle ORA-01562:未能扩展回滚段编号,oracle,oracle11g,oracle-pro-c,Oracle,Oracle11g,Oracle Pro C,我逐行读取一个文件,并在每行之后将数据提交给DB。输入文件包含100K行。 偶尔我会遇到ORA-01562:扩展回滚段编号失败错误,它不适用于特定行,也不适用于特定文件。误差是随机的。这是在生产系统上发生的 该表的MAXEXTENTS已设置为UNLIMITED。 我无法在我的开发环境中重现错误 如何处理这种情况?我还需要采取哪些其他步骤,以便将来不会出现此错误?您需要做的是缩小回滚段或添加另一个回滚段 在您的情况下,看起来只有一个回滚段,即默认的系统回滚段 您必须至少再添加一个回滚段 以下是对您

我逐行读取一个文件,并在每行之后将数据提交给DB。输入文件包含
100K
行。 偶尔我会遇到
ORA-01562:扩展回滚段编号失败
错误,它不适用于特定行,也不适用于特定文件。误差是随机的。这是在生产系统上发生的

该表的
MAXEXTENTS
已设置为
UNLIMITED
。 我无法在我的开发环境中重现错误


如何处理这种情况?我还需要采取哪些其他步骤,以便将来不会出现此错误?

您需要做的是缩小回滚段或添加另一个回滚段

在您的情况下,看起来只有一个
回滚段,即默认的系统回滚段

您必须至少再添加一个回滚段

以下是对您有帮助的命令

以系统用户身份登录时发出这些语句

手动收缩回滚段:

要使用收缩回滚段,您必须具有
ALTER rollback segment
系统权限

您可以使用SQL命令
ALTER rollback segment
手动减小回滚段的大小。您正在尝试的回滚段必须联机

以下语句将回滚段RBS1收缩到100K:

ALTER ROLLBACK SEGMENT rbs1 SHRINK TO 100K;
显示回滚段信息:

DBA\u ROLLBACK\u SEGS
data dictionary视图存储有关数据库回滚段的信息。例如,以下查询列出了数据库中每个回滚段的名称、关联表空间和状态:

SELECT segment_name, tablespace_name, status
         FROM sys.dba_rollback_segs;
输出

SEGMENT_NAME  TABLESPACE_NAME     STATUS
 ------------- ----------------    ------
SYSTEM        SYSTEM             ONLINE
 PUBLIC_RS     SYSTEM             ONLINE
 USERS_RS      USERS              ONLINE
创建回滚段:

要创建回滚段,您必须具有
create rollback SEGMENT
系统权限。要为数据库创建其他回滚段,请使用Enterprise Manager的“创建回滚段”属性页或SQL命令“创建回滚段”。包含新回滚段的表空间必须联机

下面的语句使用USERS表空间的默认存储参数在
USERS
表空间中创建一个名为
USERS\u RS
的公共回滚段:

CREATE PUBLIC ROLLBACK SEGMENT users_rs TABLESPACE users;

如果这是一个生产系统,只需致电oracle支持部门并打开一个案例。他们帮助得很快,而且知识渊博。您的回滚段有多大?还有第二个错误伴随着这个错误。