0% found this document useful (0 votes)
361 views16 pages

Supplemental Logging: Julian Dyke Independent Consultant

Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
361 views16 pages

Supplemental Logging: Julian Dyke Independent Consultant

Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 16

Supplemental

Logging
Julian Dyke
Independent Consultant
Web Version

1 © 2006 Julian Dyke


Supplemental
Logging

2 © 2006 Julian Dyke


Supplemental Logging
Example
ALTER DATABASE Redo Header
ADD SUPPLEMENTAL LOG DATA
(PRIMARY KEY) COLUMNS; Change Header
CREATE TABLE t1 KTU
(
KDO
c1 NUMBER,
c2 NUMBER, c3 = 1
c3 NUMBER
Supplementary Header
);
c1 = 100
ALTER TABLE t1
ADD CONSTRAINT t1_pk c2 = 20
PRIMARY KEY (c1,c2);
Change Header
INSERT INTO t1 VALUES (100,20,1);
KTU
UPDATE t1 SET c3 = 2 KDO
WHERE c1 = 100
c3 = 2
AND c2 = 20;

3 © 2006 Julian Dyke


Supplemental Logging
Minimal Supplemental Logging
 Required for LogMiner
 Includes additional information in redo stream
 Minimal supplemental logging can be enabled using:

ALTER DATABASE
ADD SUPPLEMENTAL LOG DATA;

 Minimal supplemental logging can be enabled using:


ALTER DATABASE
DROP SUPPLEMENTAL LOG DATA;

4 © 2006 Julian Dyke


Supplemental Logging
Minimal Supplemental Logging
 To check whether minimal supplemental logging is enabled:
SELECT supplemental_log_data_min
FROM v$database;

 Returns YES or IMPLICIT if enabled


 Allows LogMiner to support
 chained rows
 clustered tables
 index organized tables (IOTs)

5 © 2006 Julian Dyke


Supplemental Logging
Database Supplemental Logging
 Can be enabled
 For all columns
 For primary key columns
 For unique columns
 For foreign key columns

 All columns
 All columns are included with the exception of:
 LONG
 LOB
 LONG RAW
 Abstract Data Types
 Collections

6 © 2006 Julian Dyke


Supplemental Logging
Database Supplemental Logging
 To enable supplemental logging at database level:
ALTER DATABASE
ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;

ALTER DATABASE
ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;

ALTER DATABASE
ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;

ALTER DATABASE
ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

 Database can be mounted and open

7 © 2006 Julian Dyke


Supplemental Logging
Database Supplemental Logging
 To disable supplemental logging at database level:
ALTER DATABASE
DROP SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;

ALTER DATABASE
DROP SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;

ALTER DATABASE
DROP SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;

ALTER DATABASE
DROP SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

8 © 2006 Julian Dyke


Supplemental Logging
Database Supplemental Logging
 To monitor database level supplemental logging:

SELECT
supplemental_log_data_min,
supplemental_log_data_pk,
supplemental_log_data_ui,
supplemental_log_data_fk,
supplemental_log_data_all
FROM v$database;

9 © 2006 Julian Dyke


Supplemental Logging
Log Groups
 Implemented as constraints
 If no name specified for log group then system constraint
name will be allocated e.g SYS_C005223
 Can be
 Unconditional
 Before image of supplemental columns always
included in redo
 Conditional
 Before image of supplemental columns only included in
redo if supplemental columns have changed

 In Oracle 10.2, minimal supplemental logging must be enabled


at database level before supplemental logging can be enabled
at table level

10 © 2006 Julian Dyke


Supplemental Logging
Unconditional Supplemental Log Groups
 To specify an unconditional supplemental log group for
primary key column(s):
ALTER TABLE t1
ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;

 To specify an unconditional supplemental log group that


includes all table columns:
ALTER TABLE t1
ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

 To specify an unconditional supplemental log group that


includes selected columns:

ALTER TABLE t1
ADD SUPPLEMENTAL LOG GROUP t1_g1 (c1,c3) ALWAYS;

11 © 2006 Julian Dyke


Supplemental Logging
Conditional Supplemental Log Groups
 To specify a conditional supplemental log group for unique
key column(s) and/or bitmap index column(s):
ALTER TABLE t1
ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;

 To specify a conditional supplemental log group that includes


all foreign key columns:
ALTER TABLE t1
ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;

 To specify a conditional supplemental log group that includes


selected columns:

ALTER TABLE t1
ADD SUPPLEMENTAL LOG GROUP t1_g1 (c1,c3);

12 © 2006 Julian Dyke


Supplemental Logging
Dropping Supplemental Log Groups
 To drop a supplemental log group:
ALTER TABLE t1
DROP SUPPLEMENTAL LOG GROUP t1_g1;

 To drop supplemental logging of data use:


ALTER TABLE t1
DROP SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

ALTER TABLE t1
DROP SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;

ALTER TABLE t1
DROP SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;

ALTER TABLE t1
DROP SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;

13 © 2006 Julian Dyke


Supplemental Logging
DBA_LOG_GROUPS view
 Describes currently configured supplemental log groups:
OWNER VARCHAR2(30)
LOG_GROUP_NAME VARCHAR2(30)
TABLE_NAME VARCHAR2(30)
LOG_GROUP_TYPE VARCHAR2(19)
ALWAYS VARCHAR2(11)
GENERATED VARCHAR2(14)

 LOG_GROUP_TYPE can be:  ALWAYS can be:


 PRIMARY KEY LOGGING  ALWAYS
 UNIQUE KEY LOGGING  CONDITIONAL
 FOREIGN KEY LOGGING  GENERATED can be
 ALL COLUMN LOGGING  GENERATED NAME
 USER LOG GROUP  USER NAME

14 © 2006 Julian Dyke


Supplemental Logging
DBA_LOG_GROUP_COLUMNS view
 Describes columns in currently configured supplemental log
groups:

OWNER VARCHAR2(30)
LOG_GROUP_NAME VARCHAR2(30)
TABLE_NAME VARCHAR2(30)
COLUMN_NAME VARCHAR2(4000)
POSITION NUMBER
LOGGING_PROPERTY VARCHAR2(6)

 LOGGING_PROPERTY can be:


 LOG
 NO_LOG

 Only applies to log groups (not log data) configurations

15 © 2006 Julian Dyke


Thank you for your interest

info@juliandyke.com

16 © 2006 Julian Dyke

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy