RE: Deleting from SYS tables

Jay,
 
    Mucking with the tables owned by SYS is NOT something for the faint
of heart, especially is your dealing with any of the K$ or X$ ones.
Those tend to be from the control file and messing with them can cause
the demise of  your database instance if not the entire database.  Those
tables that you find in sql.bsq are a lot more forgiving, but you never
know what they link to and what the ramifications of mucking with them
are.  Lot easier to repair I'll admit, but not fun either.  MANY years
ago I had an individual who convinced a junior dba to delete some data
from the SYS tables used for snapshots (oracle 8i).  No problem, that
worked for what he was having fun with.  But about a week later we had
trouble when he tried to drop some snapshot log files.  Seems that the
data he had had deleted was linked & the drop snapshot log command
needed it.  Result, an ORA-00600 followed by a database crash.  Bother!!
 

Dick Goulet 
Senior Oracle DBA/NA Team Leader 

 

________________________________

From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Jay Hostetter
Sent: Friday, February 25, 2011 11:53 AM
To: oracle-l@xxxxxxxxxxxxx
Subject: Deleting from SYS tables


I had a user that deleted records from DBA_JOBS.  Unfortunately, the
application gives the user DBA rights so this is beyond my control.  *I*
know it is bad practice to directly mess with SYS tables, but is there
any documentation from Oracle that spells this out?  Or do they assume
that most apps aren't crazy enough to handout DBA rights?  In any case,
I need to steer some users towards APIs (like DBMS_JOB) instead of using
a sledge hammer.  I'd like a little documentation to back me up.
 
Thank you,
Jay

Other related posts: