This Blog is discontinued, its only read-only

Wednesday, November 16, 2011

Oracle Weblogic Server 12c Launch announced

The Oracle Weblogic Server Release 12c is coming soon :-)

Oracle will unveiling the Oracle Weblogic Server 12c on 1st December 2011.

For the Online Launch Event registration just go here: http://tinyurl.com/cfpud2v

Thursday, November 3, 2011

Why you should never create own objects under SYS

I got many times the request by developers to create objects under the SYS schema and my comment is normally "NO". Here is a nice showcase, why the creation of own objects under the SYS schema can become really dangerous:

conn / as sysdba
select count(*) from dba_objects where status = 'INVALID';
COUNT(*)
----------------
        0
-- Now lets create a simple table named SYSTEM under the SYS schema
create table SYS.SYSTEM (id number);
Table created.
-- Now check for invalid objects again.
-- Note: I didnt do anything special after the creation of the table SYS.SYSTEM
select count(*) from dba_objects where status = 'INVALID';
COUNT(*)
----------------
      149

The critical point here is the name of the created table. As soon as you are creating a table named SYSTEM under the SYS schema, you will get immediately a huge number of invalid objects under SYS, most of them are DBMS-Packages, ALL-Views and DBA-Views. The number of invalid objects you will get is depending on your Oracle Release, even a recompile with utlrp.sql will not validate all objects, there will still be invalid objects.

To get ride of this problem, just drop the table SYS.SYSTEM and recompile all with the utlrp.sql script.

This shows clearly why you should not allow the creation of application related objects under the SYS schema.