AWM-Importing Analytical workspace thru XML

Need help in Oracle:AWM
I have been trying to load XML file to import the Analytical work space with DML statements.
I am not able to import AWS on server.It gives following error
Success <Line 1, Column 1>: XML-20108: (Fatal Error) Start of root element expected.
ORA-34684: All of your attached analytic workspaces are read-only.
Following is the code got from oracle site:
CREATE OR REPLACE PROCEDURE LOAD_AWM (DIR_NAME VARCHAR, XML_NAME VARCHAR) AS
clb CLOB;
infile BFILE;
dname varchar2(500);
sql_text varchar2(200);
BEGIN
DBMS_OUTPUT.PUT_LINE('started');
-- Create a temporary clob
DBMS_LOB.CREATETEMPORARY(clb, TRUE,10);
-- Create a BFILE use BFILENAME function
infile := BFILENAME(DIR_NAME,XML_NAME);
-- Open the BFILE
DBMS_LOB.fileopen(infile, dbms_lob.file_readonly);
DBMS_OUTPUT.PUT_LINE('File open...');
-- Load temporary clob from the BFILE
DBMS_LOB.LOADFROMFILE(clb,infile,DBMS_LOB.LOBMAXSIZE, 1, 1);
DBMS_OUTPUT.PUT_LINE('File load');
-- Close the BFILE
DBMS_LOB.fileclose(infile);
DBMS_OUTPUT.PUT_LINE('File close');
-- Create the GLOBAL analytic workspace
DBMS_OUTPUT.PUT_LINE(DBMS_AW_XML.execute(clb));
DBMS_AW.AW_UPDATE;
DBMS_OUTPUT.PUT_LINE('Awm Update.');
COMMIT;
-- Free the Temporary Clob
DBMS_LOB.FREETEMPORARY(clb);
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
There is no other instance open for which it can throw read-only error.
The XML file is kept in folder on UNIX server which has permissions as drwxrwxr-x
Please help in this issue.

Hi,
iam trying to install oracle 8i in fedora 4 with kernel version 2.6.11 and glibc-2.3.6-3
when iam trying to run ./runinstaller it is giving the following error.
And i want to know whether oracle 8i is supported on fedora 4. Plse tell me what all the linux flavours are supported for oracle 8i and also it is compatable for php4 or php5.
as we are trying to use php with oracle 8i database...!
######## error:
[oracle@localhost linux]$ ./runInstaller
Initializing Java Virtual Machine from ../stage/Components/oracle.swd.jre/1.1.8/1/DataFiles/Expanded/linux/bin/jre. Please wait...
Exception java.lang.NullPointerException occurred..
java.lang.NullPointerException
at sun.awt.motif.MComponentPeer.setFont(MComponentPeer.java:192)
at sun.awt.motif.MFramePeer.<init>(MFramePeer.java:68)
at sun.awt.motif.MToolkit.createFrame(MToolkit.java:137)
at java.awt.Frame.addNotify(Frame.java:196)
at java.awt.Window.show(Window.java:138)
at java.awt.Component.show(Component.java:528)
at java.awt.Component.setVisible(Component.java:490)
at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:419)
Plse help me...!
Thanks in advance..

