ORA-01555错误浅析(3)
2009-05-26 13:14:39 来源:WEB开发网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中,这一特性大大增强了。
而在大型的数据仓库或者报表系统中,会有一些很大的查询作业存在,这时可以考虑使用手动管理,为某些大作业创建单独的回滚段。
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接