WEB开发网
开发学院数据库Oracle ORA-01555错误浅析(3) 阅读

ORA-01555错误浅析(3)

 2009-05-26 13:14:39 来源:WEB开发网   
核心提示: 6、使用游标时尽量使用显式游标,并且只在需要的时候打开游标,ORA-01555错误浅析(3)(4),同时将所有可以在游标外做的操作从游标循环中拿出,当游标打开时,会有一些很大的查询作业存在,这时可以考虑使用手动管理,查询就开始了,直到游标关闭

6、使用游标时尽量使用显式游标,并且只在需要的时候打开游标,同时将所有可以在游标外做的操作从游标循环中拿出。

当游标打开时,查询就开始了,直到游标关闭。减少游标的打开时间,就减少了1555错误发生的几率。

下面例子中,第一段代码发生1555错误的几率就大于第二段的:

差的:

declare

cursor cl is select b from demo.t_multiver;

v_b number;

begin

open cl;

--do some thing without relation to the cursor.

fetch cl into v_b;

while cl%found loop

--do other things without relation to the cursor.

... ...

fetch cl into v_b;

end loop;

close cl;

commit;

END;

好的:

declare

cursor cl is select * from demo.t_multiver;

begin

--do some thing without relation to the cursor.

--do other things without relation to the cursor.

open cl;

fetch cl into v_b;

hile cl%found loop

... ...

fetch cl into v_b;

end loop;

close cl;

commit;

END;

7、使用回滚表空间自动管理

回滚表空间自动管理是9i后的特性。他由Oracle自动管理回滚段的创建和回收。尽管有人认为这一特性是以后牺牲性能为代价的,或者有其他缺点而不建议使用。但我认为,这确实是Oracle一个很好的特性,特别是OLTP环境下应该使用它。并且10g中,这一特性大大增强了。

而在大型的数据仓库或者报表系统中,会有一些很大的查询作业存在,这时可以考虑使用手动管理,为某些大作业创建单独的回滚段。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:ORA 错误 浅析

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接