The FORCE LOGGING option can be set at the database level or the tablespace level. The precedence is from database to tablespace. If a tablespace is created or altered to have FORCE LOGGING enabled, any change in that tablespace will go into the redo log and be usable for recovery.
Similarly, if a database is enabled FORCE LOGGING, any change across the database, with exception of temporary segments and temporary tablespace, will be available in redo logs for recovery. temp tablespace doesn't generate any REDO log.
To enable FORCE LOGGING after the database is created, use the following command:
ALTER DATABASE FORCE LOGGING;
The FORCE LOGGING option is the safest model to ensure that all the changes made in the database will be captured and available for recovery in the redo logs.
Oracle provided logging and nologging options. These two options have higher precedence at the schema object level than the tablespace level; so it was possible to override the logging settings at the tablespace level with nologging setting at schema object level.
Temporary tablespaces and temporary segments do not generate any redo. Undo tablespaces are in FORCE LOGGING mode by default, so they cannot be put into FORCE LOGGING mode. Oracle will generate an error if an attempt is made to put a temporary tablespace or undo tablespace into FORCE LOGGING mode.
select force_logging from v$database;
select force_logging from dba_tablespaces;
本文详细介绍了Oracle数据库中FORCELOGGING选项的设置及其作用。FORCELOGGING确保所有数据库更改都被捕获并可用于恢复,即使在数据库级别或表空间级别启用,临时表空间和段不生成REDO日志。文章还提供了如何启用FORCELOGGING的命令。
618

被折叠的 条评论
为什么被折叠?