Similar Messages

  • AWM: Enable Analytic Workspace for OLAP API

    Hi,
    I created an analytic workspace with Analytic Workspace Manager which is based on a relational star-schema.
    Now I want to access this analytical workspace by normal SQL-Statements. For this I executed in AWM the 'Enable Analytic Workspace for OLAP API and BI Beans ...' routine which generated views that contain the fact and dimension data.
    My problem is that these views are very huge, because they
    apparently store all possible combintations of dimension- and fact records. Most of the records contain only NULL values in the fact columns. I also used Composite Dimensions for the fact table in order to reduce sparsity.
    Is it normal to have such huge views with mostly NULL values? If yes, how can I handle this in order to get an acceptable performance.
    Here an example of a small fact table I use:
    A fact table with 5400 records with its two dimension tables (1129 and 233 rows, no hierarchies) produces 263057 rows in the view.
    Thanks for any help.

    Hi,
    First of all, thanks for the quick response flavio.
    Meanwhile I have found a solution to my problem:
    I don't use the 'Enable Analytic Workspace for OLAP API and BI Beans ...' routine of AWM anymore. Instead, I write my own statement for creating a relational view for the analytical workspace. The statement looks like following:
    create or replace force view costrate_cube as
    SELECT producttype_number, producttype_description, machine_sk, notok_costrate, production_costrate
    FROM TABLE(CAST(OLAP_TABLE(
    'costrate_aw DURATION SESSION',
    'costrate_table',
    'FETCH producttype_dim_producttype_number,
    producttype_dim_producttype_description,
    produnit_dim_machine_sk, produnit_dim_module_sk,
    notok_costrate_variable, production_costrate_variable
    USING <costrate_cube_composite>','') as costrate_table));
    The important part is the USING clause of the FETCH command. By using the composite of all dimensions of the cube, rows containing only null values in the fact columns are being eliminated. Now I get only the rows which are in my original relational fact table (which is what I wanted).
    Werner

  • Invisible structure in Analytic Workspace Manager after importing from EIF

    Hello,
    I got problem with migration OFA structure (6.3.4) to Oracle OLAP. My Oracle Database is 11.2 Enterprise Edition
    1. I've exported OFA database do eif file.
    2. I've created user in Oracle database, grant olap_user and created directory
    3. I installed Analytic Workspace Manager 11.2.0.3.0A
    4. After connection on Analytic Workspaces I run 'Create Analytic Workspace from EIF file ...' -> The import was succeeded
    Here is the problem - there is no visible imported structure in the tree under Analytic Workspaces. I think that structures were properly imported. That Analytic Workspace is in the sql results:
    select dbal.owner||'.'||substr(dbal.table_name,4) awname, sum(dbas.bytes)/1024/1024 as mb, dbas.tablespace_name from dba_lobs dbal, dba_segments dbas where dbal.column_name = 'AWLOB' and dbal.segment_name = dbas.segment_name group by dbal.owner, dbal.table_name, dbas.tablespace_name order by dbal.owner, dbal.table_name
    I've also tried using Analytic Workspace Manager Worksheet.
    AW CREATE OFA_TEST
    IMPORT ALL FROM EIF FILE 'c/baza.eif' DATA DFNS
    UPDATE
    COMMIT
    The results are the same :(
    What else should be done ? can anyone pls help me on this??
    Grzegorz

    Grzegorz,
    OFA to OLAP is not an easy thing if you are trying to do it by hand. That is why we built an OFA conversion utility into our product. Example time for Full OFA to OLAP/Escendo conversion is about three days for an OFA system of 300-400Gb, including data, processes (Solves) reports, saved selections etc.)
    Part of the problem is that OFA is an application which uses a ton of back end catalogs which drive everything. It also makes very heavy use of saved selections internally which makes straight export and import tough.
    The overall process is that all of the visible structures need to be created within OLAP so that they are visible. We support both 'public' (ergo visible, metadata based) objects as well as 'back end' structures which are not visible to the front end. If you need business logic translated over it can get complicated to do by hand as well, since things don't map directly into the way Oracle does things in AWM now, due to some differences between the architectures.
    One of the great things about putting your OFA into OLAP is that everything becomes available to any standard SQL reporting application.
    Our IDE is a full mulit-developer environment which allows multiple developers to work even within the same AW, for any operation, including creation of dimensions, measures etc. as well as the editing of code in programs & models.
    Are you just trying to get the data in? or are you wanting to use the system like you would use OFA?
    Karl

  • Error trying to Analytic Workspace using latest version AWM 10.1.0.4

    Windows XP Professional
    Oracle 10g with latest patch 4163362 (10.1.0.4)
    Installed AWM 10.1.0.4
    Installed GLOBAL schema
    Started AWM 10.1.0.4
    Connected to Database,everything fine
    Expanded Schema Folder, navigated to GLOBAL schema
    Right mouse click, selected "Created Analytical Workspace"
    The following error is encountered
    oracle.express.idl.util.OlapiException: ORA-04043: object "SYS"."GENRAWSEQUENCE" does not exist

    Please refer to the patchnote.htm that is bundled with 10.1.0.4.0 patch set. Only you are aware of what type of database configuration you have. You will want to pay close attention to "7.2.1.3 Set the SHARED_POOL_SIZE and JAVA_POOL_SIZE Initialization Parameters" and "7.2.2 Upgrade the Release 10.1 Database".
    Basically, I believe you have missed these required steps after installing the 10.1.0.4.0 patch set from the OUI:
    (pasted from the patchnote.htm)
    13.     Enter the following SQL*Plus commands:
    14.     SQL> STARTUP UPGRADE
    15.     SQL> SPOOL patch.log
    16.     SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\catpatch.sql
    17.     SQL> SPOOL OFF
    18.     
    19.     Review the patch.log file for errors and inspect the list of components that is displayed at the end of catpatch.sql script.
    This list provides the version and status of each SERVER component in the database.
    20.     If necessary, rerun the catpatch.sql script after correcting any problems.
    21.     Restart the database:
    22.     SQL> SHUTDOWN
    23.     SQL> STARTUP
    24.     
    25.     Run the utlrp.sql script to recompile all invalid PL/SQL packages now instead of when the packages are accessed for the first time. This step is optional but recommended.
    26.     SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\utlrp.sql

  • Analytic Workspaces and Database Tablespace

    Hi,
    I am trying to understand the intricacies in the setup of Analytic Workspaces and their corresponding tablespaces in the database, and here is the background:
    I created an Analytic Workspace, say AW1 in a database that had a tablespace, say TS1. After sometime, I created another Tablespace, TS2 in the same database and using the same schema as before, created an Analytic Workspace, AW2 in TS2.
    However, AW2 seems to get created in TS1 even though I select TS2 explicitly at the time of creating AW2. Also, if I drop an AW created using TS2 and then import it again (in the same schema) from the template, it gets created in TS1 and not TS2 as I would expect.
    In essence, it seems to me that all AWs get created in the TS that was the first TS of my database (TS1 in this case), irrespective of the fact that I created them in different Tablespaces. Also, for all these experiments, the database and the environment is the same.
    Can anyone please explain this behavior?
    For reference, the database in use is Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
    and the AWs have been created using Oracle Analytic Workspace Manager (AWM) v10.2.0.3.0A.
    Any help is much appreciated.
    Thanks and Regards,
    Piyush

    Hi Piyush,
    AWM lets you specify the tablespace for your AW which allows you to override the default tablespace for the user. However, this information is not recorded in the XML template. Therefore, if you create an AW in a non-default tablespace, save the definition to an XML template, drop the AW and use the XML template to rebuild the AW then the AW will get created in the default tablespace.
    There are two workarounds to this (that I can think of)
    1) Use a script to rebuild the AW from the XML template and alter the users default tablespace as part of the script and then set it back after the AW has been built.
    2) Use the AW Create packages that do allow you to specify the tablespace for the AW, run the DML command to create the standard form metadata and then script the loading of the XML definitions for each dimension and all your cubes.
    Hope this helps
    Keith Laker
    Oracle EMEA Consulting
    BI Blog: http://oraclebi.blogspot.com/
    DM Blog: http://oracledmt.blogspot.com/
    BI on Oracle: http://www.oracle.com/bi/
    BI on OTN: http://www.oracle.com/technology/products/bi/
    BI Samples: http://www.oracle.com/technology/products/bi/samples/

  • Deployment of Analytic Workspace

    Hi,
    I have a query regarding the deployment of an AW in various environments like dev, test and live.
    When we first create the AW in dev environment, we specify an AW name and the tablespace to be allocated for that particular AW. For deploying the AW in different environment, we use the XML template that is exported from the AW using 'Export Analytic Workspace to Template' option. But while creating the AW from template, there is no option to specify the tablespace for the new environment.
    Could anyone please help me how tablespace can be specified while deploying AW in other environments.
    Thanking in advance,
    Mainak

    This is a bit of a hack, but it will work
    Towards the end of the XML template file you should see an entry something like this.
    <AW
      Name="MY_AW"
      Version="11.2">
    </AW>The name of the AW will obviously be different, and the version may be different as well. It doesn't matter because you will just delete the section from the XML document.
    Now in AWM you first create an empty AW using the simple "Create Analytical Workspace..." option. This will allow you to specify a tablespace. Once you have done this you select "Create Analytical Workspace From Template..." and import your objects into the AW you just created. Note that you must create an AW with the same name as the original as it is embedded into the XML for the cubes and dimensions.
    The more sophisticated version of this is to delete the AW section above and then add a header to the XML template
    <!DOCTYPE Metadata [
      <!ENTITY % BIND_VALUES PUBLIC "OLAP BIND VALUES" "OLAP METADATA">
      %BIND_VALUES;
      ]>Finally you replace all occurrences of your AW name with the string
    &AW_NAME;For example, instead of
    <AWPrimaryDimensionOrganization
      MVOption="NONE"
      HierarchyConsistencyRule="STAR_CONSISTENT"
      AddUniqueKeyPrefix="False"
      AW="MY_AW">you would have
    <AWPrimaryDimensionOrganization
      MVOption="NONE"
      HierarchyConsistencyRule="STAR_CONSISTENT"
      AddUniqueKeyPrefix="False"
      AW="&AW_NAME;">You can see this type of XML if you export a single cube or dimension to a template. I don't know why AWM doesn't let you do the same thing for the whole AW.

  • Creating an Analytic Workspace

    Hi,
    i want to create an analytic Workspace without the AWM, but I want to see the Dimensions Cubes, etc what I create in the AWM. I Work with the AWM 10.2.0.3.0. What packages must I use for it? Someone say I must use the cwm2 and the dbms package an otherone say that I must use the AW/XML package.
    Give it a Example for Creating an AWM??
    Thanks

    If you want to create the AW without manually sitting in front of the AWM, Oracle prefers you to use the AWXML and AWAction packages in Java. If you have the AWM installed on your machine, you have the jar files you need in the AWM install directory. Download JDEV and try to load and compile this example program as a way to start learning the library.
    package oracle.olapi.examples;
    import oracle.AWAction.BuildDatabase;
    import oracle.AWAction.Interaction;
    import oracle.AWXML.AggregationDefinition;
    import oracle.AWXML.AggregationHierarchySpecification;
    import oracle.AWXML.Attribute;
    import oracle.AWXML.AttributeProjection;
    import oracle.AWXML.AttributeSourceExpression;
    import oracle.AWXML.AW;
    import oracle.AWXML.AWConnection;
    import oracle.AWXML.Cube;
    import oracle.AWXML.CubeDimensionSourceExpression;
    import oracle.AWXML.CubeDimRef;
    import oracle.AWXML.CubeMapGroup;
    import oracle.AWXML.Dimension;
    import oracle.AWXML.DimensionKeySourceExpression;
    import oracle.AWXML.DimensionMapGroup;
    import oracle.AWXML.DimensionMemberExpression;
    import oracle.AWXML.HierarchicalParentSourceExpression;
    import oracle.AWXML.Hierarchy;
    import oracle.AWXML.HierarchyLevelAssociation;
    import oracle.AWXML.Level;
    import oracle.AWXML.Measure;
    import oracle.AWXML.MeasureFolder;
    import oracle.AWXML.MeasureSourceExpression;
    import oracle.AWXML.PreComputeClause;
    import oracle.AWXML.SourceColumn;
    import oracle.express.spl.SPLExecutor;
    import oracle.jdbc.OracleConnection;
    import java.io.File;
    import java.io.FileWriter;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Iterator;
    import java.util.Properties;
    import java.util.StringTokenizer;
    import java.util.Vector;
    * Creates an analytic workspace based on the Global schema and populates
    * the analytic workspace with data from the tables of that relational schema.
    * Before creating the analytic workspace, the program deletes an analytic
    * workspace of the same name if it already exists.
    * The program generates a log file and it creates a file that records the
    * creation of the Oracle OLAP Analytic Workspace Java API objects as an XML string.
    * This program requires the Global schema, which is available on the Oracle
    * Technology Network at
    * http://www.oracle.com/technology/products/bi/olap/olap.html
    * To download the sample schema, in the Documentation section see Sample
    * Schemas for Documentation.
    * To run this program, use the following command-line arguments, where
    * server_name is the server on which the Oracle Database is running,
    * port is the number of the port on which Oracle OLAP is listening,
    * and sid is the system identifier (SID) of the database instance:
    * -conn server_name:port:sid -user global_aw -password global_aw
    * Instead of the -conn argument, you could substitute a -url argument
    * of the following form:
    * -url jdbc:oracle:thin:@server_name:port:sid
    * An example of the command-line arguments is the following:
    * -conn myOracleServer:1521:orcl -user global_aw -password global_aw
    public class BuildAWExample extends BaseExample
    public static AWConnection awConnection;
    private Interaction curInteraction;
    // The elements in the _keys Vector are the relational key columns to which
    // a Level is mapped.
    Vector _keys = new Vector(0);
    // The elements in the _cols Vector are the relational columns to which
    // the attributes for a Level are mapped.
    Vector _cols = new Vector(0);
    // The elements in the _levels Vector are the Level objects for specifying
    // the levels of a hierarchy.
    Vector _levels = new Vector(0);
    // The elements in the _levColumns Vector are the relation columns to which
    // the levels of the hierarchy are mapped.
    Vector _levColumns = new Vector(0);
    Vector _dimList = new Vector(0);
    Vector _measures = new Vector(0);
    Vector _measCols = new Vector(0);
    // File name for writing the XML string.
    String xmlStr = "buildAWEx.xml";
    // File for AW build log.
    String xmlBldStr = "buildAWEx.log";
    * Constructor.
    public void BuildAWExample()
    * Creates the top-level objects for the analytic workspace and calls methods
    * that create the lower-level objects.
    * Writes the analytic workspace objects to an XML string.
    * Builds the analytic workspace framework and populates the analytic
    * workspace with data.
    * Connects to the Oracle Database instance, retrieves information
    * about the construction of the analytic workspace, and writes the
    * information to a log file.
    * Finally, closes the connection to the database.
    public void run() throws Exception
    // Get the command line arguments that are stored in the Properties object.
    String connection = getConnectionProperty(props);
    String user = props.getProperty("user");
    String password = props.getProperty("password");
    // Create the AWConnection.
    try
    System.out.println("Connecting to " + connection + ".");
    awConnection = new AWConnection(user, password, connection);
    catch(Exception e)
    System.out.println("Error connecting to " + connection + ".\n" + e);
    // Specify a name for the analytic workspace.
    String awName = "GLOBALAW";
    // Delete the analytic workspace if it already exists.
    deleteExistingAW(awConnection, user, awName);
    // Create an AW object and give it a name.
    AW globalAW = new AW();
    globalAW.setName(awName);
    // Create Dimension objects, and pass each Dimension to a method that
    // creates Attribute, Hierarchy, and Level objects for it.
    // Create the TIME_AW Dimension and set names for the object.
    Dimension timeDim = globalAW.createDimension();
    timeDim.setName("TIME_AW");
    timeDim.setShortName("TIME_AW");
    timeDim.setLongName("TIME_AW dimension");
    timeDim.setIsTime(true);
    // Create the Attribute, Level, and Hierarchy objects for the Dimension.
    this.createTimeDim(timeDim);
    // Get the detail level to use when creating a Cube.
    Vector timelevels = timeDim.getLevels();
    Level monthLevel = (Level)_time_levels.elementAt(0);
    // Create the CUSTOMER_AW Dimension and set names for the object.
    Dimension customerDim = globalAW.createDimension();
    customerDim.setName("CUSTOMER_AW");
    customerDim.setShortName("CUSTOMER_AW");
    customerDim.setLongName("CUSTOMER_AW dimension");
    // Create the Attribute, Level, and Hierarchy objects for the Dimension.
    this.createCustomerDim(customerDim);
    // Get the detail level to use when creating a Cube.
    Vector customerDim_levels = customerDim.getLevels();
    Level shipToLevel = (Level)customerDim_levels.elementAt(0);
    // Create the PRODUCT_AW Dimension and set names for the object.
    Dimension productDim = globalAW.createDimension();
    productDim.setName("PRODUCT_AW");
    productDim.setShortName("PRODUCT_AW");
    productDim.setLongName("PRODUCT_AW Dimension");
    // Create the Attribute, Level, and Hierarchy objects for the Dimension.
    this.createProductDim(productDim);
    // Get the detail level to use when creating a Cube.
    Vector productDim_levels = productDim.getLevels();
    Level itemLevel = (Level)productDim_levels.elementAt(0);
    // Create the CHANNEL_AW Dimension and set names for the object.
    Dimension channelDim = globalAW.createDimension();
    channelDim.setName("CHANNEL_AW");
    channelDim.setShortName("CHANNEL_AW");
    channelDim.setLongName("CHANNEL_AW dimension");
    // Create the Attribute, Level, and Hierarchy objects for the Dimension.
    this.createChannelDimension(channelDim);
    // Get the detail level, which is shared by all dimension hierarchies,
    // to use when creating a Cube.
    Vector channellevels = channelDim.getLevels();
    Level channelLevel = (Level)_channel_levels.elementAt(0);
    // Create the UNITS_CUBE_AW Cube and the measures to associate with it.
    this.clearCubeMapVectors();
    Cube unitsCube = globalAW.createCube();
    unitsCube.setName("UNITS_CUBE_AW");
    // Add the dimensions to the _dimList Vector.
    _dimList.add(timeDim);
    _dimList.add(customerDim);
    _dimList.add(productDim);
    _dimList.add(channelDim);
    // Specify the dimensions for the Cube.
    this.associateCubeDimensions(unitsCube, _dimList);
    // Create an aggregation map for the Cube.
    this.precomputeNA(unitsCube, "AGGMAP_UC");
    // Create a Measure for the quantities of units sold.
    Measure units = unitsCube.createMeasure();
    units.setName("UNITS_AW");
    units.setShortName("UNITS_AW");
    units.setLongName("UNITS_AW measure");
    units.setDataType("NUMBER");
    // Add the Measure to the _measures Vector.
    _measures.add(units);
    // Add the column of the Global schema relational table to the
    // _measCols Vector.
    measCols.add("GLOBAL.UNITSHISTORY_FACT.UNITS");
    // Create a Measure for the monetary amount of units sold.
    Measure sales = unitsCube.createMeasure();
    sales.setName("SALES_AW");
    sales.setShortName("SALES_AW");
    sales.setLongName("SALES_AW measure");
    sales.setDataType("NUMBER");
    _measures.add(sales);
    _measCols.add("GLOBAL.UNITS_HISTORY_FACT.SALES");
    // Add the detail levels for the dimensions to the _levels Vector and
    // the relational columns for the levels to the _cols Vector.
    _levels.add(monthLevel);
    _cols.add("GLOBAL.UNITS_HISTORY_FACT.MONTH_ID");
    _levels.add(shipToLevel);
    _cols.add("GLOBAL.UNITS_HISTORY_FACT.SHIP_TO_ID");
    _levels.add(itemLevel);
    _cols.add("GLOBAL.UNITS_HISTORY_FACT.ITEM_ID");
    _levels.add(channelLevel);
    _cols.add("GLOBAL.UNITS_HISTORY_FACT.CHANNEL_ID");
    // Map the columns of the relational tables to the dimensions and measures
    // of the analytic workspace Cube.
    this.createCubeMap(unitsCube, _levels, _cols, _measures, _measCols);
    // Create the PRICE_COST_CUBE_AW Cube and the measures to associate with it.
    this.clearCubeMapVectors();
    Cube priceCostCube = globalAW.createCube();
    priceCostCube.setName("PRICE_COST_CUBE_AW");
    _dimList.add(productDim);
    _dimList.add(timeDim);
    this.associateCubeDimensions(priceCostCube, _dimList);
    this.precomputeNA(priceCostCube, "AGGMAP_PCC");
    // Create a Measure for unit prices.
    Measure price = priceCostCube.createMeasure();
    price.setName("UNIT_PRICE_AW");
    price.setShortName("UNIT_PRICE_AW");
    price.setLongName("UNIT_PRICE_AW measure");
    price.setDataType("NUMBER");
    _measures.add(price);
    _measCols.add("GLOBAL.PRICE_AND_COST_HIST_FACT.UNIT_PRICE");
    // Create a Measure for unit costs.
    Measure cost = priceCostCube.createMeasure();
    cost.setName("UNIT_COST_AW");
    price.setShortName("UNIT_COST_AW");
    cost.setLongName("UNIT_COST_AW measure");
    cost.setDataType("NUMBER");
    _measures.add(cost);
    _measCols.add("GLOBAL.PRICE_AND_COST_HIST_FACT.UNIT_COST");
    _levels.add(itemLevel);
    _cols.add("GLOBAL.PRICE_AND_COST_HIST_FACT.ITEM_ID");
    _levels.add(monthLevel);
    _cols.add("GLOBAL.PRICE_AND_COST_HIST_FACT.MONTH_ID");
    this.createCubeMap(priceCostCube, _levels, _cols, _measures, _measCols);
    // Create a MeasureFolder and add the measures to it.
    // A MeasureFolder appears as an MdmSchema object to an
    // Oracle OLAP Java API application.
    MeasureFolder measureFolder = globalAW.createMeasureFolder();
    measureFolder.setName("GLOBALAW_SCHEMA");
    measureFolder.setShortName("GLOBALAW_SCHEMA");
    measureFolder.setLongName("GLOBALAW_SCHEMA schema");
    measureFolder.addMeasure(units);
    measureFolder.addMeasure(sales);
    measureFolder.addMeasure(cost);
    measureFolder.addMeasure(price);
    // Write the XML string for the analytic workspace.
    String XML = globalAW.WriteToXML();
    try
    File xmlFile = new File(xmlStr);
    FileWriter xmlout = new FileWriter(xmlFile);
    xmlout.write(XML);
    xmlout.write("\n");
    xmlout.close();
    catch (Exception e)
    System.out.println("Failure to write XML string to file: " +
    e.toString());
    // Build the analytic workspace framework.
    System.out.println("Building the " + awName + " framework.");
    globalAW.Create(awConnection);
    globalAW.Commit(awConnection);
    System.out.println(awName + " framework built!");
    // Populate the analytic workspace with the metadata objects and
    // the data from the relational schema.
    System.out.println("Populating " + awName + "." );
    try
    xml_build_global_aw(awName);
    catch(Exception e)
    System.out.println("The following error occurred while building "
    + awName + ":\n\t" + e.toString());
    // Connect to the Oracle Database instance and retrieve information
    // about building the analytic workspace.
    try
    // Create a DriverManager.
    DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
    // Create a connection to the Oracle Database instance.
    OracleConnection o_connection =
    (OracleConnection)DriverManager.getConnection("jdbc:oracle:thin:@" +
    connection, user, password);
    // Get information from the olapsys.xml_load_log table.
    String result = null;
    String sqlText = "select distinct xml_loadid " +
    "from olapsys.xml_load_log " +
    "order by xml_loadid desc";
    Statement sqlStmt = o_connection.createStatement();
    ResultSet rs = sqlStmt.executeQuery(sqlText);
    if(rs.next())
    // Get the first value.
    int loadid = rs.getInt(1);
    rs.close();
    // Now get the rest of the log without the timestamp for easy diffing.
    sqlText = "select SUBSTR(xml_message, 9) xml_message " +
    "from olapsys.xml_load_log " +
    "where xml_loadid = " + loadid + " " +
    "order by xml_loadid, xml_recordid";
    rs = sqlStmt.executeQuery(sqlText);
    String tempResult;
    while(rs.next())
    tempResult = rs.getString(1);
    if(result == null)
    result = tempResult.trim();
    else
    result = result + "\n" + tempResult.trim();
    // Write the information to a file.
    try
    File xmlBuildLog = new File(xmlBldStr);
    FileWriter xmlBldout = new FileWriter(xmlBuildLog);
    xmlBldout.write(result);
    xmlBldout.write("\n");
    xmlBldout.close();
    catch (Exception e)
    System.out.println("Failure to write XML build log: " + e.toString());
    catch(Exception e)
    System.out.println("Verifier failure with " + e.toString());
    // Close the connection to the database.
    awConnection.close();
    * Builds the analytic workspace.
    public void xml_build_global_aw(String awName)
    // Create an Interaction object for building the analytic workspace.
    curInteraction = new Interaction();
    // Set the AWConnection to use when building the analytic workspace.
    curInteraction.setConnection(awConnection);
    // Create an BuildDatabase object.
    BuildDatabase myBuild =
    (BuildDatabase)curInteraction.createAction("BUILDDATABASE");
    // Set the name of the analytic workspace.
    myBuild.setAWName(awName);
    // Specify not running solves when building the database.
    myBuild.setRunSolve(false);
    // Build the analytic workspace.
    myBuild.Execute();
    * Creates Attribute, Level, and Hierarchy objects for the Time Dimension.
    public void createTimeDim(Dimension timeDim)
    // Indicate that the primary key of the dimension table contains the
    // lowest-level dimension members.
    timeDim.setUseNativeKey(true);
    // Create the Long and Short Description Attribute objects for the Dimension.
    Attribute timeLDAttr = createLongDescAttr(timeDim);
    Attribute timeSDAttr = createShortDescAttr(timeDim);
    // Create the End_Date and Time_Span Attribute objects.
    Attribute timeEndDateAttr = timeDim.createAttribute();
    timeEndDateAttr.setName("End_Date");
    timeEndDateAttr.setClassification("END_DATE");
    Attribute timeTimeSpanAttr = timeDim.createAttribute();
    timeTimeSpanAttr.setName("Time_Span");
    timeTimeSpanAttr.setClassification("TIME_SPAN");
    // Create the Level objects for the Dimension.
    // Create the detail level, MONTH_AW.
    Level monthLevel = timeDim.createLevel();
    monthLevel.setName("MONTH_AW");
    monthLevel.setShortName("MONTH_AW");
    monthLevel.setLongName("MONTH_AW level");
    // Create AttributeProjection objects for the attributes for the
    // MONTH_AW Level.
    this.setupAttributeProjection(monthLevel, "Long Description", timeLDAttr);
    this.setupAttributeProjection(monthLevel, "Short Description", timeSDAttr);
    this.setupAttributeProjection(monthLevel, "End Date", timeEndDateAttr);
    this.setupAttributeProjection(monthLevel, "Time Span", timeTimeSpanAttr);
    this.clearLevelMapVectors();
    _keys.add("GLOBAL.TIME_DIM.MONTH_ID");
    _cols.add("GLOBAL.TIME_DIM.MONTH_DSC"); // Long description
    _cols.add("GLOBAL.TIME_DIM.MONTH_DSC"); // Short description
    _cols.add("GLOBAL.TIME_DIM.MONTH_END_DATE");
    _cols.add("GLOBAL.TIME_DIM.MONTH_TIMESPAN");
    this.createLevelMap(monthLevel, _keys,_cols);
    // Create the QUARTER_AW Level.
    Level quarterLevel = timeDim.createLevel();
    quarterLevel.setName("QUARTER_AW");
    quarterLevel.setShortName("QUARTER_AW");
    quarterLevel.setLongName("QUARTER_AW level");
    // Create AttributeProjection objects for the attributes for the
    // QUARTER_AW Level.
    this.setupAttributeProjection(quarterLevel, "Long Description",
    timeLDAttr);
    this.setupAttributeProjection(quarterLevel, "Short Description",
    timeSDAttr);
    this.setupAttributeProjection(quarterLevel, "End Date", timeEndDateAttr);
    this.setupAttributeProjection(quarterLevel, "Time Span", timeTimeSpanAttr);
    this.clearLevelMapVectors();
    _keys.add("GLOBAL.TIME_DIM.QUARTER_ID");
    _cols.add("GLOBAL.TIME_DIM.QUARTER_DSC"); // Long description
    _cols.add("GLOBAL.TIME_DIM.QUARTER_DSC"); // Short description
    _cols.add("GLOBAL.TIME_DIM.QUARTER_END_DATE");
    _cols.add("GLOBAL.TIME_DIM.QUARTER_TIMESPAN");
    this.createLevelMap(quarterLevel, _keys, _cols);
    // Create the top level, YEAR_AW.
    Level yearLevel = timeDim.createLevel();
    yearLevel.setName("YEAR_AW");
    yearLevel.setShortName("YEAR_AW");
    yearLevel.setLongName("YEAR_AW level");
    // Create AttributeProjection objects for the attributes for the
    // YEAR_AW Level.
    this.setupAttributeProjection(yearLevel, "Long Description", timeLDAttr);
    this.setupAttributeProjection(yearLevel, "Short Description", timeSDAttr);
    this.setupAttributeProjection(yearLevel, "End Date", timeEndDateAttr);
    this.setupAttributeProjection(yearLevel, "Time Span", timeTimeSpanAttr);
    this.clearLevelMapVectors();
    _keys.add("GLOBAL.TIME_DIM.YEAR_ID");
    _cols.add("GLOBAL.TIME_DIM.YEAR_DSC"); // Long description
    _cols.add("GLOBAL.TIME_DIM.YEAR_DSC"); // Short description
    _cols.add("GLOBAL.TIME_DIM.YEAR_END_DATE");
    _cols.add("GLOBAL.TIME_DIM.YEAR_TIMESPAN");
    this.createLevelMap(yearLevel, _keys, _cols);
    // Create the CALENDAR_YEAR_AW Hierarchy.
    Hierarchy calendarYearHier = timeDim.createHierarchy();
    calendarYearHier.setName("CALENDAR_YEAR_AW");
    calendarYearHier.setShortName("CALENDAR_YEAR_AW");
    calendarYearHier.setLongName("CALENDAR_YEAR_AW hierarchy");
    // Add the Level objects for the Hierarchy, and the columns for them,
    // to Vector objects in the hierarcharchical order of the levels,
    // with the top level first.
    this.clearHierarchyMapVectors();
    _levels.add(yearLevel);
    _levColumns.add("GLOBAL.TIME_DIM.YEAR_ID");
    _levels.add(quarterLevel);
    _levColumns.add("GLOBAL.TIME_DIM.QUARTER_ID");
    _levels.add(monthLevel);
    _levColumns.add("GLOBAL.TIME_DIM.MONTH_ID");
    // Specify the levels for the hierarchy and map them to relational columns.
    this.createHierarchyMap(calendarYearHier, _levels, _levColumns);
    * Create the Long_Description Attribute for a Dimension.
    public Attribute createLongDescAttr(Dimension dim)
    Attribute ldAttr = dim.createAttribute();
    ldAttr.setName("Long_Description");
    ldAttr.setClassification("MEMBER_LONG_DESCRIPTION");
    return ldAttr;
    * Creates Attribute, Hierarchy, and Level objects for the Customer Dimension.
    public void createCustomerDim(Dimension customerDim)
    // Indicate that the primary key of the dimension table contains the
    // lowest-level dimension members.
    customerDim.setUseNativeKey(true);
    // Create the Long and Short Description Attribute objects for the Dimension.
    Attribute customerLDAttr = createLongDescAttr(customerDim);
    Attribute customerSDAttr = createShortDescAttr(customerDim);
    // Create Level objects for the SHIPMENTS_AW Hierarchy.
    // Create the detail level, SHIP_TO_AW.
    // This level is in both of the hierarchies of the Customer Dimension.
    Level customerShip_ToLevel = customerDim.createLevel();
    customerShip_ToLevel.setName("SHIP_TO_AW");
    customerShip_ToLevel.setShortName("SHIP_TO_AW");
    customerShip_ToLevel.setLongName("SHIP_TO_AW level");
    // Create the Long and Short Description AttributeProjection objects for
    // SHIP_TO_AW Level.
    this.setupAttributeProjection(customerShip_ToLevel, "Long Description",
    customerLDAttr);
    this.setupAttributeProjection(customerShip_ToLevel, "Short Description",
    customerSDAttr);
    this.clearLevelMapVectors();
    _keys.add("GLOBAL.CUSTOMER_DIM.SHIP_TO_ID");
    _cols.add("GLOBAL.CUSTOMER_DIM.SHIP_TO_DSC"); // Long description
    _cols.add("GLOBAL.CUSTOMER_DIM.SHIP_TO_DSC"); // Short description
    this.createLevelMap(customerShip_ToLevel, _keys, _cols);
    // Create the WAREHOUSE_AW level.
    Level customerWarehouseLevel = customerDim.createLevel();
    customerWarehouseLevel.setName("WAREHOUSE_AW");
    customerWarehouseLevel.setShortName("WAREHOUSE_AW");
    customerWarehouseLevel.setLongName("WAREHOUSE_AW level");
    // Create the Long and Short Description AttributeProjection objects for
    // WAREHOUSE_AW Level.
    this.setupAttributeProjection(customerWarehouseLevel, "Long Description",
    customerLDAttr);
    this.setupAttributeProjection(customerWarehouseLevel, "Short Description",
    customerSDAttr);
    this.clearLevelMapVectors();
    _keys.add("GLOBAL.CUSTOMER_DIM.WAREHOUSE_ID");
    _cols.add("GLOBAL.CUSTOMER_DIM.WAREHOUSE_DSC"); // Long description
    _cols.add("GLOBAL.CUSTOMER_DIM.WAREHOUSE_DSC"); // Short description
    this.createLevelMap(customerWarehouseLevel, _keys, _cols);
    // Create the REGION_AW Level.
    Level custRegionLevel = customerDim.createLevel();
    custRegionLevel.setName("REGION_AW");
    custRegionLevel.setShortName("REGION_AW");
    custRegionLevel.setLongName("REGION_AW level");
    // Create the Long and Short Description AttributeProjection objects for
    // the REGION_AW Level.
    this.setupAttributeProjection(custRegionLevel, "Long Description",
    customerLDAttr);
    this.setupAttributeProjection(custRegionLevel, "Short Description",
    customerSDAttr);
    this.clearLevelMapVectors();
    _keys.add("GLOBAL.CUSTOMER_DIM.REGION_ID");
    _cols.add("GLOBAL.CUSTOMER_DIM.REGION_DSC"); // Long description
    _cols.add("GLOBAL.CUSTOMER_DIM.REGION_DSC"); // Short description
    this.createLevelMap(custRegionLevel, _keys, _cols);
    // Create the top level, TOTAL_CUSTOMER_AW.
    Level allCustomersLevel = customerDim.createLevel();
    allCustomersLevel.setName("TOTAL_CUSTOMER_AW");
    allCustomersLevel.setShortName("TOTAL_CUSTOMER_AW");
    allCustomersLevel.setLongName("TOTAL_CUSTOMER_AW level");
    // Create the Long and Short Description AttributeProjection objects for
    // the ALL_CUSTOMERS_AW Level.
    this.setupAttributeProjection(allCustomersLevel, "Long Description",
    customerLDAttr);
    this.setupAttributeProjection(allCustomersLevel, "Short Description",
    customerSDAttr);
    this.clearLevelMapVectors();
    _keys.add("GLOBAL.CUSTOMER_DIM.TOTAL_CUSTOMER_ID");
    _cols.add("GLOBAL.CUSTOMER_DIM.TOTAL_CUSTOMER_DSC"); // Long description
    _cols.add("GLOBAL.CUSTOMER_DIM.TOTAL_CUSTOMER_DSC"); // Short description
    this.createLevelMap(allCustomersLevel, _keys, _cols);
    // Create the SHIPMENTS_AW Hierarchy.
    Hierarchy shipmentsHier = customerDim.createHierarchy();
    shipmentsHier.setName("SHIPMENTS_AW");
    shipmentsHier.setShortName("SHIPMENTS_AW");
    shipmentsHier.setLongName("SHIPMENTS_AW hierarchy");
    // Add the Level objects for the Hierarchy, and the columns for them,
    // to Vector objects in the hierarcharchical order of the levels,
    // with the top level first.
    this.clearHierarchyMapVectors();
    _levels.add(allCustomersLevel);
    _levColumns.add("GLOBAL.CUSTOMER_DIM.TOTAL_CUSTOMER_ID");
    _levels.add(custRegionLevel);
    _levColumns.add("GLOBAL.CUSTOMER_DIM.REGION_ID");
    _levels.add(customerWarehouseLevel);
    _levColumns.add("GLOBAL.CUSTOMER_DIM.WAREHOUSE_ID");
    _levels.add(customerShip_ToLevel);
    _levColumns.add("GLOBAL.CUSTOMER_DIM.SHIP_TO_ID");
    // Specify the levels for the hierarchy and map them to relational columns.
    this.createHierarchyMap(shipmentsHier, _levels, _levColumns);
    // Create Level objects for the MARKET_SEGMENT_AW Hierarchy.
    // Create the ACCOUNT_AW Level.
    Level customerAccountLevel = customerDim.createLevel();
    customerAccountLevel.setName("ACCOUNT_AW");
    customerAccountLevel.setShortName("ACCOUNT_AW");
    customerAccountLevel.setLongName("ACCOUNT_AW level");
    // Create the Long and Short Description AttributeProjection objects for
    // the ACCOUNT_AW Level.
    this.setupAttributeProjection(customerAccountLevel, "Long Description",
    customerLDAttr);
    this.setupAttributeProjection(customerAccountLevel, "Short Description",
    customerSDAttr);
    this.clearLevelMapVectors();
    _keys.add("GLOBAL.CUSTOMER_DIM.ACCOUNT_ID");
    _cols.add("GLOBAL.CUSTOMER_DIM.ACCOUNT_DSC"); // Long description
    _cols.add("GLOBAL.CUSTOMER_DIM.ACCOUNT_DSC"); // Short description
    this.createLevelMap(customerAccountLevel, _keys, _cols);
    // Create the MARKET_SEGMENT_AW Level.
    Level customerMktSegmentLevel = customerDim.createLevel();
    customerMktSegmentLevel.setName("MARKET_SEGMENT_AW");
    customerMktSegmentLevel.setShortName("MARKET_SEGMENT_AW");
    customerMktSegmentLevel.setLongName("MARKET_SEGMENT_AW level");
    // Create the Long and Short Description AttributeProjection objects for
    // the MARKET_SEGMENT_AW Level.
    this.setupAttributeProjection(customerMktSegmentLevel, "Long Description",
    customerLDAttr);
    this.setupAttributeProjection(customerMktSegmentLevel, "Short Description",
    customerSDAttr);
    this.clearLevelMapVectors();
    _keys.add("GLOBAL.CUSTOMER_DIM.MARKET_SEGMENT_ID");
    _cols.add("GLOBAL.CUSTOMER_DIM.MARKET_SEGMENT_DSC"); // Long description
    _cols.add("GLOBAL.CUSTOMER_DIM.MARKET_SEGMENT_DSC"); // Short description
    this.createLevelMap(customerMktSegmentLevel, _keys, _cols);
    // Create the top level, TOTAL_MARKET_AW.
    Level customerTotalMktLevel = customerDim.createLevel();
    customerTotalMktLevel.setName("TOTAL_MARKET_AW");
    customerTotalMktLevel.setShortName("TOTAL_MARKET_AW");
    customerTotalMktLevel.setLongName("TOTAL_MARKET_AW level");
    // Create AttributeProjection objects for the long and short description
    // attributes for the TOTAL_MARKET_AW Level.
    this.setupAttributeProjection(customerTotalMktLevel, "Long Description",
    customerLDAttr);
    this.setupAttributeProjection(customerTotalMktLevel, "Short Description",
    customerSDAttr);
    this.clearLevelMapVectors();
    _keys.add("GLOBAL.CUSTOMER_DIM.TOTAL_MARKET_ID");
    _cols.add("GLOBAL.CUSTOMER_DIM.TOTAL_MARKET_DSC"); // Long description
    _cols.add("GLOBAL.CUSTOMER_DIM.TOTAL_MARKET_DSC"); // Short description
    this.createLevelMap(customerTotalMktLevel, _keys, _cols);
    // Create the MARKET_SEGMENT_AW Hierarchy.
    Hierarchy marketSegmentHier = customerDim.createHierarchy();
    marketSegmentHier.setName("MARKET_SEGMENT_AW");
    marketSegmentHier.setShortName("MARKET_SEGMENT_AW");
    marketSegmentHier.setLongName("MARKET_SEGMENT_AW hierarchy");
    // Add the Level objects for the Hierarchy, and the columns for them,
    // to Vector objects in the hierarcharchical order of the levels,
    // with the top level first.
    this.clearHierarchyMapVectors();
    _levels.add(customerTotalMktLevel);
    _levColumns.add("GLOBAL.CUSTOMER_DIM.TOTAL_MARKET_ID");
    _levels.add(customerMktSegmentLevel);
    _levColumns.add("GLOBAL.CUSTOMER_DIM.MARKET_SEGMENT_ID");
    _levels.add(customerAccountLevel);
    _levColumns.add("GLOBAL.CUSTOMER_DIM.ACCOUNT_ID");
    _levels.add(customerShip_ToLevel);
    _levColumns.add("GLOBAL.CUSTOMER_DIM.SHIP_TO_ID");
    // Specify the levels for the hierarchy and map them to relational columns.
    this.createHierarchyMap(marketSegmentHier, _levels, _levColumns);
    * Creates Attribute, Level, and Hierarchy objects for the Product Dimension.
    public void createProductDim(Dimension productDim)
    // Indicate that the primary key of the dimension table contains the
    // lowest-level dimension members.
    productDim.setUseNativeKey(true);
    // Create the Attribute objects for the Dimension.
    Attribute packageAttr = productDim.createAttribute();
    packageAttr.setName("PACKAGE_AW");
    packageAttr.setClassification("USER");
    Attribute buyerAttr = productDim.createAttribute();
    buyerAttr.setName("BUYER_AW");
    buyerAttr.setClassification("USER");
    Attribute mktMngrAttr = productDim.createAttribute();
    mktMngrAttr.setName("MARKETING_MANAGER_AW");
    mktMngrAttr.setClassification("USER");
    Attribute productLDAttr = createLongDescAttr(productDim);
    Attribute productSDAttr = createShortDescAttr(productDim);
    // Create the detail level, ITEM_AW.
    Level itemLevel = productDim.createLevel();
    itemLevel.setName("ITEM_AW");
    itemLevel.setShortName("ITEM_AW");
    itemLevel.setLongName("ITEM_AW level");
    // Create AttributeProjection objects for the attributes for the
    // ITEM_AW Level.
    this.setupAttributeProjection(itemLevel, "PACKAGE_AW", packageAttr);
    this.setupAttributeProjection(itemLevel, "BUYER_AW", buyerAttr);
    this.setupAttributeProjection(itemLevel, "MARKETING_MANAGER_AW", mktMngrAttr);
    this.setupAttributeProjection(itemLevel, "Long Description", productLDAttr);
    this.setupAttributeProjection(itemLevel, "Short Description", productSDAttr);
    this.clearLevelMapVectors();
    _keys.add("GLOBAL.PRODUCT_DIM.ITEM_ID");
    _cols.add("GLOBAL.PRODUCT_DIM.ITEM_PACKAGE_ID");
    _cols.add("GLOBAL.PRODUCT_DIM.ITEM_BUYER");
    _cols.add("GLOBAL.PRODUCT_DIM.ITEM_MARKETING_MANAGER");
    _cols.add("GLOBAL.PRODUCT_DIM.ITEM_DSC"); // Long description
    _cols.add("GLOBAL.PRODUCT_DIM.ITEM_DSC"); // Short description
    this.createLevelMap(itemLevel, _keys,_cols);
    // Create the FAMILY_AW level.
    Level familyLevel = productDim.createLevel();
    familyLevel.setName("FAMILY_AW");
    familyLevel.setShortName("FAMILY_AW");
    familyLevel.setLongName("FAMILY_AW level");
    // Create AttributeProjection objects for the attributes for the
    // FAMILY_AW Level.
    this.setupAttributeProjection(familyLevel, "Long Description",
    productLDAttr);
    this.setupAttributeProjection(familyLevel, "Short Description",
    productSDAttr);
    this.clearLevelMapVectors();
    _keys.add("GLOBAL.PRODUCT_DIM.FAMILY_ID");
    _cols.add("GLOBAL.PRODUCT_DIM.FAMILY_DSC"); // Long description
    _cols.add("GLOBAL.PRODUCT_DIM.FAMILY_DSC"); // Short description
    this.createLevelMap(familyLevel, _keys,_cols);
    // Create the CLASS_AW level.
    Level classLevel = productDim.createLevel();
    classLevel.setName("CLASS_AW");
    classLevel.setShortName("CLASS_AW");
    classLevel.setLongName("CLASS_AW level");
    // Create AttributeProjection objects for the attributes for the
    // CLASS_AW Level.
    this.setupAttributeProjection(classLevel, "Long Description",
    productLDAttr);
    this.setupAttributeProjection(classLevel, "Short Description",
    productSDAttr);
    this.clearLevelMapVectors();
    _keys.add("GLOBAL.PRODUCT_DIM.CLASS_ID");
    _cols.add("GLOBAL.PRODUCT_DIM.CLASS_DSC"); // Long description
    _cols.add("GLOBAL.PRODUCT_DIM.CLASS_DSC"); // Short description
    this.createLevelMap(classLevel, _keys,_cols);
    // Create the top level, TOTAL_PRODUCT_AW.
    Level totalProductLevel = productDim.createLevel();
    totalProductLevel.setName("TOTAL_PRODUCT_AW");
    totalProductLevel.setShortName("TOTAL_PRODUCT_AW");
    totalProductLevel.setLongName("TOTAL_PRODUCT_AW level");
    // Create AttributeProjection objects for the attributes for the
    // TOTAL_PRODUCT_AW Level.
    this.setupAttributeProjection(totalProductLevel, "Long Description",
    productLDAttr);
    this.setupAttributeProjection(totalProductLevel, "Short Description",
    productSDAttr);
    this.clearLevelMapVectors();
    _keys.add("GLOBAL.PRODUCT_DIM.TOTAL_PRODUCT_ID");
    _cols.add("GLOBAL.PRODUCT_DIM.TOTAL_PRODUCT_DSC"); // Long description
    _cols.add("GLOBAL.PRODUCT_DIM.TOTAL_PRODUCT_DSC"); // Short description
    this.createLevelMap(totalProductLevel, _keys,_cols);
    // Create the PRODUCT_PRIMARY_AW Hierarchy.
    Hierarchy prodPrimaryHier = productDim.createHierarchy();
    prodPrimaryHier.setName("PRODUCT_PRIMARY_AW");
    prodPrimaryHier.setShortName("PRODUCT_PRIMARY_AW");
    prodPrimaryHier.setLongName("PRODUCT_PRIMARY_AW level");
    // Add the Level objects for the Hierarchy, and the columns for them,
    // to Vector objects in the hierarcharchical order of the levels,
    // with the top level first.
    this.clearHierarchyMapVectors();
    _levels.add(totalProductLevel);
    _levColumns.add("GLOBAL.PRODUCT_DIM.TOTAL_PRODUCT_ID");
    _levels.add(classLevel);
    _levColumns.add("GLOBAL.PRODUCT_DIM.CLASS_ID");
    _levels.add(familyLevel);
    _levColumns.add("GLOBAL.PRODUCT_DIM.FAMILY_ID");
    _levels.add(itemLevel);
    _levColumns.add("GLOBAL.PRODUCT_DIM.ITEM_ID");
    // Specify the levels for the hierarchy and map them to relational columns.
    this.createHierarchyMap(prodPrimaryHier, _levels, _levColumns);
    * Creates Attribute, Level, and Hierarchy objects for the Channel Dimension.
    public void createChannelDimension(Dimension channelDim)
    // Indicate that the primary key of the dimension table contains the
    // lowest-level dimension members.
    channelDim.setUseNativeKey(true);
    // Create the Long and Short Description Attribute objects for the Dimension.
    Attribute channelLDAttr = createLongDescAttr(channelDim);
    Attribute channelSDAttr = createShortDescAttr(channelDim);
    // Create the Level objects for the Dimension.
    // Create the detail level, CHANNEL_AW.
    Level channelLevel = channelDim.createLevel();
    channelLevel.setName("CHANNEL_AW");
    channelLevel.setShortName("CHANNEL_AW");
    channelLevel.setLongName("CHANNEL_AW level");
    // Create AttributeProjection objects for the long and short description
    // attributes for the CHANNEL_AW Level.
    this.setupAttributeProjection(channelLevel, "Long Description",
    channelLDAttr);
    this.setupAttributeProjection(channelLevel, "Short Description",
    channelSDAttr);
    this.clearLevelMapVectors();
    _keys.add("GLOBAL.CHANNEL_DIM.CHANNEL_ID");
    _cols.add("GLOBAL.CHANNEL_DIM.CHANNEL_DSC"); // Long description
    _cols.add("GLOBAL.CHANNEL_DIM.CHANNEL_DSC"); // Short description
    this.createLevelMap(channelLevel, _keys, _cols);
    // Create the top level, ALL_CHANNELS_AW.
    Level allChannelsLevel = channelDim.createLevel();
    allChannelsLevel.setName("TOTAL_CHANNEL_AW");
    allChannelsLevel.setShortName("TOTAL_CHANNEL_AW");
    allChannelsLevel.setLongName("TOTAL_CHANNEL_AW level");
    // Create the Long and Short Description AttributeProjection objects for
    // the TOTAL_CHANNEL_AW Level.
    this.setupAttributeProjection(allChannelsLevel, "Long Description",
    channelLDAttr);
    this.setupAttributeProjection(allChannelsLevel, "Short Description",
    channelSDAttr);
    this.clearLevelMapVectors();
    // The order of the elements in the _cols Vector depends on the order
    // in which the attributes are created.
    // Columns in the relational tables are specified in the form
    // user.tablename.column
    _keys.add("GLOBAL.CHANNEL_DIM.TOTAL_CHANNEL_ID");
    _cols.add("GLOBAL.CHANNEL_DIM.TOTAL_CHANNEL_DSC"); // Long description
    _cols.add("GLOBAL.CHANNEL_DIM.TOTAL_CHANNEL_DSC"); // Short description.
    this.createLevelMap(allChannelsLevel, _keys, _cols);
    // Create the CHANNEL_PRIMARY_AW Hierarchy.
    Hierarchy chanRollupHier = channelDim.createHierarchy();
    chanRollupHier.setName("CHANNEL_PRIMARY_AW");
    chanRollupHier.setShortName("CHANNEL_PRIMARY_AW");
    chanRollupHier.setLongName("CHANNEL_PRIMARY_AW hierarchy");
    // Add the Level objects for the Hierarchy, and the columns for them,
    // to Vector objects in the hierarcharchical order of the levels,
    // with the top level first.
    this.clearHierarchyMapVectors();
    _levels.add(allChannelsLevel);
    _levColumns.add("GLOBAL.CHANNEL_DIM.TOTAL_CHANNEL_ID");
    _levels.add(channelLevel);
    _levColumns.add("GLOBAL.CHANNEL_DIM.CHANNEL_ID");
    // Specify the levels for the hierarchy and map them to relational columns.
    this.createHierarchyMap(chanRollupHier, _levels, _levColumns);
    * Create the Short_Description Attribute for a Dimension.
    public Attribute createShortDescAttr(Dimension dim)
    Attribute sdAttr = dim.createAttribute();
    sdAttr.setName("Short_Description");
    sdAttr.setClassification("MEMBER_SHORT_DESCRIPTION");
    return sdAttr;
    * Creates an AttributeProjection for a Level and sets the name and the
    * Attribute to project onto the Level.
    public void setupAttributeProjection(Level _lev, String _name, Attribute _attr)
    AttributeProjection _ap = _lev.createAttributeProjection();
    _ap.setName(_name);
    _ap.setAttribute(_attr);
    * Creates the associations between Level objects and a Hierarchy.
    public void createHierarchyMap(Hierarchy _hier, Vector _levels, Vector columns)
    int i = 0;
    for(Iterator _lev = _levels.iterator(); _lev.hasNext();)
    Level _curLev = (Level)_lev.next();
    HierarchyLevelAssociation _hla = _hier.createHierarchyLevelAssociation();
    _hla.setLevel(_curLev);
    DimensionMapGroup _dmg = _hla.createSourceDimensionMapGroup();
    DimensionKeySourceExpression _dkse = _dmg.CreateKeyMap();
    SourceColumn _levColumn = _dkse.CreateSourceColumn();
    _levColumn.setColumn((String)columns.elementAt(i));
    // The first level has no parent.
    // Each subsequent level does have a parent.
    // The first element in the Vector must be the top-most level.
    if (i > 0)
    HierarchicalParentSourceExpression _hpse = _dmg.CreateParentMap();
    SourceColumn _hpsesc = _hpse.CreateSourceColumn();
    _hpsesc.setColumn((String)columns.elementAt(i-1));
    i++;
    * Clears the Vector objects that are used for specifying the Level objects
    * in a Hierarchy and for mapping the levels to the columns of a relational
    * table.
    public void clearHierarchyMapVectors()
    _levels.removeAllElements();
    _levColumns.removeAllElements();
    * Clears the Vector objects that are used for mapping a Level object to the
    * columns of a relational table.
    public void clearLevelMapVectors()
    _keys.removeAllElements();
    _cols.removeAllElements();
    * Creates a DimensionMapGroup that maps a Level to the columns of
    * a relational table.
    public void createLevelMap(Level _lev, Vector _keys, Vector _columns)
    // Map the keys of the relational table to the level.
    DimensionMapGroup _dmg = _lev.createSourceDimensionMapGroup();
    DimensionKeySourceExpression _key = _dmg.CreateKeyMap();
    for (int y=0; y < _keys.size(); y++)
    SourceColumn _keycol = _key.CreateSourceColumn();
    _keycol.setColumn((String)_keys.elementAt(y));
    // Map the columns of the relational tables or views to the
    // AttributeProjection objects.
    int i = 0;
    for(Iterator attrs = _lev.getAttributes().iterator(); attrs.hasNext();)
    AttributeProjection _curAttr = (AttributeProjection)attrs.next();
    AttributeSourceExpression _attrMap = _dmg.CreateAttributeMap();
    _attrMap.setTargetObject(_curAttr);
    SourceColumn _attrCol = _attrMap.CreateSourceColumn();
    _attrCol.setColumn((String)_columns.elementAt(i));
    i++;
    * Clears the Vector objects that are used for specifying the Level objects
    * in a Hierarchy and for mapping the levels to the columns of a relational
    * table.
    public void clearCubeMapVectors()
    _measures.removeAllElements();
    _measCols.removeAllElements();
    _levels.removeAllElements();
    _cols.removeAllElements();
    _dimList.removeAllElements();
    * Specifies the dimensions for a Cube.
    public void associateCubeDimensions(Cube _cube, Vector _dimList)
    for (int i=0; i < _dimList.size(); i++)
    CubeDimRef _cdr = _cube.createCubeDimRef();
    Dimension _dim = (Dimension)_dimList.elementAt(i);
    _cdr.setDimension(_dim);
    * Maps the columns of the relational tables to the dimensions and measures
    * of the analytic workspace Cube.
    public void createCubeMap(Cube _cube, Vector _levels, Vector _columns,
    Vector _measures, Vector _measCols)
    CubeMapGroup _cmg = _cube.createSourceCubeMapGroup();
    // Create the primary key in the fact table.
    for (int y=0; y < _levels.size(); y++)
    CubeDimensionSourceExpression _cdse = _cmg.CreateKeyMap();
    _cdse.addLevel((Level)_levels.elementAt(y));
    // Loop through the associated comma delimited
    // FKey columns in the fact table.
    StringTokenizer _st =
    new StringTokenizer((String)_columns.elementAt(y), "," );
    while (_st.hasMoreTokens())
    SourceColumn _keycol = _cdse.CreateSourceColumn();
    _keycol.setColumn(_st.nextToken());
    for(int x=0; x < _measures.size(); x++)
    Measure curMeasure = (Measure)_measures.elementAt(x);
    curMeasure.setAutoSolve("NO_AUTO_SOLVE");
    String curMeascol = (String)_measCols.elementAt(x);
    MeasureSourceExpression _measMap = _cmg.CreateAttributeMap();
    _measMap.setTargetObject(curMeasure);
    SourceColumn _meascol = _measMap.CreateSourceColumn();
    _meascol.setColumn(curMeascol);
    * Specifies excluding NA values when computing values while building the
    * analytic workspace.
    public void precomputeNA(Cube _cube, String _aggdef_name)
    // Rename the default aggregation definition that was implicitly created.
    AggregationDefinition _aggdef =_cube.getDefaultAggregationDefinition();
    _aggdef.setName(_aggdef_name);
    // Remove the default calculation specification.
    _aggdef.getCalculationSpecification().clear();
    Vector _dimrefs = _cube.getCubeDimRefs();
    for (Iterator _d = _dimrefs.iterator(); _d.hasNext();)
    AggregationHierarchySpecification _aggHierSpec =
    _aggdef.createAggregationHierarchySpecification();
    CubeDimRef _dimref = (CubeDimRef)_d.next();
    Dimension _dim = _dimref.getDimension();
    _aggHierSpec.setDimension(_dim);
    PreComputeClause _precompute_clause =
    _aggHierSpec.createPreComputeClause();
    DimensionMemberExpression _dimMemExp =
    _precompute_clause.createDimensionMemberExpression();
    _dimMemExp.setExpression("ALL");
    _dimMemExp.setExpressionType("EXCLUDE");
    * Deletes the analytic workspace if it already exists.
    private void deleteExistingAW(AWConnection awConnection, String user,
    String awName)
    try
    OracleConnection conn = (OracleConnection)
    awConnection.getSQLConnection();
    SPLExecutor splExec = new SPLExecutor(conn);
    splExec.initialize();
    try
    System.out.println("Deleting " + user + "." + awName + " if it exists.");
    splExec.executeCommand("aw delete " + user + "." + awName);
         // System.out.println("Deleted " + user + "." + awName + ".");
    catch(Exception e)
    // System.out.println("The " + user + "." + awName + " analytic workspace "
    // + "either did not exist or it could not be deleted.");
    catch(SQLException e)
    System.out.println("Could not initialize the SPL executor. " + e);
    private String getConnectionProperty(Properties props)
    String conn = props.getProperty("conn");
    if (conn == null)
    String url = props.getProperty("url");
    if (url.indexOf("@") > 0)
    conn = url.substring((url.lastIndexOf("@") + 1), url.length());
    props.put("conn", conn);
    return conn;
    public static void main(String[] args)
    new BuildAWExample().execute(args);
    }

  • ORA-34492: Analytic workspace object cubename _STORED does not exist.

    I am having issues accessing cube data from a user other than where the AW was built.
    Following is what I have done in User-1:
    1. Create two AW's in User-1 : AW-1 and AW-2.
    2. Create all objects in these two AW's
    3. AW-2 is dynamically attached on attaching AW-1 by using PERMIT startup programs. Please refer Attaching multiple AW's
    4. Refreshed both AW's to load data
    5. ALLCOMPILE - no errors.
    6. Created some SQL views on User-1 which basically query the underlying cube views. I also have some queries using the olap_table option.
    7. All my querries work fine in User-1. I can access data from AW-1 and AW-2.
    However, we give access to the above SQL views through an abstract user: User-abs. In 10g, all we did was grant select privs to all the User-1.AW$ tables and also on all the sql views. This would let User-abs get data from the cubes in User-1.
    I am not able to get User-abs to do the same in 11g. We encounter an error mentioning that the workspace object <cubename>_STORED does not exist. The cubename it is referring to exists in AW-2.
    I granted select privs on all AW$ tables, dimension views, cube views and the abstracted sql views but the error persists.
    I tried searching this forum but could not find any helpful leads. Any help will be greatly appreciated.
    Thanks!
    Database - 11.2.0.1
    AWM - 11.2.0.2.0A

    I can think of two possible problems. First, you may not be properly qualifying the owner name when you refer to the object. This can be important when refering to objects owned by other schemas. For example instead of 'my_cube_stored' you would say 'user-1.aw-2!my_cube_stored'. You should also be careful about the order in which you attach the AWs. Do you want AW-2 attached first or last? Use the LAST keyword on AW ATTACH to control this.
    Another possibility is that you have added additional logic to PERMIT_READ over and above the 'aw attach' comand. I was able to recreate the error with the following code in a new AW called TEST_AW in the GLOBAL schema.
    DEFINE PERMIT_READ PROGRAM BOOLEAN
    PROGRAM
    aw attach global.global
    show global.global!units_cube_stored
    return true
    ENDAttaching TEST_AW in RO mode as any user gives me the following error.
    ORA-34492: Analytic workspace object GLOBAL.GLOBAL!UNITS_CUBE_STORED does not
    exist.
    ORA-06512: at "SYS.DBMS_AW", line 93
    ORA-06512: at "SYS.DBMS_AW", line 122
    ORA-06512: at line 1Here is the documentation for PERMIT_READ
    >
    PERMIT_READ
    A PERMIT_READ program is a program that you can create and that Oracle OLAP checks for by name when an AW ATTACH read-only command executes. Depending on the value returned by the program, Oracle OLAP executes the code within the program after attaching the analytic workspace. Depending on the statements in the permit_read program the user is granted or denied access to specific objects or sets of object values. Within permit_read program, you can specify PERMIT commands that grant or restrict access to individual workspace objects. All of the objects referred to in a given permit_read must exist in the same analytic workspace.
    >
    Note, especially, the restriction in the last sentence. This means that a PERMIT_READ program in AW1, for example, cannot refer to objects in AW2. So this is why my PERMIT_READ doesn't work. The AUTOGO does not have these restrictions, but as we know from the forum post you cited, AUTOGO is broken in 11.2.0.1. You can move forward to 11.2.0.2 where AUTOGO is fixed, but there is workaround, which is to add a PERMIT_READ program to the second AW to do the work. For example, if I add this PERMIT_READ to GLOBAL and remove the 'show' command from the PERMIT_READ in TEST_AW, then everything works as expected.
    DEFINE PERMIT_READ PROGRAM BOOLEAN
    PROGRAM
    if aw(attached 'test_aw')
    then do
    show global.global!units_cube_stored
    doend
    return true
    END

  • Does  Analytic Workspace Manager 11.2.0.3.0A  work with oracle database 12c?

    hello,
    i would like to know if AWM 11.2.0.3.0A works against with oracle database 12c in pdb mode or not .
    regards
    jm

    I have attempted to connect 11g versions of AWM to 12c and get this error:
    'This version of Analytic Workspace Manager is incompatible with the database instance. The Analytic Workspace Manager version is 11.2.0.3.0 and the database compatible version is 12.1.0.0.0'
    So unfortunately it is not compatible, and there is currently no AWM for 12c
    I also contacted Oracle support and they wont give me any information about a release date or any information on the xml template specification for 12c.
    I guess we will just have to wait till they release a version of AWM that supports 12c...
    Laszlo

  • Unable to create dimension in Analytic Workspace manager

    Hi all,
    I am trying to create dimension using Analytic Workspace Manager(AWM) and it throws the following error.
    *"The transaction is not committable: "java.lang.RuntimeException: org.xml.sax.SAXException: Missing XML attribute: Attribute for tag: <Metadata><StandardDimension><Organization><AWPrimaryDimensionOrganization><AttributeOrganization>"*
    Kindly share your comments.
    I am using Oracle 11g r1 client to connect with oracle 11g R2 database.
    Please let me know the steps to create a OLAP cube using AWM
    Regards
    Mukhil

    It sounds like a mismatch between an old version of AWM and a new version of the server. Please try a more recent version of AWM.
    http://www.oracle.com/technetwork/database/options/olap/olap-downloads-098860.html

  • Creating Dimension using template in Analytical workspace manager

    Hi,
    I am rajan, I am working with Oracle's Analytical workspace manager Release 2.
    I am trying to create the dimension using the templates from the file. it throws the following error,
    The following errors have occurred when loading contents:
    Closed Connection
    Note :     I am referring the tutorial in the following URL,
    http://st-curriculum.oracle.com/obe/db/10g/r2/prod/bidw/awm/awm_otn.htm and also i have downloaded the awm.zip file from the same URL and imported into my desktop.
    Right now, I am working based on this tutorial only.
    Kindly,help me to resolve this issue.
    Thanks
    Rajan

    Francisco,
    Query DBA_REGISTRY to verify the status of "OLAP Analytic Workspace" component.
    Also, wait for the script to finish and check the status of the objects then.
    Thanks,
    Hussein

  • Creating Database Standard Form Analytic Workspaces

    Just been looking through the new 9.2.0.4.1 documentation and came across the following. Thought it might be useful.
    The 9.2.0.4.1 release of Oracle OLAP introduces a new concept known as �Database Standard Form� Analytic Workspaces. This is a way of constructing analytic workspaces in a standard way such that they can be used by tools such as the Analytic Workspace Manager, the Java OLAP API, and BI Beans.
    When analytic workspaces are created from a relational star-schema using the Analytic Workspace Manager, it automatically creates the analytic workspace in standard form as part of the migration process. However, if you�re migrating an Express database to Oracle OLAP, the migrated database has to be processed to be in standard form before it is usable by any of the new Oracle OLAP GUI tools.
    If you create an analytic workspace using PL/SQL or the OLAP Worksheet, of course you can create dimensions, variables, relations and so on in any form, just as you can create table structures, joins, views and columns in any form in a relational database. However, the database standard form requirement stipulates that;
    Certain objects and properties need to be found in the analytic workspace, that are used by tools such as the Analytic Workspace Manager to perform tasks such as aggregation, data loads, and OLAP API enablement. OLAP DML views (beginning with AW$) need to created in the analytic workspace, to provide metadata and to identify relationships between objects in the analytic workspace. Objects need to be registered in the OLAP Catalog, and these registrations have to be kept in sync so that the OLAP tools are aware of changes to the base objects. Data that is migrated in to an analytic workspace, from a relational star-schema using the Analytic Workspace Manager, is already in database standard form and no further work is needed. However, some work is needed to get migrated Express databases into standard form, and Oracle have provided a utility with the 9.2.0.4.1 release of Oracle OLAP to help accomplish this.
    This utility, known as CREATE_DB_STDFORM, is an OLAP DML program that takes existing Oracle Express Objects metadata in a migrated Express database, and uses this to create the additional metadata required to make the analytic workspace �database standard form�.
    Once CREATE_DB_STDFORM has been used to create this additional metadata, it can also be used to import data into the workspace either from flat files, or from Oracle tables and views. If you don�t have Express Objects metadata in the Express database, CREATE_DB_STDFORM doesn�t work, and you�ll have to use Oracle Warehouse Builder 9.2 to initially create a relational star-schema that equates to the Express database, then use the OLAP Bridge within OWB to export the data into a database standard form analytic workspace.
    CREATE_DB_STDFORM, once run, allows the migrated Express database to be accessed via BI Beans straight afterwards, as it creates all the OLAP Catalog entries required for the OLAP API. If the Express database only contains data at the lowest level (i.e. it hasn�t been rolled up), aggregation wizards in the Analytic Workspace Manager can be used to summarise the data as required.
    CREATE_DB_STDFORM doesn�t do everything, however. First of all, you need to have created Oracle Express Objects metadata within the Express database, which is an additional step and not always appropriate for all systems. In addition, you need to create time dimensions in a particular way, which may require the data model to be adjusted to meet this requirement. Lastly, any Express language programs within the Express database may need to be adjusted to remove or change commands that have changed or become obsolete.
    The new document, �Oracle OLAP Application Developers Guide Release 9.2.0.4.1�, available on metalink under note 251352.1, details how database standard form works, has code examples, and walks through the migration of the XADEMO Express database to an analytic workspace using database standard form.

    In your message, you wrote "Certain objects and properties need to be found ... aware of changes to base objects". A large bit is represented by "...". Question is whether I have any commands or package functions that I can use to set up all the proper objects and relationships to make it have database standard form, short of regressing to a ROLAP star schema and usnig the AWM wizard. I have what appears to be working MOLAP activity, all created at the OLAP worksheet prompt, and loaded with DML program. Do I really have to put that all aside and start with a star schema? No way to put my AW in standard form for OLAP API without this?

  • Problem Creating Analytical Workspace - java.lang.NullPointerException

    I can't seem to create a new analytical workspace using AWM on machine that doesn't allow me admin privileges, so I am really stumped.
    Here is the error that I keep on getting:
    =========================================
    oracle.AWXML.AWException: java.lang.NullPointerException
    at oracle.AWXML.AW.readAWDefinitions(AW.java:1339)
    at oracle.olap.awm.dataobject.aw.WorkspaceDO.getModelAW(WorkspaceDO.java:739)
    at oracle.olap.awm.dataobject.aw.WorkspaceDO.getModelAW(WorkspaceDO.java:701)
    at oracle.olap.awm.navigator.node.WorkspaceNode.getModelerViewChildren(WorkspaceNode.java:361)
    at oracle.olap.awm.navigator.node.WorkspaceNode.getChildren(WorkspaceNode.java:342)
    at oracle.olap.awm.navigator.node.BaseNodeModel.refreshData(BaseNodeModel.java:74)
    at oracle.olap.awm.navigator.node.BaseNodeModel.dTreeItemExpanding(BaseNodeModel.java:221)
    at oracle.bali.ewt.dTree.DTreeDeferredParent.__fireExpansionChanging(Unknown Source)
    at oracle.bali.ewt.dTree.DTreeDeferredParent.setExpanded(Unknown Source)
    at oracle.olap.awm.navigator.node.BaseNode.expandHelper(BaseNode.java:1921)
    at oracle.olap.awm.navigator.node.BaseNode.access$000(BaseNode.java:93)
    at oracle.olap.awm.navigator.node.BaseNode$ExpansionThread.run(BaseNode.java:1871)
    Caused by: java.lang.NullPointerException
    at oracle.AWXML.AW.readAWDefinitions(AW.java:1313)
    ... 11 more
    =========================================
    Importing from a template also produces an error that is different from the above, so importing is not an option. Won't post my error on importing as I want to concentrate on this one.
    Just in case, the machine's version details for OLAP are as follows:
    OLAP Analytic Workspace - 10.2.0.2.0 VALID
    OLAP Catalog - 10.2.0.2.0 VALID
    Oracle OLAP API - 10.2.0.2.0 VALID
    Please help.

    Hi,
    iam trying to install oracle 8i in fedora 4 with kernel version 2.6.11 and glibc-2.3.6-3
    when iam trying to run ./runinstaller it is giving the following error.
    And i want to know whether oracle 8i is supported on fedora 4. Plse tell me what all the linux flavours are supported for oracle 8i and also it is compatable for php4 or php5.
    as we are trying to use php with oracle 8i database...!
    ######## error:
    [oracle@localhost linux]$ ./runInstaller
    Initializing Java Virtual Machine from ../stage/Components/oracle.swd.jre/1.1.8/1/DataFiles/Expanded/linux/bin/jre. Please wait...
    Exception java.lang.NullPointerException occurred..
    java.lang.NullPointerException
    at sun.awt.motif.MComponentPeer.setFont(MComponentPeer.java:192)
    at sun.awt.motif.MFramePeer.<init>(MFramePeer.java:68)
    at sun.awt.motif.MToolkit.createFrame(MToolkit.java:137)
    at java.awt.Frame.addNotify(Frame.java:196)
    at java.awt.Window.show(Window.java:138)
    at java.awt.Component.show(Component.java:528)
    at java.awt.Component.setVisible(Component.java:490)
    at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:419)
    Plse help me...!
    Thanks in advance..

  • Problem with Oracle Analytic Workspace Manager ver 10.1.0.4

    Hi,
    I am running Oracle Analytic Workspace Manager ver 10.1.0.4. When I tried getting connected to Analytical workspace I get the following error. Any help could be appreciated.
    java.sql.SQLException: ORA-00904: "O"."SF_VERSION": invalid identifier
    at oracle.olap.awm.businessobject.aw.WorkspaceBO.getWorkspacesOwnedBySchemaInStandardForm(WorkspaceBO.java:191)
    at oracle.olap.awm.navigator.node.WorkspaceFolderNode.getChildren(WorkspaceFolderNode.java:101)
    at oracle.olap.awm.navigator.node.BaseNodeModel.refreshData(BaseNodeModel.java:74)
    at oracle.olap.awm.navigator.node.BaseNodeModel.dTreeItemExpanding(BaseNodeModel.java:221)
    at oracle.bali.ewt.dTree.DTreeDeferredParent.__fireExpansionChanging(Unknown Source)
    at oracle.bali.ewt.dTree.DTreeDeferredParent.setExpanded(Unknown Source)
    at oracle.olap.awm.navigator.node.BaseNode.expandHelper(BaseNode.java:1813)
    at oracle.olap.awm.navigator.node.BaseNode.access$000(BaseNode.java:93)
    at oracle.olap.awm.navigator.node.BaseNode$ExpansionThread.run(BaseNode.java:1763)
    Thanking u,
    Amudha

    There are posts on the OLAP forum covering this problem. Anthony Waite from the OLAP Product Management team has provided the following information:
    e new, default Model View in AWM 10.1.0.4.0 is based upon the OLAP Analytic Workspace API (a.k.a. AW/XML). Just to recap and further clarify my earlier post, you must pass the following requirements in order to use it:
    1) Be sure to be using the Enterprise Edition of the Oracle Database 10g.
    SQL> select banner from v$version where banner like 'Oracle%';
    You should see Oracle Database 10g Enterprise Edition.
    2) Be sure to have the Data Warehouse database configuration or the OLAP Option enabled.
    SQL> select parameter, value from v$option where parameter='OLAP';
    You should see OLAP TRUE.
    3) Be sure that the RDBMS 10.1.0.4 patch set has been completely installed. Users often miss the required Post-Installation Steps such as running catpatch.sql.
    SQL> select comp_name, version, status from dba_registry;
    You should see VALID and 10.1.0.4.0 for the OLAP components.
    4) The Oracle Database must have the compatibility mode of 10.1 to use the Model View as it relies on the unique features found in Oracle Database 10g.
    SQL> select name, value, description from v$parameter where name ='compatible';
    You should see 10.1, not 9.2 or earlier.
    5) Please refer to the patchnote.htm that is bundled with 10.1.0.4.0 patch set. Only you are aware of what type of database configuration you have. You will want to pay close attention to "7.2.1.3 Set the SHARED_POOL_SIZE and JAVA_POOL_SIZE Initialization Parameters" and "7.2.2 Upgrade the Release 10.1 Database".
    Basically, I believe you have missed these required steps after installing the 10.1.0.4.0 patch set from the OUI: (pasted from the patchnote.htm)
    For the full discussion please refer to this link:
    Re: Error trying to Analytic Workspace using latest version AWM 10.1.0.4
    Hope this helps
    Keith
    Oracle Business Intelligence Product Management
    BI on Oracle: http://www.oracle.com/bi/
    BI on OTN: http://www.oracle.com/technology/products/bi/
    BI Beans http://www.oracle.com/technology/products/bib/index.html
    Discoverer: http://www.oracle.com/technology/products/discoverer/
    BI Software: http://www.oracle.com/technology/software/products/ias/devuse.html
    Documentation: http://www.oracle.com/technology/documentation/appserver1012.html
    BI Samples: http://www.oracle.com/technology/products/bi/samples/
    Blog: http://oraclebi.blogspot.com/

  • Analytic Workspace Manager Release date

    Does anyone know that release date for the analytic workspace manager?

    I'm reluctant to start having a go at Oracle, because there's probably good technical reasons why AWM didn't come out last year, most probably due to 9i OLAP API changes invalidating much of the work the product team had done with the prototype of AWM. However, it's been about 18 months now, by my reckoning, since AWM was first talked about and it's still not generally available.
    Of course, the features announced for the first version of AWM are only part of what we need 'out in the field' when working with 9i OLAP. We also need graphical tools to load analytic workspaces directly, rather than having to write OLAP DML dataloaders or go through an intermediate step of loading an Oracle star-schema, and in addition, migration tools for Express databases to help with the creation of OLAP Catalog metadata.
    It's worth contrasting this with the release of OLAP Services when SQL Server 7.0 was released. There, Microsoft provided tools from the outset to create and manage OLAP cubes, which meant that users could get up and running immediately, not have to wait the best part of two years to get the most basic of tools to enable them to create OLAP databases.
    As there's no doubt been quite a few technical challenges in delivering the 9i OLAP tools over the last couple of years, what would probably help the situation would be a more proactive communication strategy from the Oracle product team, in the way that the OWB team regularly post on their OTN forum and keep us all informed on how the product is progressing. Part of the frustration with 9i OLAP is the lack of any communication or updates on the product, leaving us guessing as to exactly when elements such as the AWM will actually come out. In addition, from what I can glean about OLAP support in 10g, there's some excellent news coming out, such as Multiwriter support, an XML interface for OLAP, Parallel support for aggregation and so on, which would be great news to hear and might make people 'hang on' rather than give up on the product.
    Hopefully, as the last announcement from Oracle suggested, the AWM will be made available this month, and we can get on then with helping our customers and clients start taking advantage of the 9i OLAP platform.

