ORA-27452: %s is an invalid name for a database object

Trying to create this job:

1
2
3
4
5
6
7
8
9
10
11
12
13
begin
   -- Test statements here
   DBMS_SCHEDULER.CREATE_JOB (
    job_name             => 'JOB_1',
    job_type             => 'STORED_PROCEDURE',
    job_action           => 'BEGIN USER.PROCEDURE; END;',
    start_date           => sysdate,
    repeat_interval      => 'FREQ=MINUTELY; INTERVAL=5;',
  --  end_date             => NULL,
    enabled              =>  TRUE,
    comments             => 'Get data from api');
    commit;
end;

But i got this error: ORA-27452: %s is an invalid name for a database object
Found out that:
1) the action you are defineing, must be valid (duh)
2) if you are using the action as i am, the type is NOT STORED_PROCEDURE, its PLSQL_BLOCK

so changed it to:

1
2
3
4
5
6
7
8
9
10
11
12
13
begin
   -- Test statements here
   DBMS_SCHEDULER.CREATE_JOB (
    job_name             => 'JOB_1',
    job_type             => 'PLSQL_BLOCK',
    job_action           => 'BEGIN USER.PROCEDURE; END;',
    start_date           => sysdate,
    repeat_interval      => 'FREQ=MINUTELY; INTERVAL=5;',
  --  end_date             => NULL,
    enabled              =>  TRUE,
    comments             => 'Get data from api');
    commit;
end;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ORA-00955错误表示在创建新对象时,使用的名称已经被现有对象占用。这可能是因为您尝试创建一个与现有表、视图、索引或其他对象同名的对象。要解决此问题,您需要更改对象的名称,以确保它与现有对象不冲突。您还可以删除现有对象,以便您可以使用该名称创建新对象。请注意,删除现有对象可能会导致数据丢失,因此在执行此操作之前,请务必备份数据。 ### 回答2: ORA-00955是Oracle数据库在执行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-00955是Oracle数据库中常见的错误之一,它通常出现在创建表、视图、函数、存储过程等对象的过程中,错误信息提示“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、付费专栏及课程。

余额充值