Re: tracking data changes (a request for advice/information)
Posted in 1992
> > I need the ability to track any changes to a large OnLine database, to the > table/row/column level*, without having to constantly scan all of the tables, > and without building any special abilities into the applications doing the > adding/deleteing/updating. > > The former is no good because: > > 1) It would use up too many resources, and > 2) It wouldn't give me the changes in the order they happened (fairly important) > > The latter is no good because: > > 1) Too much existing code would have to be changed, and > 2) doing batch adds/updates/deletes with isql would screw things up > > The most obvious solution I can think of is having transaction logging turned > on, and monitoring the logical log. I guess my questions are: > I can't comment on the Online Log idea but another solution would be to wait for Online 5.01 and use the Triggers to write records to log files after every insert/update/delete on the tables and columns you need to monitor. This would avoid any necessity to play with the online logs and would not require any changes to the applications. It would also allow you to more easily tailor the logging to only those parts of the database you need to check on and allow for building a simpler database query process rather than a (probably) C extraction process from the logs. It is not possible to access the performance hit this will have on the application. But the Stored Procedures seem to work fine in 5.0. Also you run the risks of bugs in the Trigger system. Against this Informix have given themselves considerable extra time to get Triggers reasonably clean. They were supposed to be in 5.0 but at release time were not stable enough so they left them out. Cheers - Jim -------------------------------------------------------------------- Name: Jim Gordon Internet: jgordon@ssf-sys.DHL.COM Company: DHL Systems Inc Phone: (415) 358-5911 (Work) Address: 1700 S. Amphlett Blvd. (415) 882-9728 (Home) San Mateo, CA 94402 Fax: (415) 571-6429 --------------------------------------------------------------------