当我在 ISQL*Plus 上运行此脚本时,一切正常,但如果我尝试在 SQLDeveloper 上运行此脚本,Tiempo1 和 Tiempo2 为空,知道为什么会发生这种情况吗?
truncate table a;
call inserta_en_a (1,450000);
call borra_en_a (1,300000);
commit;
select count (*) from a;
variable inicio varchar2 (30)
begin
:inicio := to_char (systimestamp, 'dd-mm-yyyy hh24:mi:ss.ff3');
end;
/
alter table a shrink space compact;
select systimestamp - to_timestamp (:inicio, 'dd-mm-yyyy hh24:mi:ss.ff3') Tiempo1 from dual;
truncate table a;
call inserta_en_a (1,450000);
call borra_en_a (150001,450000);
commit;
select count (*) from a;
variable inicio varchar2 (30)
begin
:inicio := to_char (systimestamp, 'dd-mm-yyyy hh24:mi:ss.ff3');
end;
/
alter table a shrink space compact;
select systimestamp - to_timestamp (:inicio, 'dd-mm-yyyy hh24:mi:ss.ff3')
Tiempo2 from dual;
这就是我所说的脚本。
答案1
Oracle iSQL Plus 仅仅是 SQL Plus 的一个 Web 界面。您是否尝试过直接从 SQL Plus 命令行运行此脚本?我希望它能运行,但检查一下也无妨。
至于 SQLDeveloper:由于这是一个完整的开发环境,您是否检查过所调用的那些函数/过程(inserta_en_a 和 borra_en_a)的权限,以确保它们可以从 SQLdeveloper 完全访问?所有这些都在 1 个盒子上,还是在单独的服务器上?我希望是同一个盒子。我会检查目录权限,以确保 SQLdeveloper 可以访问和写入您需要的所有位置。
您是否检查过错误日志?那里有任何条目吗?如果有,请排除这些错误。