Help me? (A olap dml problem)
1.there is a example about olap dml in oracle's document:
DBMS_AW.EXECUTE('limit product to top 10 based on
PctChgSalesYrAgo
(product 'ALL PRODUCTS' customer 'ALL CUSTOMERS'
time âYEAR TO DATE 2001â))
DBMS_AW.EXECUTE('limit customer to customer.level 'TOP')
DBMS_AW.EXECUTE(âlimit time to time.level 'YEAR')
SELECT PERCENT.CHANGE.SALES.GROWTH FROM SALES.AW.VIEW
2.My problem:
what's PERCENT.CHANGE.SALES.GROWTH? how generate?
what's SALES.AW.VIEW? how generate?
please help me!
It looks like SALES.AW.VIEW is a view created to allow relational reporting against an Oracle Analytic Workspace (MOLAP cube)
My guess would be:
1) There is a purely relational star schema that holds the sales data
2) An analytic workspace was created from the star schema
3) The analytic workspace was enabled for BI / discoverer viewing, which creates the relational views that know how to retrieve data from the Analytic workspace.
To play around with this, use the "Warehouse" category in OEM to define the relational star schema dimensions and measures, and then create an Analytic workspace using the Analytic Workspace Manager.
Hope this helps,
Scott
Similar Messages
-
Help on OLAP DML function – "joinchars"
Hi,
We have built a cube called 'CubeTest' which has a measure called 'TestMeasure' of decimal data type, using Oracle AWM v10.2.0.3.0A.
Now, I am using "Oracle OLAP Calculations v1.2.5", as available on OTN homepage, to define my own calculated measures using OLAP DML for this cube.
I have defined the following two measures (for both, Calculation Type is 'Equation' and both are using free-form equations defined over TestMeasure):
1. Calculated_Measure1
2. Calculated_Measure2
Now, I want to define a third calculated measure in a way that it represents a concatenation of the above two measures suffixed with some standard text.
e.g. A Typical value of the third calculated measure will be like:
Calculated_Measure1 + 'ABC' + Calculated_Measure2 + 'XYZ'
Here, the '+' sign indicates the idea of concatenation.
To achieve the above result, I am using the OLAP DML function "joinchars" to define a free-form equation like the one below:
joinchars(Calculated_Measure1,'ABC',Calculated_Measure2,'XYZ')
Now, the issue is that calculation like the one above, using joinchars is not being created successfully. I tried pre-qualifying (and not pre-qualifying) the names of the calculated measures with the cube name and also experimenting with the “Show” command. Also, once the calculation definition fails to get created, I am not even being able to attach my AW in R/W mode as I get the error as below:
oracle.AWXML.AWException: java.lang.NullPointerExceptionat oracle.AWXML.AW.readAWDefinitions(AW.java:1339)at oracle.olap.awm.dataobject.aw.WorkspaceDO.getModelAW(WorkspaceDO.java:803)at oracle.olap.awm.dataobject.aw.WorkspaceDO.getModelAW(WorkspaceDO.java:749)at oracle.olap.awm.navigator.node.WorkspaceNode.getModelerViewChildren(WorkspaceNode.java:368)at oracle.olap.awm.navigator.node.WorkspaceNode.getChildren(WorkspaceNode.java:341)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:2186)at oracle.olap.awm.navigator.node.BaseNode.access$400(BaseNode.java:109)at oracle.olap.awm.navigator.node.BaseNode$ExpansionThread.run(BaseNode.java:2136)Caused by: java.lang.NullPointerExceptionat oracle.AWXML.AW.readAWDefinitions(AW.java:1313)... 11 more
For the above issue, I have the following questions to seek your help on:
1. First, obviously, to know what is wrong with the usage of "joinchars" in this scenario.
2. If we use Oracle OLAP Calculations v1.2.5 to define any calculations, and if for some reason, the calculation is not defined successfully, is there any way to see what went wrong and where (this is because if your calculation definition fails, the Oracle OLAP Calculations v1.2.5 utility just exits out without giving any significant information on the reason for failures).
3. When we create any new calculation and then click on “Define Calculations” button, the Oracle OLAP Calculations v1.2.5 utility prompts us with the message “Do you want to update the AW views after creating the calculation (Y/N)? – Can you please help me with the details on the implications of stating a Y or N to this message.
Any help on these questions is much appreciated.
Thanks and Regards,
PiyushPiyush..
The Error you get on using the rpr command is a display error, its not a functionality issue. Think of this as something similar to the sqlplus buffer overflow issue if you have a pl/sql program which outputs a lot of dbms_output.put_line statements.
So if you get a display error, restrict the cube or the dimensions to a reasonable number and check your output. Example: Take every user dimension and restrict them to a few values... (say, 5 products, 1 channel, 1 location, 1 organization, 2 time periods)..
Rpr <<expression>>
will return the expression for every cell in status.. Depending on the dimensions that the expression is based on, for every dimension depending on the number of values (members) in status, the <<expression>> is evaluated and output'ed.
No of cells in report is Cross product of each dimensions status (statlength).. For example above.. 5*1*1*1*2 = 10 cells.
Shw <<expression>>
will return the expression for the first cell in status.. 1st value (member) in status for every dimension that <<expression>> depends on.
Hence Shw <<expressions>> does not lead to a display error since the output is restricted (small).
Using the OLAP Calc utility to define the formula (the utility uses java olap apis), you may need to do something to protect the single quotes so that the expression gets evaluated with single quotes in the OLAP DML formula.
You can try...
joinchars(CUBE1_CMEAS1, \'ABC\', CUBE1_CMEAS2, \'XYZ\')
If above doesn't work, just ask for help regd how to translate a formula expression containing single quotes (formula is correct in OLAP DML) into the AW via the Spreadheet utility.
HTH
Shankar -
Dear All,
We are using OLAP DML to work with multi-dimensional data on an Analytic workspace. How do you access pre-stored multi dimensional variables set up in a analytic workspace, using OLAP API's.
How/Is it possible to load Cube data from a multi-dimensional variable ?
How or from where do we setup OLAP WORKSHEET to work with OLAP DML ??
Regards,
SubhankarJean-Marc,
I had an email from one of my colleagues in development and has kindly explained some errors in my previous posting. In 10.2 and earlier, relational import/export should do as good a job as EIF, except that these utilities are slower (due to the need to text encode the EIF data) and less granular (you can only export an entire schema at a time).
Fortunately, there is no need to worry about the various objects that comprise and AW. We manage all that for you directly inside the database.
However, the performance overhead is enough that for clients with the know-how, it's usually recommended to use EIF instead. That being said, the particular problem you are having seem extreme since you should not see a "15 minutes" to "hangs" slowdown when using relational import.
Have you tried monitoring the export job via Enterprise Manager to check the wait events which might be occuring when the system hangs? Are there any messages in the alert log?
It might be a good idea to open a TAR with Support to try and diagnose this issue.
Keith Laker
Oracle EMEA Consulting
OLAP Blog: http://oracleOLAP.blogspot.com/
OLAP Wiki: http://wiki.oracle.com/page/Oracle+OLAP+Option
DM Blog: http://oracledmt.blogspot.com/
OWB Blog : http://blogs.oracle.com/warehousebuilder/
OWB Wiki : http://wiki.oracle.com/page/Oracle+Warehouse+Builder
DW on OTN : http://www.oracle.com/technology/products/bi/db/11g/index.html -
Greetings,
I am trying to write a DML program to read data from each active cell displayed in a crosstab, and parse through various information. For each cell, I want to capture the value of the measure, and the level and value of each dimension, apply some logic, apply a value to another measure related to the original, and then persist that new value into that cell for the second measure.
There are a couple of problems that I am running into. First of all, I am performing some testing to fully understand the logic, but it seems that via the OLAP Worksheet, DML programs do not like to accept command-line parameters. This is necessary as I will have a few different programs that communicate via parameters rather than global variables. Secondly, within my DML programs, I have had no problem whatsoever creating and selecting data from a sql cursor when my where clause contains static data. However I will need the flexibility to determine at runtime the status of a dimension, and select via sql depending upon that value. This is not currently possible as any variable substitution within the where clause of a sql declare cursor statement generates an error. If anyone has a suggestion or an idea of what I am doing wrong, please reply.Is it the usage of the host variable syntax within the sql define cursor statement which did the trick ... ":_objecttype" instead of "_objecttype".
I've used the following syntax in olap dml programs in 10gR2 (only 1 filter in the sql statement though)...
"where pr.user_id = :_appuser" ... _appuser is a text variable (not argument) defined locally in the program. -
In the past I regularly used EXPLANG.HLP. I find it more convenient than the pdf or html equivalents. This is now accessed in 10g via a button on the OLAP worksheet. Does anyone know how I can run 10g OLAP DML Help independently of AWM?
Is it the usage of the host variable syntax within the sql define cursor statement which did the trick ... ":_objecttype" instead of "_objecttype".
I've used the following syntax in olap dml programs in 10gR2 (only 1 filter in the sql statement though)...
"where pr.user_id = :_appuser" ... _appuser is a text variable (not argument) defined locally in the program. -
OLAP DML program 10g Help!!
I have a OLAP DML program that I am invoking as follows
call pmtdim_user_sec(_aw 'MG_OU' 'OPERATING_UNIT')
The intent is to use the OPERATING_UNIT or parameter in 3rd place as a condition for cursor in the program.
e.g. below for the sql for cursor.
select PF_OBJ_ID from ps_cgf_ac_security@act_link -
where OPRID =USER and PF_OBJECT_TYPE = 'OPERATING_UNIT'
However when I use it in the program as below I get a failure during opening of cursor. The same thing when hardcoded per this SQL works fine? Am I doing anything incorrect. I tried using objtype and objecttype variables below in the where condition without any luck.
Program below:
" pmtdim_user_sec -PROGRAMS
arg _aw text "fully qualified AW name e.g. AWADMFDL.FDL
arg dimname text "Dimension ID on which PERMITREAD needs to be set
arg _objtype text "Object type for row level security
vrb _dim1 text
vrb _dimlist text
vrb _used text
vrb _usedlist text
vrb _finallist text
vrb _uservalue text
vrb _userlist text
vrb _objecttype text
show 'beginning of the program'
show _dimname
show _objtype
trap on failure
badline = y
"multi aw and object fetching
_dim1 = joinchars(_aw '!' _dimname)
_used = joinchars(_aw '!' _dimname '_USED_IS_IT')
_objecttype = joinchars('\'' _objtype '\'')
show ' objecttype :'
show _objecttype
show 'before cursors'
sql declare c2 cursor for -
select PF_OBJ_ID from ps_cgf_ac_security@act_link -
where OPRID =USER and PF_OBJECT_TYPE = _objecttype
push &_dim1
"Initializing
_dimlist = na
_usedlist = na
_finallist = na
_userlist = na
show 'before opening of cursor'
sql open c2
show 'opening cursor'
if sqlcode ne 0
then goto failure
show 'before while'
while sqlcode eq 0
do
show 'before fetch'
sql fetch c2 into :_uservalue
show 'after fetch'
if exists (_uservalue)
then
if isvalue(&_dim1 joinchars(_uservalue))
then dimlist = joinlines(dimlist _uservalue)
else goto failure
doend "while
sql close c2
show 'end of opening of a cursor'
_finallist = joinlines(_dimlist)
_finallist = uniquelines(_finallist)
show 'Final List '
show _finallist
if _finallist ne na
then do
lmt &_dim1 to _finallist
&joinchars('lmt ' _dim1 ' add descendants using ' _dim1 '_parentrel')
"&joinchars('lmt ' dim1 ' add ancestors using ' dim1 '_parentrel')
&joinchars('consider ' _dim1)
&joinchars('permit read when instat('_dim1 ' ' _dim1 ')')
doend
pop &_dim1
return
failure:
pop &_dim1
signal errorname errortext
return errortextIs it the usage of the host variable syntax within the sql define cursor statement which did the trick ... ":_objecttype" instead of "_objecttype".
I've used the following syntax in olap dml programs in 10gR2 (only 1 filter in the sql statement though)...
"where pr.user_id = :_appuser" ... _appuser is a text variable (not argument) defined locally in the program. -
How do I view data from OLAP DML program or statement?
Hi
I'm struggling to find any information on this topic anywhere on the net:
How to view data produced by an Oracle OLAP DML program or statement.
Background :
I am using the latest AWM to create and maintain dimensions, cubes and measures. However, I've noticed that AWM, Discoverer OLAP, BI Beans, Excel Plug-In et al only provide a fixed set of formula and expressions.
For example, I wanted to created a Standard Deviation (STDEV) on measure. After much searching I learnt that I could do this by creating a custom measure in AWM by importing a measure defined in an XML dcoument as it's not provided by AWM. The output in Discoverer OLAP on the surface seems to give the correct results, however when drilling from high level to lower level of time time dimension hierarchy Discoverer includes the parent value in the calculation and renders the values incorrect.
My alternative is to use OLAP DML, as it provides a richer range of formuale and calculations possibilities and I was hoping to use this functionality to do create the measures. I have the distinct impression, however, that OLAP Worksheet is the only interface out there to do this.
It seems very primitive and limited with regards to data output, almost like SQL*Plus in many ways.
The burning questions I have are :
1) Do I need to write DML programs to perform these custom measure calculations and add them to cubes or do I import the custom measures via AWM and XML?
2) If the answer to question 1 is DML programming, is there a way of viewing the OLAP data output through a GUI interface without embedding the statements in SQL.
3) Has anyone experienced or noticed the same problem with Discoverer OLAP, AWM Viewer that I mentioned above? i,e, statistical functions performed on whole dimension hierarchy rather than lower levels.
I'm hoping someone out there knows what I am trying to do or get at. Keith, any ideas or suggestions?
Thanks
Kind Regards
GregHi Greg,
There are two ways to achieve what you want. Both require the use of custom calculations which cannot be created via the calculation wizard within AWM. To do this the easiest way is step outside of AWM and use the Excel Calculation utility that is on the OLAP OTN home page:
Creating OLAP Calculations using Excel
http://download.oracle.com/otn/java/olap/SpreadsheetCalcs_10203.zip
Readme
http://www.oracle.com/technology/products/bi/olap/OLAP_SpreadsheetCalcs.html
(Oracle OLAP DML Reference contains a list of all the OLAP functions that can be used to create a custom calculation. http://www.oracle.com/technology/products/bi/olap/OLAP_DML_10.2.zip)
The Excel tool lets you assign your own formula to a measure and then uploads that measure definition into your AW. It is possible to import a custom calculation template into AWM using the menu option on the Calculated Measure node of each cube, but it is safer to use the Excel Worksheet as this directly uses the public XML API and is always best to use a public API rather than hacking XML templates.
There are two types of custom calculation:
1) Formula: using a formula you can directly call any of the OLAP functions. For example to create a measure that returns the standard deviation for a measure then you would enter the following as the formula for your calculated measure:
stddev(sales_revenue, time)
The easiest way to test if the measure is working as expected is to use the data viewer within AWM.
2) Programs - if the function you need is not provided or you want to do special processing to return a result you can create an OLAP DML program which can return a result. To do this use OLAP Worksheet to define the program and add a datatype to the DEFINE statement, such as :
DEFINE PRG_SD_SALES PROGRAM DECIMAL
In the program return the value you have calculated within your program. Within the program you can do just about anything but be aware that your program is going to fire for every cell within your virtual cube so it must be efficient and fast to execute. For a measure then you would enter the following as the formula for your calculated measure:
prg_sd_sales(time, products, geographies, channels).
The actual program code would look something like this:
DEFINE PRG_SD_REVENUE PROGRAM DECIMAL
PROGRAM
argument T_TIME TIME
argument T_PRODUCT PRODUCTS
argument T_GEOGRAPHY GEOGRAPHIES
argument T_CHANNEL CHANNELS
variable D_RETURN decimal
TEMPSTAT TIME, PRODUCTS, GEOGRAPHIES, CHANNELS
do
limit PRODUCTS to T_PRODUCT
limit CHANNELS to T_CHANNEL
limit GEOGRAPHIES to T_GEOGRAPHY
limit TIME to T_TIME
limit TIME add descendants using TIME_PARENTREL
limit TIME keep TIME_LEVELREL 'CAL_MONTH'
D_RETURN = stddev(SALES_REVENUE)
doend
return D_RETURN
END
This code computes a standard deviation the all months within the specified time range, at year level for all 12 months, at quarter level for the three months within the quarter ans returns NA at the month level.
As the code executes within a implicit loop you can only change the status fo dimensions that for part of that implicit by using the TEMPSTAT command. To test the program at the command line use the OLAP Worksheet and the SHOW command to just return one cell of data, DO NOT SIMPLY USE THE RPR COMMAND because you will have to wait for the whole cube to be returned. If you want to use the RPR command make sure you limit your base dimensions first! You can use PRGTRACE to debug your program code it is not working as expected. Again, the easiest way to test if the measure is working as expected is to use the data viewer within AWM, although this will not return debug information so send all your debug output to a file to capture any errors and/or trace the execution flow.
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/ -
Oracle OLAP installation problem
Hello,
I want to test Oracle OLAP and have come to a problem while installing cube script
I am following this document http://www.oracle.com/technetwork/database/options/olap/global-11g-readme-082667.html
It seems as if some steps were missing in the manual, but strangely I did not manage to find anyone online having the same problem, so it must be me overseeing something.
SQL> @global_11g_create_cubes
This procedure creates the cubes for the sample GLOBAL schema.
You should be logged on as a DBA to execute this procedure.
Specify file system directory containing this installation program.
Example:
c:\download\Global_Schema_11g or /home/oracle/Global_Schema_11g
Directory: /home/oracle/olap
Specify a password for the GLOBAL user.
Enter password:
Connected.
Begin installation
... deleting GLOBAL AW (if it exists)
dbms_cube.import_xml(xmlCLOB);
ERROR at line 68:
ORA-06550: line 68, column 7:
PLS-00201: identifier 'DBMS_CUBE.IMPORT_XML' must be declared
ORA-06550: line 68, column 7:
PL/SQL: Statement ignored
Any ideas?Hi Srini,
MOS Doc helped me to install OLAP and DBMS_CUBE Library is not a problem any more. Now I have following error, again without similar error/solution to be found using Google
SQL> @global_11g_create_cubes.sql;
This procedure creates the cubes for the sample GLOBAL schema.
You should be logged on as a DBA to execute this procedure.
Specify file system directory containing this installation program.
Example:
c:\download\Global_Schema_11g or /home/oracle/Global_Schema_11g
Directory: /home/oracle/olap
Specify a password for the GLOBAL user.
Enter password:
Connected.
Begin installation
... deleting GLOBAL AW (if it exists)
... creating GLOBAL AW
begin
ERROR at line 1:
ORA-37162: OLAP error
ORA-33292: Insufficient permissions to access analytic workspace GLOBAL.GLOBAL
using the specified access mode.
XOQ-01600: OLAP DML error while executing DML "SYS.AWXML!R11_INITIALIZE_AW"
ORA-06512: at "SYS.DBMS_CUBE", line 433
ORA-06512: at "SYS.DBMS_CUBE", line 465
ORA-06512: at "SYS.DBMS_CUBE", line 523
ORA-06512: at "SYS.DBMS_CUBE", line 486
ORA-06512: at "SYS.DBMS_CUBE", line 501
ORA-06512: at "SYS.DBMS_CUBE", line 512
ORA-06512: at line 2
Lookin into the code of global_11g_create_cubes.sq it is this command where error happens:
dbms_cube.import_xml('GLOBAL_INSTALL', 'GLOBAL_MV.XML'); -
Updated OLAP DML Reference 10.2 posted to OTN
The Oracle OLAP DML Reference has been updated with corrections for Oracle Database 10.2. As you may not be aware, this document corresponds to the OHJ Help for Analytic Workspace Manager. You can find the revised doc at :
http://www.oracle.com/technology/products/bi/olap/OLAP_DML_10.2.zip
NOTES :
* The part number is same as the original 10.2 version, however it has an October 2005 date on it.
* Once AWM 10.2.0.2 is released, it will contain the updated, corresponding OHJ Help. AWM 10.2.0.1.0 and 10.2.0.1.0A contain the original 10.2 OHJ Help.I'm thinking I don't have a real operational problem here, but I do like to tie up any loose ends and keep things as clean as possible.
Ditto....we had many more invalid objects after the upgrade than before and they were all OLAP related. As we weren't using OLAP we did the cleanup to avoid any future issues.
It seems odd to me that if one selects to install Standard Edition One, it would still install EE options at all ..... just to have DBUA choke on them later.
Our Oracle support guy was a bit confused as to why the OLAP removal scripts didn't exist on our server. This was expected for Standard Edition but not Enterprise Edition. Something has probably happened during some migration/upgrade to cause this. In any case removing the objects manually including the public OLAP synonyms resolved our issues. -
Datetime arithmetics in OLAP DML
Hi.
I have some miscalculations in my OLAP DML programs.
For example I want to subtract 5 min. from some datetime variable
NLS_DATE_FORMAT = 'dd.mm.yyyy hh24:mi:ss'
SHOW TO_DATE('10.02.2005 10:00:00') - 1 / 24 / 12
I've got
10.02.2005 10:05:00
I've discovered miscalculation take place only while subtracting fractional numbers. Addition works accurately with any numbers.
Can anyone help me?
Thank you.
AndrewHi Lars
I'm sorry. I wrote first message from memory and I took arbitrary time value.
I discovered that problem take place with round day datetime variable.
For example
NLS_DATE_FORMAT = 'dd.mm.yyyy hh24:mi:ss'
SHOW TO_DATE('10.02.2005 00:00:00') - 1 / 24 / 12
I've got
10.02.2005 00:05:00
But that is not a problem in PL/SQL, only in OLAP DML. -
Creating a Cube using pure OLAP DML
This should be quite simple, but neither reading OLAP_*.pdf nor googling helped me, so maybe you can give me a hint where to look:
I want to create dimensions, populate them, create a cube, and finally populate it, using just OLAP DML (i.e. no DBMS_AW or CWM/CWM2 packages).
1) How can I execute OLAP DML? Right now I'm using sqlplus, wrapping each line in execute dbms_aw.execute(...);
There's some better way, right? :)
2) Can someone give me a link to a simple tutorial, showing how to create a cube et c.? Right now I'm as far as
AW CREATE olaptest1
DEFINE dimfoo DIMENSION TEXT AW olaptest1
DEFINE dimbar DIMENSION TEXT AW olaptest1
SQL SELECT DISTINCT(foo) FROM footable ORDER BY 1 INTO :dimfoo
(the latter one fails, telling me that "quux is not a vaild olaptest1!dimfoo")
3) Have I understood this correctly: I only need an Catalog if I want to work with AWM or DBMS_AWM, not if I just use DML?I'm not sure exactly why you want to do this.
I guess I didn't explain very clearly :)
We (i.e. the company I work for) creates software (in C++) which needs to work with a lot of data which is in an Oracle-DB.
As the analysis done by the SW would profit (performance-wise) from the layout of the data in an cube, we want to get the data in a cube.
But information like the number of dimensions isn't known beforehand (as that's sth. that's dependent on the site the customer uses the SW on, and can
change with time), the software has to do the creation of dims and the cube itself.
(For the curious ones: http://www.centerpoint.eu.com/ )
And as OLAPI isn't available for C++ (at least afaics), I'd really want to do this in PL/SQL.
If you do use standard form, you then allow yourself the
option of using the various tools later
That's really not needed :)
You can always build the original AW using
AWM, then save the build script it generates, and use
that to do subsequent builds.
Is that build-script in OLAP DML? How do I save it?
BTW, in addition to the SPL INFILE command, there is
the DBMS_AW.INFILE plsql routine, which saves you
some quotes :-).
dbms_aw.execute('infile ''work_dir/my.inf''') vs
dbms_aw.infile('work_dir/my.inf')
I hate superfluous quotes :)
Thanks Jim! -
Whitepaper/Info Budgeting/Planning/Writeback via Oracle OLAP DML
Hi,
does anyone know of any whitepaper, manual section, general information regarding writeback, planning, budgeting using Oracle OLAPs DML API? We would like to upgrade our proprietary DataAccess-Layer, which interfaces to Oracle OLAP via the DML-API, to allow writeback.
As said the documentation for this topic seems to be scarce to none.
Just to give an example: it is not possible to write back values to the base measures UNITS_CUBE_SALES/COST/UNITS of the UNITS_CUBE in global AW, since all of them are FORMULA objects. The underlying variable to which you can assign values is in 10g UNITS_CUBE_SALES_STORED, whereas in 11g you would limit the ALL_MEASURES_DIM object to the SALES measure and assign a value to a variable named UNITS_CUBE_STORED. Basically this is information I was fishing out of this forum, but didn't find documented in the Oracle manuals.
Therefor I am wondering, if writeback via the Oracle OLAP DML API is something, which is officially not supported? Or maybe I just didn't look in the right places to find documentation.
BTW: I am looking at this topic from an ISV point of view.
Best regards
Ralf
Edited by: Ralf Steinstraesser on Aug 18, 2009 5:15 AMhello,
i can only speak about 10 G
There are 2 modes to attach an aw for writing data.
http://download.oracle.com/docs/cd/B19306_01/olap.102/b14346/dml_x_arcsin011.htm#i1016126
1)In rw mode
Only one user can have an analytic workspace open in read/write at a time
2)in multi mode
A workspace that is attached in multiwriter mode can be accessed simultaneously by several sessions
you find documentation for multi write
http://download.oracle.com/docs/cd/B19306_01/olap.102/b14346/dml_appcats003.htm#CHDJFJHD
hope this help you
jean marc -
Hello!
Just upgraded from 10.2.0.4 64 bit Windows to 11.2.0.2 64 bit OEL it test environment. DB Compatibility = 11.2.
SQL> select comp_name,version,status from DBA_REGISTRY where comp_name like '%OLAP%';
COMP_NAME
VERSION STATUS
OLAP Analytic Workspace
11.2.0.2.0 VALID
Oracle OLAP API
11.2.0.2.0 VALID
OLAP Catalog
11.2.0.2.0 VALID
Problem 1: We had 2 AWs in PROD on 10.2.0.4.We can not open any of them in 10g mode.
Problem 2: When we are trying to create AW in 11G mode we receive this error: XOQ-00703: error executing OLAP DML command "(SYS.AWXML!R11_INITIALIZE_AW
We have tried to rerun xumuts.plb under sys.
Log contains following errors:
=============================================
BEGIN dbms_aw_build.build('EXPRESS', FALSE); END;
ERROR at line 1:
ORA-00600: internal error code, arguments: [xspg: RSALPAGE01], [8128], [], [],
ORA-06512: at "SYS.DBMS_AW_BUILD", line 107
ORA-06512: at line 1
BEGIN dbms_aw_build.build('AWMD', TRUE); END;
ERROR at line 1:
ORA-34738: A severe problem has been detected. Analytic workspace operations
have been disabled.
ORA-06512: at "SYS.DBMS_AW_BUILD", line 107
ORA-06512: at line 1
==========================================
and so on for each system AW
should we raise a SR or somebody has any idea?
Big thx in advance!
Regards,
Kirill
Edited by: Kirill on Jun 16, 2011 1:34 PMI think you should raise an SR on this issue.
-
INI: XOQ-01600: OLAP DML error "ORA-4030: out of process memory" OLAP PGA S
Hi All ,
While executing the cube generation I am getting an error. Anybody knows the reason ? I have amended the olap_page_pool_size to 200MB and it doesn't help at all .
INI: error creating a definition manager, Generic at TxsOqConnection::generic<BuildProcess>INI: XOQ-01600: OLAP DML error "ORA-4030: out of process memory when trying to allocate 82860 bytes (OLAP PGA Stack,xsVPBlankParm: PPARM)" while executing DML "SYS.AWXML!R11_COMPILE_PARTITIONS('TIME.DIMENSION')", Generic at TxsOqStdFormCommand::execute
Thanks in advance,
DebashisHI David ,
Thanks for the reply.
My Time Dimension having 10 years of data in day level granularity and Fact table is not partitioned and having only one month of data as 299 records .
Just to let you know that we define two hierarchy level under TIMES one is "ALL levels" and another is Detail where END_DATE has been defaulted with some value and TIME_SPAN is set mapped to the Times table column having distinct value 1 for each records .Also the Member specified as ROW_WID of the Time table.
Just to let you know we have ran(Maintain from Dimension hierarchy) 'Product' and 'Position' dimension individually and it works fine i.e Load ,Compile and Sync process works fine but while run Times it is throwing issue :
ORA-4030: out of process memory when trying to allocate 59340 bytes (OLAP PGA Stack,xsVPBlankParm: PPARM)" while executing DML
we run the Times hierarchy from OLAPTRAIN and it was perfectly fine . Not sure with our time Dim definition .
Any clue ?
Many Thanks,
Debashis -
hi all,
I am trying to do the tutorial Building OLAP 11g Cubes (http://st-curriculum.oracle.com/obe/db/11g/r1/olap/cube/buildicubes.htm), but when I try to "Maintain Cube SALES_CUBE" I get the following error:
An error has occurred on the server
Error class: Express Failure
Server error descriptions:
INI: error creating a definition manager, Generic at TxsOqConnection::generic<BuildProcess>
INI: ORA-35571: The maximum number of load errors has occurred. No changes from this step were committed to the database.
XOQ-01600: OLAP DML error while executing DML "SYS.AWXML!R11_LOAD_DIM", Generic at TxsOqStdFormCommand::execute
INI: XOQ-01601: error while loading data for Cube Dimension "OLAPTRAIN.PRODUCT" into the analytic workspace, Generic at TxsOqStdFormCommand::callR11LoadDim
at oracle.olapi.data.source.DataProvider.callGeneric(Unknown Source)
at oracle.olapi.data.source.DataProvider.callGeneric(Unknown Source)
at oracle.olapi.data.source.DataProvider.executeBuild(Unknown Source)
at oracle.olap.awm.wizard.awbuild.UBuildWizardHelper$2.construct(Unknown Source)
at oracle.olap.awm.ui.SwingWorker$2.run(Unknown Source)
at java.lang.Thread.run(Thread.java:662)
Can anyone help me?
Thanks,
CarlosI have seen this (in 11.1.0.7, I believe) when the metadata cache ("kgl") gets out of synch with the data dictionary. Specifically there is a flag that determines if prefixes get added to dimension members ("use surrogates" in AWM terms) that becomes false instead of true. If you look at the generated SQL in the OUTPUT column of the CUBE_BUILD_LOG you may find that sometimes a prefix is added to dimension members (e.g. "LEAF_LEVEL_" || dim_table.leaf_column) and othertimes it is not (e.g. just dim_table.leaf_column). A workaround if this is the case may be to execute the following (as dba) before building the dimension.
alter system flush shared_pool;
Maybe you are looking for
-
How to write a condition in BEX Query Designer
Hi How can i write a condition in Query Designer Scenario An employee can purchase any no of policies in a day or month.each policy will have start date and expiry date. My requirment Count all the policies(valid) by employee on a ranges basis except
-
How do you unlock a disabled ipad mini? I have my notes in Notability and I don't want to lose them. I know my passcode but I left my keyboard on and it disabled it.
-
Hi all, can anyone tell me about C form layouts in Std.SAP... also i want to know how to map the process flow to see layout standard SAP please guide Regards Rahul
-
Dear All, i want T code for automatic PR generation(MRP PR) report.
-
Hello, i need a little help. I have 2 procedures that start together and access to a log table (in the begin empty). The first that access have to create the sequence number 1, and the others have to take the next number. The 2 procedures must have 2