Oracle OLAP and Express FAQ
$Date: 03-Oct-1999 $
$Revision: 1.0 $
$Author: Frank Naudé $
Topics
Back to Oracle FAQ Index
What is OLAP?
The term OLAP (On-Line Analytical Processing) was first used by E.F. Codd in
1993. It refers to a type of application that allows a user to interactively
analyze data. An OLAP system is often contrasted with an OLTP (On-Line
Transaction Processing) system that focuses on processing orders, invoices
or general ledger transactions. OLAP applications were previously called
Decision Support Systems.
Note: Oracle likes using the term "Business Inteligence" instead of OLAP.
Back to top of file
Why can't I store my data in a normal Oracle database?
Normal relational databases store data in two-dimensional tables and analytical
queries against them are normally very slow. Express provides its own specialized
database for storing muti-dimensional data. Data in a multi-dimensional database
is stored as business people views it, allowing them to slice and dice the
data to answer business questions. When designed correctly, an OLAP database will
provide must faster response times for analytical queries.
Back to top of file
What OLAP products do Oracle provide?
Express Engine:
- Express Server - multi-dimentional data store
- Personal Express - single user express server
Express Tools:
- Express Analyzer - reporting and analysis tool
- Express Objects - object-oriented development environment for Express Server
- Express Web Publisher - Develop Briefings for Web Deployment
- Express Spreadsheet Add-in - MS-Excell interface to the Express Server
OLAP Applications:
- Sales Analyzer (OSA) - analyze sales, marketing and other corporate data
- Sales Analyzer Client
- Sales Brief Client
- Financial Analyzer (OFA) - financial reporting, analysis, budgeting, and planning
- Financial Analyzer Client
- Financial Controller
- Financial Controller Client
- Data Entry Client
Other products:
- Oracle Data Mart Suite for NT - the Oracle Data Warehouse Builder included from V3
- Oracle Discoverer - End-user ROLAP query tool
Back to top of file
What is Oracle Express?
Express is a multi-dimensional database and application development environment
for building OLAP applications.
At the heart of the Express server are dimensions and variables.
Dimensions are the elements that an Express database is broken down by.
These are often the "keys" of a database. Examples of dimensions are
PRODUCT, REGION or TIME.
Variables are the objects that hold data in an Express database. These are simply
arrays of values (usually numeric) that are "dimensioned" by the dimensions in a
database. For example, a SALES variable may be dimensioned by PRODUCT, REGION,
and TIME. This three-dimensional variable or array is often visualized as a
cube of data.
Express databases can have multiple variables, with common or a
unique set of dimensions. This multi-dimensional view of data is especially
useful for OLAP applications.
Back to top of file
How does one stop/start an express instance?
For Windows NT servers, use the Express Service Manager utility or stop and
start the NT Service from the NT Service manager.
For Unix systems, do the following from root:
cd $ORACLE_HOME/olap
. ./express.prm
bin/express.sh start
Back to top of file
How does one create an express database?
The Express Adminsistrator provides an easy to use interface to create and maintain
express databases. Express administrator will use commands liks this to create a
database:
-> DATABASE CREATE mydb ATTACH
-> DEFINE department DIMENSION TEXT
-> DEFINE employee DIMENSION TEXT
-> DEFINE month DIMENSION TEXT
-> DEFINE salary VARIABLE NUMBER <month employee department>
-> UPDATE
Note: Sales Analyser and Financial Analyser needs to create their own databases.
Back to top of file
How does one query an express database?
The following alternatives are available:
- Use Express Analyser to create a Briefing
- Use Express Web Puiblisher to create a WebBriefing
- Use Express Objects to develop a nice front-end to your database
- Write a SPL script to query the database.
Look at this scripting example:
-> ALLSTAT
-> LIMIT PRODUCT TO 'TOYOTA'
-> LIMIT GEOGRAPHY TO 'AFRICA'
-> LIMIT TIME TO LAST 3
->
-> REPORT SALES
-> REPORT DOWN GEOGRAPHY SALES
-> REPORT smallest(SALES), largest(SALES), average(SALES)
Back to top of file
How does one backup and recover Express Databases?
Do a filesystem backup of the Oracle Express database files (*.db).
Alwayse backup the system databases with user databases as they contain
catalog information about them. These system databases are very
small and can be found in subdirectories below $OLAP_HOME/oes620/.
Oracle Express databases cannot be backed-up with Oracle's backup and recovery
tools, however Express applications (like Financial Analyzer and Sales Analyzer)
normally provides their own administration functions.
Back to top of file
Does Oracle Express provide read consistency?
Each Express user gets his own dedicated workspace that
preserves the state of the data at the point in time that
they attach to the database. This ensures read repeatability.
Users will not see others' updates until they re-attach.
In other words, if they run the same analysis more than once they
will get the same results. Internally the system will maintain "before"
and "after" images as long as someone is still reading them.
Back to top of file
How does one write SPL scripts?
Oracle Express SPL (Stored Procedure Language) scrips can be written and
executed by the oescmd command line interpreter. Look at these examples:
# Unix scripting example
. $ORACLE_HOME/olap/express.prm # Set the environment
$ORACLE_HOME/olap/bin/oescmd # Start command interpreter
-> database attach express " Attach a database
-> database list
-> database detach express
-> outfile 'db_structure.lst' " Describe database structure
-> listnames
-> dbdescribe
-> outfile eof
-> database create myexpress.db attach " Create a new database
-> database password manager
-> DEFINE HELLO PROGRAM " Write a program
PROGRAM
show 'Look Ma, I can execute express commands...'
END
-> DESCRIBE HELLO
-> CALL HELLO " Execute program
Of course you can do this via easy-to-use GUI interfaces.
Back to top of file
Can one abreviate Express commands?
Yes, use the first letter of the command with the next two consonants.
Look at these examples:
RPR | REPORT
|
DTD | DATABASE
|
DSC | DESCRIBE
|
etc.
|
Some of the commands can be extremely cryptic. For example 'RPR W 10 D 0 SALES'
is equivalent to 'REPORT WIDTH 10 DECIMAL 0 SALES'.
Note: Express porgram names cannot be abbreviated. Eg. DBREPORT, LISTNAMES, etc.
Back to top of file
How does one access relational data sources?
Relational Data can be IMPORTed into an express database from the Express
Administrator. Choose this option if you need to perform OLAP analysis
on data from Oracle and other databases. Use menu item File -> Import
or write a SPL scrip to import the data. Look at this scripting example:
" Verify the available types of SQL Support...
SHOW SQL.DBMSLIST
" Connect to ORACLE Database...
SQL.DBMS='oracle'
SQLMESSAGES = yes
SQL CONNECT monitor IDENTIFIED BY oramon
SQL DECLARE c1 CURSOR FOR select tname from tab
" etc...
The Express Relational Access Manager (RAM) is used to access Oracle and other
ODBC data sources directly. This effectively turns the Express Server into a
ROLAP analysis (Relational OLAP) engine. Configuration is done via the RAA
(Relational Access Administrator) GUI utility.
Back to top of file
What is SNAPI and XCA?
SNAPI (Structured N-dimensional API) is an application programming interface
that allows you to create Microsoft Windows applications that interact with
Express. SNAPI is distributed with Personal Express and the Express Server.
XCA (Express Communications Architecture) provides peer-to-peer communications
between express databases.
Back to top of file
Can one access Express data from C/ VB/ Powerbuilder, etc?
Yes, the SNAPI API is a set of C-lanuage interfaces to Express. See the
Express SNAPI guide fro example programs.
Note: Data can also be accessed via the Express Spreadsheet Add-in.
Back to top of file
What does term XYZ stand for?
BTM | Oracle express BaTch Manager
|
EIS | Express Interchange File Format (output of an Express Export)
|
OEA | Oracle Express Analyzer
|
OEO | Oracle Express Objects
|
OES | Oracle Express Server
|
OFA | Orace Financial Analyzer
|
OSA | Oracle Sales Analyzer
|
RAA | Oracle express Relational Access Administrator
|
RAM | Oracle express Relational Access Manager
|
SNAPI | Structured N-dimentional Application Programing Interface
|
SPL | The Express Stored Procedure Language
|
XCA | Express Communications Architecture
|
Back to top of file
Where can I get more info about Oracle Express?
Back to top of file