您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 数据库 > 正文

Oracle错误码及处理步骤

发表于:2017-08-08 作者:网络转载 来源:

  以下内容均以错误码,错误名,错误原因,修改建议形式介绍。
  ORA-00903 无效的表名 试图在不存在的表中创建的索引。设置正确的表名。
  ORA-00904 无效的标识符 试图在不存在的列中创建的索引。检查表中的列名,并且确定应该使用的列名。
  ORA-01408 已经索引过的列表 试图创建索引,而带有相同顺序的列集合已经存在。确保列具有正确的顺序,如果索引已经存在,就不需要再次创建该索引了。
  ORA-00959 表空间已经存在 试图在不存在的表空间中创建索引。使用DBA_TABLESPACES或者USER_TABLESPACES视图来找出正确的表空间名称。
  ORA-01418 指定的索引不存在 试图删除不存在的索引。检查ALL_INDEXES视图来确定要删除的索引的实际名称。
  ORA-01631,ORA-01632 索引中可以达到的最大的区号 索引扩展超出了maxextents所设置的值,扩展操作将会失败。这时需要增大索引的maxextents设置值或者使用更大的initial和next设置值来重新创建索引。
  ORA-01467 排序键太长 数据库会遇到排序操作的问题。这些问题可能是由于给过多的列排序造成的,或者可能是由于使用过多的组函数所造成的也有可能是由于ORACLE数据库自身运行的错误所造成的。应该使用ORDER BY子句来减少列的数目,这是因为一此排序操作受限于数据库的块大小。需要注意的是,这个错误与sort_area_size无关。
  ORA-01031 权限不够 创建索引的权限不正确。如果在除自己模式外的另一个模式中创建索引,则需要确保拥有create any index的权限;如果创建基于函数的索引,则需要确保拥有query rewrite的权限。
  ORA-01654 不能表空间中扩展对象 "数据试图向所列出的索引中添加额外的区,而该操作执行失败,可能产生的原因是:
  1.表空间中的空闲空间已用尽
  2.在表空间中没有足够的相邻数据文件存在
  3.Pctincrease设置的值不正确
  解决办法包括向表空间添加空间或者为索引重新设置next 参数值"。
  ORA-02243 修改索引或修改物化视图的选项无效 使用了有语法错误的alter index命令。检查命令的正确性并且更正命令。
  ORA-02429 不能删除用于强制使用唯一性键/主键约束的索引 试图删除用于强制使用表的主键或者唯一性键约束的索引。需要删除该约束来使索引得以删除。
  ORA-01452 不能创建唯一性索引 试图在表中创建唯一性索引,而索引中的行不是唯一的。在试图重新创建的UNUSABLE索引,并且失败的数据加载操作创建了重复键的时候也可能发生这个错误。
  ORA-0922 缺少选项或无效选项 试图使用无效的选项来创建视图。通过检查以确保已经正确地定义了视频的约束,包括disable novalidate键的使用。
  ORA-0942 表或视图不存在 在不存在的表中创建视图。检查CREATE VIEW语句的语法是否正确
  ORA-1779 不能修改映射到非键保留表中的列 试图在没有保留的的视图上执行DML语句。检查视图上所使用语句的语法,确定没有键保留的原因。检查该视图所有的表是否都有主键。对该视图进行改写并重新创建,然后重新执行该DML语句。
  ORA-2261 表中已经存在唯一性键或主键 要在视图上创建视图约束,但类似的约束已经存在。
  ORA-2443 不能删除约束——不存在的约束 试图删除不存在的约束。
  ORA-4031 视图view_name有错 要使用的视图是无效的。重新编译该视图,然后使用show errors命令以确定产生这个问题的原因。可能是缺少视图所要调用的表、过程或者函数
  ORA-00904 无效标识符 发出引用列的语句,而该列在引用 对象中不存在。例如:试图创建没有集群键的集群。
  ORA-00906 缺少左括号 在使用的语句中存在语法错误。找出该错误,修改后重新执行这个语句。
  ORA-00907 缺少右括号 在使用的语句中存在语法错误。找出该错误,修改后重新执行这个语句。
  ORA-00941 缺少集群的名称 在create cluster命令中忘记包含集群的名称
  ORA-00943 集群不存在 对一个不存在的集群发出alter cluster or drop cluster语句
  ORA-00944 集群中的列数目不足 试图创建加入到集群中的表,但是表中没有包含足够数量的列来与集群相匹配。
  ORA-00945 集群中所指定的列不存在 试图创建加入到集群中的表,但是没有在集群中指定正确的列。
  ORA-00951 要删除非空的集群 试图删除非空的集群。应该先删除加入到集群中的表,或者使用including table子句来解决该问题。
  ORA-00955 想要使用的名称正在由已存在的对象使用 想要使用的名称在表空间中已经存在。确定哪个对象正在使用这个名称,然后确定是否应该对该对象或者所创建的表进行重新命名。
  ORA-00959 表空间不存在 试图在不存在的表空间创建对象。检查在CREATE 语句中使用的表空间名称,或者创建表空间。
  ORA-01031 权限不够 没有足够的权限来执行请求操作。数据库管理员应该使用GRANT命令来授予合适的权限。
  ORA-01447 ALTER TABLE命令不能用于集群中的列操作 在ALTER TABLE MODIFY命令中所指定的列是集群键的一部分不允许修改集群键中的列。
  ORA-01655 不能在表空间中扩展集群 集群在列出的表空间中没有足够的空间来分配给另一个区。给该表空间分配更多的空间。
  ORA-01656 达到了集群中最大的区号 集群中的区号已经达到了规定区号的最大值。使用ALTER CLUSTER命令将集群存储参数中所允许的最大区号更改为更大的数字。
  ORA-01701 所使用的集群不合适 试图在语句中指定集群的名称,而在该语句中不允许出现这个集群。需要修改这个语句来解决该问题。
  ORA-01715 UNIQUE子句不能用于集群索引中 试图使用UNIQUE子句来创建集群索引,不允许执行该操作。
  ORA-01716 向集群中加入表的列定义与该集群中的列定义不相兼容 试图向集群中添加一个表,而该表列的数据类型与该集群键的列数据类型不相同。可以通过使用不同的列数据类型,或使数据类型相匹配来解决这个问题。
        ORA-01769 多次使用CLUSTER选项说明 当创建用来加和集群中的表时,试图指定两个或多个CLUSTER子句。应该仅使用一个CLUSTER子句。
  ORA-01770 在CREATE CLUSTER命令中不允许出现CLUSTER选项 试图在CREATE CLUSTER命令中添加CLUSTER子句。应该将该子句删除。
  ORA-01771 在使用集群中表的命令时包含了不合法的选项 当在集群的表中使用ALTER命令或者CREATE命令时,试图包含下面选项中的一个:
  intransmaxtranspctfreepctusedstorage ablespace.这些选项只允许在集群的ALTER命令或CREATE命令中使用,而不允许在集群中表的ALTER命令或CREATE命令中使用。
  ORA-01782 不能为集群或集群中的表指定UNRECOVERABLE子句 试图使用UNRECOVERABLE子句来创建集群。不允许执行该操作。
  ORA-01794 集群键列的最大数目为32 创建集群所使用的集群键列的数目超过了32。最多只能使用32列集群键来创建集群。
  ORA-02033 为集群创建的集群索引已经存在 在集群上所要创建的索引已经存在。
  ORA-2202 不允许向集群中添加更多的表 向集群中添加表的数量超过了32个。在集群中最多使用32个表。
  ORA-02227 无效的集群名 在语句中包含了无效的集群名。应该使用有效的集群名称。
  ORA-02228 多次出现SIZE子句 在语句中包含了两个或多个SIZE子句。应该仅使用一个SIZE子句。
  ORA-02229 无效的SIZE选项值 所指定的SIZE值无效。应该使用正确的SIZE值
  ORA-03292 执行截断操作的表是集群的一部分 想要执行截断操作的表是集群中的一部分。不允许执行该操作。应该使用TRUNCATE CLUSTER命令来解决这个问题。
  ORA-00955 想要使用的名称正在由已存在的对象使用 试图分配给序列的名称已经由数据库名称空间中的对象使用了。应该确保该序列在命名空间中尚未存在。
  ORA-04003 序列参数START WITH超出了允许的最大大小(28位) 选择使用较小的START WITH参数值。
  ORA-08004 序列号超出了MAXVALUE的值,并且不能实例化该序列 已经用完了给定序列中所有可用的序列号。可以选择用来删除和重新创建序列。可以使用ALTER SEQUENCE命令为序列增大MAXVALUE的设置值;或者使用ALTER SEQUENCE CYCLE来允许索引循环。
  ORA-02287 该位置不允许使用序列号 试图在SQL中不允许使用序列的位置上使用序列。检查SQL语句,找到语句中使用的不合法序列号。
  ORA-01722 无效的数字 该错误通常表明在CREATE SEQUENCE命令中使用了不正确的语法。检查该命令,确保所执行的命令正确。
  ORA-01031 权限不够 没有创建序列所需要的权限。让数据库管理员授予合适的权限,然后重新执行创建操作。
  ORA-04014 CYCLE类型的递减序列必须指定MINVALUE参数 定义一个递减序列,并且定义该序列的类型为CYCLE类型。需要添加MINVALUE参数来指定该序列何时进行循环。
  ORA-04015 CYCLE类型的递增序列必须指定MAXVALUE参数 定义一个递增序列,并且定义该序列的类型为CYCLE类型。需要再添加MAXVALE参数来指定该序列何时进行循环。