Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> How can I capture database changes?

How can I capture database changes?

From: Eric Fish <efish_at_ggsoftware.com>
Date: Wed, 23 Jun 1999 10:41:05 -0700
Message-ID: <NW8c3.1155$Sl3.63455@nuq-read.news.verio.net>


Rather than replicating data with existing Oracle facilities, I would like to capture database changes and be able to process them with my own application. For example, if I have table ACCOUNT, I don't want to replicate changes to another Oracle ACCOUNT table, but I do want to be able to capture INSERT, UPDATE and DELETE operations on ACCOUNT.

I guess triggers is the most obvious method for doing this, but efficiency is very important. Also, ease of installation is important, since we may be talking about a lot of tables.

After doing some investigation, I came across snapshot logs as a possible source for this type of information. It is my understanding that a snapshot log captures database changes to a particular table and stores the information about each change.

Questions:
- can I access the snapshot log contents, and if so, are those contents in a
useful format?
- what is the name of the snapshot log?

Better still, I would like to be able to retrieve all database changes of interest into a single file, i.e., inserts, updates and deletes to every table of interest would be stored in one location. Any clues on how this might be done?

On other databases, the transaction log frequently provides a real good method for retrieving every database change effficiently. Is there a way to do this in Oracle?

One final note: any solution would have to be near real-time, i.e. I need to detect the change within a few seconds of its occurrence on the database.

Thanks,
Eric Received on Wed Jun 23 1999 - 12:41:05 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US