|
In my consulting, I get to design and
build systems. One drawback is that often times I need to maintain
production systems while performing new development. In comparing the
development role to maintenance some similarities can be drawn to comparing a
presales consultant with being an implementation consultant.
Presales has
got to be the best job in the world. You can make prototypes with no
regard to feasibility or getting into the details. I'm sure many
administrators would say that there are quite a few implementation consultants that
have put in essbase or other systems with a blatant disregard to the
maintainability of the system. Many of the issues
often ignored are: dynamically building all dimensions, security for users, cube
building automation, report
development, backup recovery plans, and even documentation of models.
Below are a few items that must be
understood in order to be able to run and maintain essbase.
-
Backup / recovery: Over 40%
of the customer sites I have visited do not have backups that they could used
for a restore. There are 2 ways to perform backups:-place essbase in
archive mode (from esscommand issue the begin archive command) and backup the
hyperion folders or -stopping the essbase server (by issuing the shutdown
server command) and backing up the hyperion folders. Hot backups performed
while essbase is running will not be useful for a restore.
-
Database Set Note: This can be
used to document databases in Essbase, like the purpose of the cube or even
notifying the end users that last time the cube was updated. In keeping
separate versions of cubes, we often times make application copies. It
doesn't take long before there are a bunch of cubes out there and we forget why
they were made.
-
Essbase
Substitution Variables: Substitution variables are a way to use
placeholders for something like current_month. You set the
substitution variable in one place and all references automatically get updated.
Very powerful for calc scripts.
-
Esscommand: Find out how this tool can really help you streamline your
cube update process. While the example only shows kicking off a calc
script, this is very powerful in automating the building of dimensions and
loading of data as well. There are many administrators out there that are
manually updating their essbase databases on a monthly and even daily basis.
-
Disable Application Access: It
can be very frustrating when you want to update a cube and users do not stay out
of your application. Turning off application access with take care of this
problem. This is as easy as checking a box in the EAS console. This
can also be turned on via esscommand or maxl.
-
Ability to kill end user requests:
As of Essbase 6.5, we can now cleanly kill requests initiated by end users.
In EAS you need to look under server sessions and find the offending request
then select kill process.
-
Development Environment: It is
critical to have a separate test environment for Essbase. This is
essential to keep your up time at a maximum. Since patches are released so
frequently, it's very important to test your models with new versions of Essbase
in a development environment.
-
Intelligent calculator: Any
time you write a calc script that operates on a section of the database you will
need to take into account the intelligent calculator. If you're performing
calculations on subsets of the database you might want to check out the set
updatecalc off; command. This will calculate a data block irregardless
of clean / dirty status.
-
Server upgrades: With System 9, implementing an upgrade is
pretty substantial. It's not like the old days where you were able to
perform an install in under 10 minutes. Upgrades should not take place
until a development environment has been upgraded, documented, and tested.
Due to System 9 including so many pieces, an upgrade is a major operation.
These can probably be limited to once every 2 years.
-
Block creation issue: You will run
into this problem when writing custom calc scripts that copy or spread values to
intersections of the database that do not exist yet. You will not
experience this if you are performing a default calc (calc all) on your
database. The most reliable solution for this problem is to use the
datacopy command. This command will always result in the blocks being
created that you need. There is a database setting called CREATE BLOCKS ON
EQUATIONS, but I have never found this feature to work.
|
|