关于处理"ORA-00955: 名称已被现有对象占用"的错误

产生情形一:命名重复  :名称并不一定是表,还可以是其它对象,如视图,快照

解决:   用desc   命令看一下是否已经存在该对象(也许跟索引、序列、视图等重名了)  ,

                 若有放弃用这个命名,若不是根据错误提示再解决。

产生情形二:再配置OEM 时出现,我再配置时,查看日志记录,前面都正确,就在最后一行出现:

                 第1行出现错误:ORA-00955: 名称已被现有对象占用"的错误

查找资料

     Cause: An attempt was made to create a database object (such as a table, view, cluster, index, or synonym) that already exists. A user's database objects must have distinct names.
Action: Enter a unique name for the database object or modify or drop the existing object so it can be reused.  
 
 Posts about ORA-00955
ORA-00955: name is already used by an existing object
Can any one tell me why I get this error? Surely if using CREATE OR REPLACE it should not matter if the object already exists? CREATE OR REPLACE PACKAGE package_printertype_scitex AS * ERROR at line
DATAFILE??
On 10/18/05 oracle-l-bounce@(protected) <oracle-l-bounce@(protected) > wrote > > The best way to find out is to try it. You will probably find that it > depends. If you use a LMT and do uniform. e
Debug DDL trigger
Not true see below for an example on 9204 SQL > get t1.sql 1 conn t1/t1 2 create table t1.some_tbl tablespace cons 3 as select * from dba_objects where rownum < 100 4 / 5 drop trigger raj_test_trig 6
10.1.0.4 patchset 2 catcpu.sql slop
w2k3 server std ed 32 bit. Oracle 10g R1 10.1.0 patchset 3 applied (10.1.0.4) While running the 10.1.0.4 patchset 2 post-installation script. (catcpu.sql) against a newly created database there
replication with Indexes
Hi If we run the sql as you suggested will show error ORA-00955 name is already used by an existing object Pl advice >From Stephen.Lee@(protected) >Reply-To oracle-l@(protected) >To oracl
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25595756/viewspace-691862/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25595756/viewspace-691862/

### 回答1: ORA-00955错误表示在创建新对象时,使用的名称已经被现有对象占用。这可能是因为您尝试创建一个与现有表、视图、索引或其他对象同名的对象。要解决此问题,您需要更改对象名称,以确保它与现有对象不冲突。您还可以删除现有对象,以便您可以使用该名称创建新对象。请注意,删除现有对象可能会导致数据丢失,因此在执行此操作之前,请务必备份数据。 ### 回答2: ORA-00955Oracle数据库在执行SQL脚本时的一种常见错误。它表示该脚本中使用的对象名称已经被现有对象占用。这常常发生在创建新表、索引或存储过程等数据库对象时。 通常,ORA-00955错误是由于数据库中已经存在同名的对象导致的。当您试图创建一个新的对象名称时,如果该名称已经被其他对象使用,数据库就会拒绝创建,并显示ORA-00955错误信息。 要解决ORA-00955错误,您需要检查当前数据库中是否已经存在了一个同名的对象。您可以使用Oracle SQL Developer、SQL*Plus或其他数据库工具来执行以下步骤: 1. 连接到数据库 首先,您需要连接到数据库。您可以使用SQL*Plus或其他数据库工具来连接到数据库,或者在Oracle SQL Developer中打开连接。 2. 查找重复的对象 然后,您需要执行类似于以下的SQL查询来检查数据库中是否已经存在同名的对象: SELECT object_name, object_type FROM user_objects WHERE object_name = 'YOUR_OBJECT_NAME'; 在此查询中,将YOUR_OBJECT_NAME替换为您想要创建的对象名称。如果该名称已经被使用,则查询将返回一个或多个现有对象的详细信息。 3. 更改对象名称 如果查询返回了一个或多个现有对象名称,则您需要更改您要创建的对象名称,以避免与现有对象名称发生冲突。您可以选择重新命名现有对象或选择一个新的名称来创建您的新对象。 4. 重新运行脚本 一旦您更改了对象名称,就可以重新运行您的SQL脚本。如果没有其他错误,您应该能够成功创建新的数据库对象,而不再遇到ORA-00955错误了。 总之,ORA-00955错误是因为数据库中已经存在同名的对象,导致无法创建新的对象。要解决此问题,您需要查找重复的对象名称,并重新命名或更改名称以避免与已有对象发生冲突。一旦解决了名称冲突问题,您应该能够创建新的数据库对象。 ### 回答3: ORA-00955Oracle数据库中常见的错误之一,它通常出现在创建表、视图、函数、存储过程等对象的过程中,错误信息提示“name is already used by an existing object”,即数据库中已经存在同名的对象。 出现ORA-00955错误的原因可能有以下几种: 1. 已经创建了同名的对象,如同名的表、视图、函数、存储过程等; 2. 在创建对象时使用了已经被占用名称,如Oracle内置的保留名称; 3. 在删除对象时没有删除干净,还有残留的同名对象存在。 如果出现ORA-00955错误,可以根据以下步骤进行解决: 1. 确认是否存在同名对象,通过查询数据库信息或使用系统管理员权限删除同名对象; 2. 避免使用Oracle内置保留名称来命名对象; 3. 确认是否有残留的同名对象存在,通过仔细查看数据库中的对象,并彻底删除它们。 在日常数据库的开发和维护中,出现ORA-00955错误时不要慌张,应该冷静分析错误原因,并根据实际情况采取相应的解决措施,以保证数据库的正常运行。同时,建议在创建对象时,加上一些有意义的前缀或后缀,以免与其他同名对象产生冲突。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值