Monday, April 20, 2009

Oracle 10g materialized view bug, when using import fromuser , touser. ORA-00942

If you have materialized view, and importing using the option fromuser and touser , you may have the error below :-

BEGIN
dbms_mview.refresh('MV_TEST','C');
END;
*ERROR at line 1:ORA-00942: table or view does not exist
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2254
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2460
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2429ORA-06512: at line 1

This is a bug in the oracle 10g, to workaround this recreate the materialized view.

Friday, April 17, 2009

SQL 2000, ANSI_DEFAULTS, ANSI NULL settings

Recently, i have the problem of a query  in a sp comparing null values and is unable to return values..

After going through this, found out that if a sp is created in query analyzer with null values setting is set to ANSI_NULL is set to on , the sp itself when run by user will take this settings.

"It is slightly more complicated to resolve ANSI_NULL problems when dealing with stored procedures, triggers and views as the ANSI_NULLS setting is saved when these objects are created or altered and is enabled (used) upon their execution. In other words, these objects inherit the ANSI settings of the user session that is used to creates them."

This is explain by the url below.

Understanding the Implications of ANSI SQL92 SET Options

http://www.sqlservercentral.com/articles/Administration/understandingtheimplicationsofansisql92setoptions/482/

Thursday, April 16, 2009

SQL server database backup - Important to check the backup policy

Recently , we have a sql server data corruption that needed the backup to be restored. We have two scheduled backup , 1 is to a backup disk and the other one is to the backup tape.

After checking the backups, found out that the only usable restoration is by using the backup tape. This is because the task to backup to tape reinitialized the transaction log , this caused the folder backup cannot be restored to point in time.

The point is, Make sure that if there are two backup policy ensure that both of them didn't clear the other one backup transaction log.