Oracle OLAP and Express FAQ

$Date: 03-Oct-1999 $
$Revision: 1.0 $
$Author: Frank Naudé $

Topics

  • What is OLAP?
  • Why can't I store my data in a normal Oracle database?
  • What OLAP products do Oracle provide?
  • What is Oracle Express?
  • How does one stop/start an express instance?
  • How does one create an express database?
  • How does one query an express database?
  • How does one backup and recover Express Databases?
  • Does Oracle Express provide read consistency?
  • How does one write SPL scripts?
  • Can one abreviate Express commands?
  • How does one access relational data sources?
  • What is XCA and SNAPI?
  • Can one access Express data from C/ VB/ Powerbuilder, etc?
  • What does term XYZ stand for?
  • Where can I get more info about Oracle Express?

  • 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 Tools:

    OLAP Applications:

    Other products:

  • 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:

    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:

    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?

  • Back to top of file

  • Where can I get more info about Oracle Express?

  • Back to top of file

  • General: Home | Index | Preamble | Glossary | OraCorp | Papers | Fun | News | Events | Y2000 | Books | Links | Forums
    Products: SQL | Plus | Loader | PL/SQL | PreComp | OPO | OMO | OO4OLE | DBA | PQO | PSO | OCO | Net | ODBC | WebServer | Des2k | Dev2k
    Systems: MVS | Unix | Windows | WindowsNT | NetWare | VMS