job

[复制链接]
查看11 | 回复8 | 2005-2-28 12:57:00 | 显示全部楼层 |阅读模式
以下建立job的过程,问题莫名其妙
SQL> CREATE or REPLACE PROCEDURE INS_FL AS
2
3 BEGIN
4 UPDATE FL SET END_FLAG='1' WHERE END_FLAG IS NULL;
5 INSERT INTO FL@YP
6 SELECT * FROM FL
7 WHERE END_FLAG='1';
8 UPDATE FL SET END_FLAG='2' WHERE END_FLAG='2';
9 EXCEPTION
10 WHEN NO_DATA_FOUND THEN
11 NULL;
12 END;
13 /
过程已创建。
SQL> VARIABLE INS_FL_JOB NUMBER;
SQL> BEGIN
2 DBMS_JOB.SUBMIT(:INS_FL_JOB,'INS_FL;',SYSDATE,'SYSDATE+1/288');
3 END;
4 /
PL/SQL 过程已成功完成。
SQL> BEGIN
2 DBMS_JOB.RUN(:INS_FL_JOB);
3 END;
4 /
BEGIN
*
ERROR 位于第 1 行:
ORA-12011: 无法执行 1 作业
ORA-06512: 在"SYS.DBMS_IJOB", line 405
ORA-06512: 在"SYS.DBMS_JOB", line 267
ORA-06512: 在line 2
请高手指教,多谢!!!
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
单独执行ins_fl出错吗?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
最初由 husthxd 发布
[B]单独执行ins_fl出错吗? [/B]

回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
最初由 husthxd 发布
[B]单独执行ins_fl出错吗? [/B]


单独执行ins_fl中的三条sql命令没有问题。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
Look at the alert log for details on which jobs failed and why.
paste information from alert file.
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
有时成功。但过一段时间后,执行
select * from fl ;
提示:第二行锁定挂起
大概是执行job时产生的。
是何原因。如何解决??
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
最初由 lyg 发布
[B]

单独执行ins_fl中的三条sql命令没有问题。 [/B]

执行整个存储过程呢?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
最初由 husthxd 发布
[B]
执行整个存储过程呢? [/B]

我经过多次测试发现:
1。在数据库服务器上,执行含有数据库链的insert 产生
ORA-2054
ORA2088 错误
在另一台机器连接上述数据库服务器执行则没有问题。
2。将含有数据库链的命令放到TRGGER/JOB/程序中,则产生
ORA-1591错误
是何原因?如何解决?
WINDOWS2000 ADV SERVER/ORACLE817
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
问题已解决!
原因:
由于数据库链连接的数据库是openVMS操作系统下的oracle7.1.5,没有分布式数据库功能。因此,不能同时提交两个数据库。
解决:
以上三条命令分别提交。
谢谢各位帮忙,同时将解决方法通报大家,共有相似情况的人员参考。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行