How to monitor database changes

My question involves not only Oracle but Sql server and Sybase. I am wondering if there is a way to monitor database changes so to prevent catastrophic events so to speak in the database. By catastrophic events, below are some examples.
The reason I am asking this is that on my job I work with about 6 different databases. two are Oracle, two are Sybase and two are Sql server. I need to somehow monitor any catastrophic changes to the database. Is there a way to do that? I have an application that accesses the databases and of course the application will crash if certain catastrophic events occur. But sometimes running the application is not enough, so to somehow monitor any database changes would be great.

- Deletion of linked servers
- Deletion of user accounts
- Deletions from key tables
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Geert GOracle dbaCommented:
not really
that's what backups and safety measures are for

for oracle
i maintain standby databases for all productions with a lag of 3 hours.
people usually know a disaster has happened within an hour
i stop the standby system and recover any lost objects from that standby database
when the 3 hours is no longer an option, we move to backups

besides that, there is also flashback querries to retrieve data
you might have to size the undo tablespace to go back some time

oracle, by far, has the most options for recovery
in oracle 12, it's now possible to restore just 1 table from the backups
slightwv (䄆 Netminder) Commented:
If you want input from Experts on other database products, you need to add those databases to the Topic Areas.  I've added SQL Server and Sybase for you.

Speaking specifically for Oracle:
Oracle doesn't know what you define as "catastrophic".  If a user is created how will the system know that is important enough to know that if it is dropped, some action needs to be taken?

You can turn on auditing to monitor for specific events and alert when something happens.

If things are that important it is better to try and prevent it from happening in the first place.  You might want to restrict access/privs to only a few certain users/machines/etc...  You might set up system triggers to prevent actions on specific objects.

I had a list of "important" things I check on a daily basis and have my databases email me every morning with the status of those things.  If something is off, I know about it before I get to work.

No email means one of two things:  Email isn't working or my database is down.  It's pretty easy to figure out which one it is.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Oracle Database

From novice to tech pro — start learning today.