smartexpert
smartexpert

Reputation: 3035

Oracle ALL_TABLES.LOGGING clarification

I queried the user_tables view of sys.all_tables and saw a column called LOGGING which is set to either YES or NO. This is an Oracle 11g database. I am not too familiar with the specifics of Oracle databases.

I just want to find out what that parameter does. What kind of logging are we talking about? I am interested in finding out if there is any connection between this parameter and the CREATED and LAST_MODIFIED fields usually available in Oracle based applications.

Also does this logging parameter also enable logging of data changes (INSERT, UPDATE, DELETE) including old and new values of fields changed?

Appreciate your help folks!

Upvotes: 3

Views: 1216

Answers (1)

Ben
Ben

Reputation: 52863

Sort of. The documentation describes the column thusly:

Indicates whether or not changes to the table are logged; NULL for partitioned tables

The relates to the LOGGING clause in the CREATE TABLE statement:

Specify whether the creation of the table and of any indexes required because of constraints, partition, or LOB storage characteristics will be logged in the redo log file (LOGGING) or not (NOLOGGING).

This is separately documented, along with a lot more information. Simply put this indicates whether changes made to the table are being logged so that they can be recovered in the event of an instance failure. It is not so you can reference changes; you'll have to use triggers or a materialized view for that.

Upvotes: 1

Related Questions