如何知道显式游标的活动时间?

时间:2010-06-07 12:09:35

标签: oracle cursor

经过多长时间oracle本身关闭一个明确定义的游标?

1 个答案:

答案 0 :(得分:3)

除非您明确要求,否则Oracle不会关闭游标。您可以在非活动表上打开游标,等待24小时,然后从游标中获取行。

在活动表(可以更新/删除/插入的表)上,您可能会在一段时间后运行ORA-1555(该表已被修改,并且重建旧版块的信息已被覆盖)。如果您的UNDO表空间设置为AUTOEXTEND,则可以安全地从任何小于UNDO_RETENTION秒之前打开的游标中获取:

SQL> show parameter undo_retention

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------
undo_retention                       integer     900

在我的数据库上,我可以安全地从光标中取900秒(15分钟)。这是一个很低的门槛(Oracle将保留足够的数据来重建旧版本的块至少 15分钟。)