Question: How does the undo_retention
parameter relate to the size of the undo tablespace? Are there
guidelines and best practices for setting the undo_retention
Automatic undo management was first available in Oracle 9i and undo management in 9i
and beyond is now automatic. Also see my important notes on
common causes and remedies for the ORA-01555 error.
Automatic undo management depends upon your parameter setting for
undo_retention, which defines how long Oracle should try to keep committed transactions in UNDO. However, this parameter is only a suggestion. You must also have an UNDO tablespace that's large enough to handle the amount of UNDO you will be generating/holding, or you will get ORA-01555: Snapshot too old, rollback segment too small errors.
You can use the parameter undo_retention to set
the amount of time you want undo information retained in the
To create an undo tablespace with the RETENTION
GUARANTEE option, issue the following command:
SIZE 1 G
You can use the UNDO advisor to find out how large this tablespace should be given a desired UNDO retention, or look online for some scripts…just google for: oracle undo size
Oracle 10g also gives you the ability to guarantee undo. This means that instead of throwing an error on SELECT statements, it guarantees your UNDO retention for consistent reads and instead errors your DML that would cause UNDO to be overwritten.
Now, for your original question…yes, it's easier for the DBA to minimize the issues of UNDO when using automatic undo management. If you set the UNDO_RETENTION high enough with a properly sized undo tablespace you shouldn't have as many issues with UNDO. How often you commit should have nothing to do with it, as long as your DBA has properly set UNDO_RETENTION and has an optimally sized UNDO tablespace. Committing more often will only result in your script taking longer, more LGWR/DBWR issues, and the "where was I" problem if there is an error (if it errors, where did it stop?).
I am using Oracle Streams and I
understand that with the acquisition og Goldengate that Oracle
Streams will no longer be enhanced? I know that Streams if
free in Enterprise Edition, and Goldengate is an extra-cost add-on.
Does anybody know Oracle's statement of direction on these real-time
"Given the strategic nature of Oracle GoldenGate,
Oracle Streams will continue to be supported, but will not be
actively enhanced. Rather, the best elements of Oracle Streams will
be evaluated for inclusion with Oracle GoldenGate.
customers depending on Oracle Streams will continue to be fully
supported, and Oracle Streams customers should continue using the
feature wherever it is deployed today."