Maybe you are looking for

  • Problem in interactive pdf playing wrong sound file for all

    I have a created an interactive single page PDF with a video file and at least 4 mp3 files. I have added buttons to play one file and stop all others. The buttons work perfectly BUT, the first click of any button actives a certain mp3 file. the same

  • Oracle8i 8.1.5.0.2 patch error

    [root@earth linux_815patches]# ./linux_815patches.sh The following is the output I received when installing the patch 8.1.5.0.2 I'm wondering if anyone else has seen the svrmgrl error, and if it's a problem. You are upgrading Oracle 8i for Intel-Linu

  • HR Schema in 9.2.0.1.0

    Hello, Can any one tell me what is the significance of HR schema in 9.2.0.1.0 database. This schema is made automatically when 9i database is installed. What will the result if this user/schema is dropped? An early reply would be appreciated. Hasan.

  • COPA Report - Characteristics in PA

    Hi, We have maintained the Sales Group in the Customer Masters that get picked up in the COPA Report, generated by using the T Code KE24. The users while creating the Sales Order, changed the Sales Group in the SO, but the COPA Report is picking up t

  • Should OKP1 being all closed and only be opened for the current period ?

    Guyz, In OB52 (Financial closing period) , only "open period" being input on it. So, basically the closing period in OB52 is by opening the period provided to be posting. Then how about OKP1? It's provided to lock the actual period , actual transacti