Monday, June 13, 2011

Invalid Blank Character In Name [Error]

When loading data into essbase (txt file) I met this error message : "Invalid Blank Character In Name".  I locate the dataload file in the desktop.

Turn out to do the load successfully you have to put the txt file (the dataload file) in C Drive.

Wednesday, May 4, 2011

Hyperion Planning Physical Disk Out Of Space (Case Study)

I was troubleshooting a client whose server's hard disk was almost full.  The server hosted a Planning (version 4) and an essbase server (version 7.1.3) - but I believe this can be done on any version of planning or essbase server.  The essbase cube was a sparse one, and in order to defragment it, I need to export the database and reimport it back.  After 95 hour the essbase database console states ASCII Backup : [Some Number] and still generating the numbers. The file output is only 3752 KB. The total IND is around 24 GB and the PAG is about 71.1 GB. The server is not in archive mode, and I tried restarting the essbase server beforehand.

Then I restarted the system (the windows 2000 server), and I tried to validate the essbase data. After 16 hour, it's getting me nowhere, and then I stopped the validation.

Then I  "refresh"ed the planning outline unto the essbase outline. I tried an incremental / full refresh, but it failed showing insufficient disk space error (my client actually added a member on the dimension before contacting me). I added a 200 GB external disk registered as E Drive. The PAG and IND files are located on the D Drive (100 GB, with the files around 95 GB we got about 10 GB Free). The Essbase otl, csc and rule files are located on the C Drive.

Exporting only level 0 data is not an option.   I've seen some script using level 1 or level 2 data for calculation to populate the level 0 data. But exporting level 0 data turns out to be successfull albeit very slow.

The system was a production system (and still is), and at the time there were no back up.

That's the case. 

Here is the solution which work on my problem :

Since the very beginning this wasn't any Hyperion Applications problem.  This was an OS layer problem.  So I turned off all Hyperion Applications Services (Tomcat, Planning & such).  I copied all the content of D Drive to E Drive (same structure different Drive Letter).  Remember that D Drive is 100 GB (with only 10 GB Free) and E Drive is an empty 200 GB Disk.  Then I switched the Drive Letter from D to E (done in Windows Server - Any Windows Server, [even Windows XP] have this capability).  So suddenly I have a Disk with 110 GB Free.  I restart the machine - just to be safe.  Then I export the essbase cube again.  The export took 7 whole days to complete.

After 7 Days, I emptied the old cube and reimported the data back.  I did a full refresh from the planning - to ensure dimension consistency between essbase and planning outlines, and it worked like charm.

Afterwards I emptied the 100 GB disk, and copied all binary structure (along the new small PAG & IND files) from the 200 GB disk to the 100 GB disk.  Then switched back the drive letter.  (Remember to turn off all application services beforehand and restart the machine the afterwards).  Now you got a denser data and a faster working application.

Another solution, albeit a more risky solution is to expand/span the Drive - Any Windows Server, [even Windows XP] have this capability.  So you could actually turn the D Drive into a 300 GB Logical Disk.  But since the 200 GB isn't gonna stay on this machine permanently, and I need to return the disk to unspanned mode, I would not chance the solution.  I have little confidence with data consistency spanned through out multiple physical disks.  (If either one of the disk failed, the data can't be recovered anymore).

[WARNING] This solution is not supported by Oracle but could solve the problem.  (Since this is an OS Layer problem, not an Application [Oracle/Hyperion] Problem)

[MORE INFO] I considered splitting the data from the Essbase Application unto different disks a good implementation habit.   The PAG and IND files are located on the D Drive & the Essbase otl, csc and rule files are located on the C Drive.


Friday, February 4, 2011

Hyperion Planning : An Error Occurred. (Tomcat)

After reinstalling Hyperion Planning 4.0.2, I met the most funky error message ever generated.  It says : "An Error Occurred.".  That's it..  No other description or details.  At first it only happened when I opened a large form, but soon after any other form generated the same error message.  I tried restarting the planning application server (through Tomcat) and it got it working, but soon it generated the same error message.

