RE: Deleting from SYS tables

From: Goulet, Richard <Richard.Goulet_at_parexel.com>
Date: Fri, 25 Feb 2011 14:56:12 -0500
Message-ID: <6B0D50B70F12BD41B5A67F14F5AA887F0E9C2E2D_at_us-bos-mx022.na.pxl.int>



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_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Jay Hostetter Sent: Friday, February 25, 2011 11:53 AM To: oracle-l_at_freelists.org
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

--
http://www.freelists.org/webpage/oracle-l
Received on Fri Feb 25 2011 - 13:56:12 CST

Original text of this message