| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> How can I capture database changes?
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
![]() |
![]() |