ORA-00955: name is already used by an existing object(名称已由现有对象使用)
Oracle含义
你要创建的对象(表、索引、视图、序列、同义词等)的名称已被同一 schema 中的另一个对象使用。在 Oracle 中,对象名在 schema 内唯一,即使是表、视图和序列等不同类型的对象也共享同一命名空间。
原因
CREATE 语句中选择的名称与现有对象冲突。常见陷阱:尝试创建与表同名的序列或视图;或自动创建的索引名(如主键索引)与你指定的名称冲突。
解决方法
选择其他名称或删除冲突的对象。要找出使用该名称的对象:SELECT object_type, object_name FROM user_objects WHERE object_name = 'YOUR_NAME'; 如果确实要替换,DROP 旧对象(先备份其数据)。CREATE OR REPLACE 适用于视图、同义词、类型和 PL/SQL 对象(过程、函数、包、触发器);不适用于表、索引和序列。
同一数据库的其他条目
- ORA-01536space quota exceeded for tablespace(超出表空间的空间限额)
- direct path read等待:会话绕过 buffer cache 将块直接读入 PGA
- latch: cache buffers chains等待:cache buffers chains latch 争用
- ORA-02449unique/primary keys in table referenced by foreign keys(表中的唯一/主键被外键引用)
- ORA-01950no privileges on tablespace 'name'(对表空间 'name' 无权限)
- ORA-01110data file N: 'path'(数据文件 N:'path')
- ORA-16038log N sequence# M cannot be archived(日志 N 序列号 M 无法归档)