Do you like the SPFILE or are you using the classic init.ora for changes in the Oracle-Environment like sga-parameters? spfile

I like SPFILES more than the text-parameter-files. The advantage of a text-parameter file (init.ora) to the server-parameter-file (spfile) is that you can read it with a simple editor. The disadvantage is that you had to restart the whole instance to change sga-parameters, but also more simple parameters like SMTP_OUT_SERVER. With SPFILE you can do this with an running instance by typing for example: alter system set smtp_out_server='' scope=spfile;

If you are using Oracle-Failsafe Failsafe is  not capable to use spfiles, and that's a annoying thing if you are used to it.  But there is a workaround. Create a text-parameter-file (the best would be on the shared cluster-disk) and point it to the spfile by using the SPFILE Parameter.

Your text-parameter-file would look similar to this: spfile=h:\oradata\spfileprod.ora 


If you need to verify phone number or other fields, and you want to ensure that not all characters can be used, the best is to use a check-constraint. The following constraint is simple, and fast 100 times faster than using a pl/sql-function (tested with 2mio records) because it is used directly on the table and there is no switching between the sql and pl/sql-engine. fast

alter table customer  add constraint ck_phone_numeric  check ((RPAD(TRANSLATE(phoneno,'0123456789+-X','XXXXXXXXXXXXa'),20,'X')='XXXXXXXXXXXXXXXXXXXX'));

You have to replace the length of the column (in this case 20) to the length of your column and of course the table name...

Webutil is an enhancement of Oracle Webforms. A Toolbox where you can do things like reading the registry, transferring files by ftp, invoking dll-functions...

Last time when using it i got WUC-024 (WUC-24), i think i used the filetransfer-functions.

... I am a brave user so i am consulting the manual (RTFM). The manual reads 

    The error is caused by wrong/missing configuration.
    Solution: No mapping has been made for webutil directory where files are located.
    Follow description from WebUtil User’s Guide chapter 2.5 "Configuring Oracle HTTP Server for WebUtil" to set up correct mapping.

But guess what.... that was not the problem everything configured fine, i simply had not set the proxy-server in the jinitiator...

I like misleading Oracle Error-Messages... Yell


So what happened to my Oracle Service Request?....

Oracle found a similar bug reported. So i told them that i can live with my workaround and that they can close the SR if they give the Development-guys the infos from this Service-Request.

Some weeks later i did installed failsafe on a different server, and guess what.... i did not have this problem again.....

My workaround:

Enable  Database trace (exec dbms_monitor.database_trace_enable;)

                          check for which view is needed, you will find the output of the trace in the udump-directory (select value from v$parameter where name = 'user_dump_dest')

                           create a synonym for this view (create synonym v$controlfiWHATISLOOKEDFOR for v$controlfile;)

Don't forget to disable the Database trace by invoking DBMS_MONITOR.database_trace_disable. 

If you want direct access to the database without defining a TNSNAMES.ORA you have to be on the same machine as the database is installed. Just try the username/pwwithout the connect-string ("sqlplus system/manager" instead of "sqlplus system/manager@testdb".

If you get an ORA-12560 TNS:protocol adapter error, the ORACLE_SID environment variable does not seem to be set set it with "SET ORACLE_SID=yourdbsid" in Windows or "export ORACLE_SID=yourdbsid" on Linux/Unix. Hope it helps... Laughing




There is something wrong..... I installed the new version of failsafe and could not add a Database, because of ORA-00942 "View or Table does not exist". So i checked by enabling the database trace (in the DBMS_MONITOR Package) and looking for the SQL-Statement in the dump-directory of the database.

Failsafe is looking for a table "v$controlfiO" in another installation for "v$controlfif", thought v$controlfile was meant and created a public synonym for it ("create synonym v$controlfiO for v$controlfile;") after this it worked. I will log a Service Request for this issue...

If you are testing or working with the Oracle Enterprise Manager, and you are hitting the error-message "Connection to host as user Administrator failed. Bad SQL_SCRIPT at - line 227." when trying to define a backup, your Configuration for the Database has an error. This error means that a file or script in the configured directory can't be found.

The reason is that the database has a wrong not existent oracle-home defined you can check it if you go in the Oracle-Enterprise-Manager Console to "Targets" and choose the Tab "Databases" there choose your Database and press the button "configure". You will see that there is a wrong directory defined. If it can not be changed for any reasons a workaround would be to copy the Oracle home to the directory that the EM expects or define a link to this directory.

Yesterday I posted an article about failsafe and forgot to tell you that it does NOT just take care of the Oracle Databases, it can also take care and failover your Oracle Application Server and you Oracle Agents for your Enterprise Manager.

Take a look at the Product-Infos.

Oracle Failsafe is a mostly unknown Oracle Product.  I am working with this product since a short period of time, and must say it is a perfect and cheap High-Availability Solution for Oracle-Database.


"How cheap is it?"
Hmmm it costs NOTHING Money mouth you are allowed to use it if you have an oracle database. Of course, it costs you Microsoft-Licenses (Microsoft Enterprise Server) but no additional Oracle licenses.

"Do i need additional Database Licenses the same way i use the Oracle-RAC (Real Application Cluster)"

No, There is no additional License necessary because there is always just one Database active, read more about it in the Oracle Software Investment Guide.

"How does it work?"

Failsafe is a peace of software that takes care of your Oracle Database on a Microsoft Cluster. If one Database-Server goes down for any reason (fire, maintenance etc.) the database gets switched on an other server (called "node" in a clustered environment).

"How long does this switching take?" 

 It takes below an minute, we measured between 20 and 30 seconds (the listener and the database gets restarted).


Here a screenshot of how it looks like:















 In this example (from the manual) you can see the Cluster FS-150 and two nodes (servers) FS-151 and FS-152.

Hee you can get more information about it:

The Failsafe-Manual 

More Product-Infos 


Getting REP-56055 "Exceed max connection allowed" means check why so many connections occured at the same time, if it is normal to your environment (printing a lot of reports at 01:00 etc.) you can change following report-parameters in "...conf/rwserver.install"

<connection maxConnect="20" idleTimeOut="15"> 

set maxConnect to an appropriate value for your environment.Laughing

We have a very nice Java-Application at our side, and wanted to speed up the performance with the OracleDataSource (before we were working with Standard JDBC).

oracle.jdbc.pool.OracleDataSourceSo we tested a lot and the performance was slightly better in the test-environment than before.After that we went to production with it.... and the phones began to rang, the performance was BAD BAD BAD Cry

After 3 hours of analyzing of our sourcecode we had the solution:

                        Caching is not enabled by default  (suprise surprise... by Oracle)

After adding  additionals lines

        <jdbc-connection-pool datasource-classname= "oracle.jdbc.pool.OracleDataSource" ...>
        <property name="ImplicitCachingEnabled" value="true"/>
        <property name="MaxStatements" value="190"/>

We had an incredible speed up! 

The application is now about 10 times faster than before using this DataSource.  If it is possible in any case use this Datasource!


I was testing around with Oracle on Windows (2003) and got "insufficient disk space" when cloning a database.
The problem is in a perl-script ( of the agent, that checks the disk-space and uses an old windows-function to determine how much is left.
The solution is to install a newer client (downloadable at OTN choose the "Mass Agent Deployment").