The problem is located on the JVM.  You might want to increase the -Xms & Xmx.  

Edit : \Hyperion\HyperionPlanning\Deployment\Tomcat\4.1.30\startup.bat using your text editor.

Update the following line :

set JAVA_OPTS = -server

to

set JAVA_OPTS=-server -Xms512m -Xmx1024m

You can change the 512m / 1024m as you see fit.  A great description of Xms & Xmx and it's best size for your system could be found here.

Thursday, January 20, 2011

Oracle Database Installation Notes (Loopback Adapter)

I found out that after installing Oracle Database 10g on a VM machine and restarting the machine, the database service won't start.  A colleague of mine determine that my problem is located on me not installing a Loopback Adapter prior installing the Oracle Database.  According to an Oracle Documentation, prior to installing Oracle Database you may need to determine whether or not you will need a loopback adapter installed.  I also found out that after installing the loopback adapter and then reinstalling the Oracle Database, the installation warning regarding network configuration management is gone.
A loopback adapter is required if:
  • You are installing on a DHCP computer, or
  • You are installing on a non-networked computer and plan to connect the computer to a network after installation.
I also found a good tutorial on how to install a Loopback Adapter here

Activating (Deactivating) Oracle Sample Database

Oracle Database 10g installer came with several sample database, and here is how to activate it.

  1. Log into the server home page as SYSTEM (http://localhost:1158/em from the server).
  2. Click the "Administration" tab, under "Schema", under "Users and Privileges" look and click at "Users" link.
  3. Click the schema link name (It may be HR, OE, SH, or any other link) to display its information.
    An unconfigured user are usually locked, to begin using it choose the "Unlock User" on the "Actions" selection and click "Go".  Then go ahead and confirm the unlock process.
  4. After it's unlocked, go ahead and click the "Edit" button (located beside the "Go" button).
    You may notice that its password is expired.  Go ahead and type the new password and confirm it to un-expire the password.  Click Apply.

Now your selected user account (sample database) is ready to use.

After you finished using the sample database, and you want to freeze the database (for future use) you may want to do the reverse process.  Generally all you have to do is :

  1. Expire the password.
  2. Lock the user schema.

Optionally when you want to really clean the database from the sample database you can also delete the user schema.

Cleanly uninstall/deinstall Oracle Database (10g)

In this post I'll describe steps to cleanly uninstall your oracle database off your Microsoft Windows system (Windows XP / Server 2003).  In my case I was using the Oracle Database 10g.  Follow this step if you want to reinstall oracle cleanly.  (I believe you may follow similar steps on other Microsoft Windows version and other Oracle Database version)
  1. Turn off any oracle related services from Start-Run-Services.msc or Control panel-Administrative Tools-Services.
    Turn off the services in this order : Oracle MTS - iSQLPlus - Listener - Oracle Instance (you may not have all the services I listed installed).
  2. Use The Oracle Universal Installer to uninstall/deinstall the Oracle database.
    When you use the Oracle Universal Installer (OUI) to uninstall Oracle database,it left out bits and pieces of data in your operating system.  So, after uninstalling using the OUI you may want to clear up some mess left by the oracle.
  3. Open up regedit (Start - Run - regedit) then find this references (if you can, if you didn't find it it was deleted by the OUI) and delete it.  
    • HKEY_CURRENT_USER\SOFTWARE\ORACLE
    • HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\Oracle.oracle 
    • Delete the reference starting with ora in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\.  (You may have more than one reference.)
    • Reboot the operating system
    • Delete the oracle base directory <usually its located in c:\oracle>
    • Delete the oracle folder in program files <usually it's located in c:\program files\oracle>
    • (Optional) You may want to clear/delete the temp folder (c:\TEMP)
    • Remove any Oracle references from Environment Variable (usually in your path)
      Start-Settings-Control Panel-System-Advanced-Environment Variables
      Edit the environment variables PATH and system PATH.
    • Remove Oracle.DataAccess and any Polic.Oracle files from the GAC (if any) at C:\Windows\assembly\
    • Clear the recycle bin