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

Home -> Community -> Usenet -> c.d.o.misc -> Re: General question about databases and applications

Re: General question about databases and applications

From: Ban Spam <ban-spam_at_operamail.com>
Date: Sat, 07 Dec 2002 15:47:09 GMT
Message-ID: <Xns92DD4F5B45EADSunnySD@68.6.19.6>


justforspm_at_hotmail.com (Anonymous) wrote in news:b2cbfb8a.0212070704.4212ecfc_at_posting.google.com:

> I have done some extensive research and reading on this subject over
> the last few weeks in response to an assertion made to me by someone I
> work with. The problem in a nutshell: is there any way to find out
> what and how applications use a database? Since that is a loaded
> question that definitely requires some explanation, here it is. My
> co-worker made the statement that it is possible to find out what
> columns and tables are changed by an application and in what way,
> without actually having access to the application source code or
> design documentation. For instance, our database is Oracle 8.1.7
> running on a DEC Alpha box with DEC UNIX. The applications hit the
> database from client PCs running Win2K via a suite of different
> application programs. There are also database scripts that run
> periodically that make changes to the database directly. I believe
> (without a lot of experience or knowledge to back it up) that in order
> to find out what gets changed and how it gets changed during the
> running of an application, you need to look at the application source
> code to see what it is doing. It may be running stored procedures, SQL
> scripts, etc., but without either the source code or a design document
> that tells you what columns and tables the application changes, or
> what stored procedures or scripts are running, there is no way (that I
> am aware of) to know what gets changed and how.
>
> I would welcome any questions or comments and if there are references
> (book, online, etc.), I would appreciate those as well.
>
> First time poster
>

Here is one way to see "what gets changed".

1) Take a "snapshot" of the DB; say by either hot or cold back
2) Restore the DB onto a different box
3) Run the application s/w
4) For each table in th DB...

   SELECT * FROM TABLE_at_LIVE_DB
   MINUS
   SELECT * FROM TABLE_at_SNAPSHOT_DB;
The records returned are the ones which got changed by the application. Using a similar approach you could even ID the columns which got changed. I am NOT claiming this to be a fast way to see "what gets changed", but it is fairly straightforward & would be effective.

HTH & YMMV HAND! Received on Sat Dec 07 2002 - 09:47:09 CST

Original text of this message

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