Wednesday, August 1, 2012

Perform 1st-time configuration of Shared Service selection disabled.

If when you run "Oracle EPM System - Foundation Services - EPM System Configurator" for the first time, and you can't select "Perform 1st-time configuration of Shared Service Database", you may see the following solution.

Description:
The selection is defaulted to Connect to previously configured shared service database.  Server is Windows 2008R2 64bit.  Hyperion installed is v.11.1.2.2 64bit.  When you try to log in, the returned message says that the database you connect to isn't preconfigured with shared service.

Solution:
Try running "configtool.bat -forceRegistry".  It should do the trick.  The location of configtool.bat can be found by right clicking on "Oracle EPM System - Foundation Services - EPM System Configurator" from the start menu, and select properties.  The location of configtool.bat is stated on the "Target" field of the properties window.

Monday, June 25, 2012

Quickly Duplicate an Existing Table [SQL Server]


This is a tip for quickly duplicating an existing table.
Select * Into new_table_name From existing_table_name
While this is another tip for quickly creating a table with the same column name of an existing table.
Select * Into new_table_name From existing_table_name Where 1 = 2
Notice the where condition.  You could actually change it to any condition that returned false (e.g 1=0).  The select statement will select nothing.


Quickly Duplicate an Existing Table [Oracle]

This is a tip for quickly duplicating an existing table.


CREATE TABLE new_table_name AS
(SELECT * FROM existing_table)


While this is another tip for quickly creating a table with the same column name of an existing table.


CREATE TABLE new_table_name AS 
(SELECT * FROM existing_table WHERE 1 = 2)




Notice the where condition.  You could actually change it to any condition that returned false (e.g 1=0).  The select statement will select nothing.


Thursday, April 19, 2012

Hyperion : openLDAP Service Won't Start [Error]

One stormy day, my Hyperion openLDAP service just won't start.  It's simply corrupt.  Some time ago, before this dreadfull thing happened to my work life as an IT consultant, the production server where my beloved Hyperion 9.3.1 were installed went dead.  It was shutdowned unceremoniously.  My Hyperion which were running smoothly previously (even you can hear it whistling happily) was killed in a tragic way.

[What Really Happened]
Power failure sometimes happened (I know, sh*t do happens - X_X ).  It makes our BerkeleyDB based openLDAP engine goes unsynchronized.  Thus making the openLDAP service won't start.

[Solution]

Recover OpenLDAP by using the following steps:
1. Stop all the services.
2. Take a backup of this folder:
Hyperion\SharedServices\9.3.1\openLDAP\var\openldap-data.
3. Remove/delete all files which do not have extension .bdb from:
Hyperion\SharedServices\9.3.1\openLDAP\var\openldap-data.
4. Copy the 'db_recover.exe' file from the following location:
Hyperion\Sharedservices\9.3.1\openLDAP\bdb
to
Hyperion\SharedServices\9.3\openLDAP\var\openldap-data
and run the db_recover.exe.
5. Start the services

Note by doing this, eventhough the service may start, you may lose the data.  I found that my admin user gone.  I put my .bdb files from my backup back to Hyperion\SharedServices\9.3.1\openLDAP\var\openldap-data.

[Note]
It's wise to keep a frequent backup of those .bdb files in a separate folder.  Make a script and run it monthly if need be.  You won't know when sh*t will happen again.

I heard this kind of thing also happened to Hyperion 11.1.X which still use openLDAP.  The solution to this kind of problem will probably be useful to those version of Hyperion.

[Backup Script Sample]
Here is an example of my LDAP_backup.bat :
rem code to take day month and year
FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B
SET date=%mm%-%yyyy%

md D:\backupHyperion\LDAP\%date%
D:\Hyperion\SharedServices\9.3.1\server\scripts\backup.bat D:\backupHyperion\LDAP\%date%



error BC30506: Handles clause requires a WithEvents variable defined in the containing type or one of its base types. [ASP.Net]

One day in my coding life as a consultant I met this error message: "~\file.vb(250): error BC30506: Handles clause requires a WithEvents variable defined in the containing type or one of its base types."

If you are compiling an ASP.Net Web Site (Attention: It's not a Web Application,) using the so called command prompt mode:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -p "C:\WebsiteSourceFolder" -v / C:\WebSiteDestinationFolder

You may found this particular error message.  Thus nothing was generated in the C:\WebSiteDestinationFolder.  Eventhough if you may be able to access the virtual directorized C:\WebsiteSourceFolder through the web browser.

[What Really Happened]
What really happen is I made a copy of file.vb named "copy of file.vb" in side the C:\WebsiteSourceFolder as a backup copy.  I'm trying to keep the original file intact.  What really happened is the compiler found a duplicate class file.  Thus generating the error code.

[Solution]
Take out / remove the backup copy / duplicate file from the Source Folder that you want to compile.  You may want to find a file with the same class name your case isn't creating copies of the offending source code.  Then you will be able to compile the ASP.Net Web Site.