dbTalk Databases Forums  

parallel process utility and locked cubes...

microsoft.public.sqlserver.olap microsoft.public.sqlserver.olap


Discuss parallel process utility and locked cubes... in the microsoft.public.sqlserver.olap forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Jéjé
 
Posts: n/a

Default parallel process utility and locked cubes... - 07-07-2005 , 09:19 PM






Hi,

When I process my cubes in parallel using the parallel process utility
processing a cube can be locked by another if these 2 cubes are used in the
same virtual cube.
When the process A process the cube A, after the process it starts to
process the virtual cube which also starts a process of the cube B, but this
cube is already locked for process by the process B.
so the process is aborted for the locked cube and rolled back.

there is any option available to not process virtual cubes automatically
after a cube process?

The only option I can do is to use only 1 task, so no multitasks and no
optimisation...

thanks for your help.

Jerome.



Reply With Quote
  #2  
Old   
Dave Wickert [MSFT]
 
Posts: n/a

Default Re: parallel process utility and locked cubes... - 07-08-2005 , 12:36 AM






Unfortunately no. It is DSO which is doing the built-in process of the
virtual cube after the first cube; not the PPU utility itself. This isn't
normally done -- I think that this is the first process; or the first
process after a full process of the cube that forces the virtual cube
reprocess.
--
Dave Wickert [MSFT]
dwickert (AT) online (DOT) microsoft.com
Program Manager
BI SystemsTeam
SQL BI Product Unit (Analysis Services)
--
This posting is provided "AS IS" with no warranties, and confers no rights.


"Jéjé" <willgart (AT) BBBhotmailAAA (DOT) com> wrote

Quote:
Hi,

When I process my cubes in parallel using the parallel process utility
processing a cube can be locked by another if these 2 cubes are used in
the same virtual cube.
When the process A process the cube A, after the process it starts to
process the virtual cube which also starts a process of the cube B, but
this cube is already locked for process by the process B.
so the process is aborted for the locked cube and rolled back.

there is any option available to not process virtual cubes automatically
after a cube process?

The only option I can do is to use only 1 task, so no multitasks and no
optimisation...

thanks for your help.

Jerome.





Reply With Quote
  #3  
Old   
pras
 
Posts: n/a

Default Re: parallel process utility and locked cubes... - 07-08-2005 , 01:38 AM



Process the base cubes using parallelprocess utility(if multiple
partitions are involved try dynamic creatin of .PCO file) and process
the virtual cubes using DSO.
DTS package steps should be organised to process the base cubes and
then all the Virtual cubes serially

Regards
Prasanna


Reply With Quote
  #4  
Old   
Jéjé
 
Posts: n/a

Default Re: parallel process utility and locked cubes... - 07-08-2005 , 07:43 AM



its what's my sequence do.
but the problem is: 2 full process are executed on the same time , these 2
process are on 2 cubes related to the same virtual cube and there is no way
to process the cubes only without processing the underlying virtual cube. So
there is a lock.

"pras" <prasannat (AT) gmail (DOT) com> wrote

Quote:
Process the base cubes using parallelprocess utility(if multiple
partitions are involved try dynamic creatin of .PCO file) and process
the virtual cubes using DSO.
DTS package steps should be organised to process the base cubes and
then all the Virtual cubes serially

Regards
Prasanna




Reply With Quote
  #5  
Old   
pras
 
Posts: n/a

Default Re: parallel process utility and locked cubes... - 07-11-2005 , 01:16 AM



try using below DSO code and process the virtual cube

Const adCmdText = 1
Const adCmdStoredProc = 4
Const adUseClient = 3

Function Main()

Dim oDB
Dim oCube, dsoServer

Set oServer = CreateObject("DSO.Server")

' Connect to the server
oServer.Connect "<OLAP Server Name>"
If oServer.MDStores.Find("<OLAP Database name>") Then
Set oDB = oServer.MDStores("<OLAP Database name>")
Else
Set oServer = Nothing
End If

'Checking if the cubename is valid
If oDB.MDStores.Find("<Virtual Cube Name>") Then
Set oCube = oDB.MDStores("<Virtual Cube Name>")
Else
Set oDB = Nothing
End If

oCube.Process processful
if Err.Number<>0 then
Main= DTSTaskExecResult_Failure
Exit Function
End if
Main= DTSTaskExecResult_Success

End Function

Regards,
Prasanna (pras)

Jéjé wrote:
Quote:
its what's my sequence do.
but the problem is: 2 full process are executed on the same time , these 2
process are on 2 cubes related to the same virtual cube and there is no way
to process the cubes only without processing the underlying virtual cube.So
there is a lock.

"pras" <prasannat (AT) gmail (DOT) com> wrote in message
news:1120804720.748576.260770 (AT) g43g2000cwa (DOT) googlegroups.com...
Process the base cubes using parallelprocess utility(if multiple
partitions are involved try dynamic creatin of .PCO file) and process
the virtual cubes using DSO.
DTS package steps should be organised to process the base cubes and
then all the Virtual cubes serially

Regards
Prasanna



Reply With Quote
  #6  
Old   
Jéjé
 
Posts: n/a

Default Re: parallel process utility and locked cubes... - 07-11-2005 , 07:02 AM



processing the virtual cubes is not enough
I real want to process the cubes before

When I right click on the "cubes" (with S) in the analysis services manager,
I can process all the cubes in sequence and the virtual cubes are processed
at the end only.
how its possible to do the same thing by code?

"pras" <prasannat (AT) gmail (DOT) com> wrote

try using below DSO code and process the virtual cube

Const adCmdText = 1
Const adCmdStoredProc = 4
Const adUseClient = 3

Function Main()

Dim oDB
Dim oCube, dsoServer

Set oServer = CreateObject("DSO.Server")

' Connect to the server
oServer.Connect "<OLAP Server Name>"
If oServer.MDStores.Find("<OLAP Database name>") Then
Set oDB = oServer.MDStores("<OLAP Database name>")
Else
Set oServer = Nothing
End If

'Checking if the cubename is valid
If oDB.MDStores.Find("<Virtual Cube Name>") Then
Set oCube = oDB.MDStores("<Virtual Cube Name>")
Else
Set oDB = Nothing
End If

oCube.Process processful
if Err.Number<>0 then
Main= DTSTaskExecResult_Failure
Exit Function
End if
Main= DTSTaskExecResult_Success

End Function

Regards,
Prasanna (pras)

Jéjé wrote:
Quote:
its what's my sequence do.
but the problem is: 2 full process are executed on the same time , these 2
process are on 2 cubes related to the same virtual cube and there is no
way
to process the cubes only without processing the underlying virtual cube.
So
there is a lock.

"pras" <prasannat (AT) gmail (DOT) com> wrote in message
news:1120804720.748576.260770 (AT) g43g2000cwa (DOT) googlegroups.com...
Process the base cubes using parallelprocess utility(if multiple
partitions are involved try dynamic creatin of .PCO file) and process
the virtual cubes using DSO.
DTS package steps should be organised to process the base cubes and
then all the Virtual cubes serially

Regards
Prasanna




Reply With Quote
  #7  
Old   
pras
 
Posts: n/a

Default Re: parallel process utility and locked cubes... - 07-12-2005 , 03:26 AM



Create a table which holds the name of the cube and Olap database
loop thru the table get the cube name and Olap database
Process them one by one using parallel process utility by creating
dynamic PCO file (thru code) for each cube and then process the virtual
cube individually no need to use Parallel process utility for
processing the virtual cubes.

Processing the virtual cube is as per the code previously mentioned in
the thread.

Regards,
Prasanna


Jéjé wrote:
Quote:
processing the virtual cubes is not enough
I real want to process the cubes before

When I right click on the "cubes" (with S) in the analysis services manager,
I can process all the cubes in sequence and the virtual cubes are processed
at the end only.
how its possible to do the same thing by code?

"pras" <prasannat (AT) gmail (DOT) com> wrote in message
news:1121062604.724191.314530 (AT) g49g2000cwa (DOT) googlegroups.com...
try using below DSO code and process the virtual cube

Const adCmdText = 1
Const adCmdStoredProc = 4
Const adUseClient = 3

Function Main()

Dim oDB
Dim oCube, dsoServer

Set oServer = CreateObject("DSO.Server")

' Connect to the server
oServer.Connect "<OLAP Server Name>"
If oServer.MDStores.Find("<OLAP Database name>") Then
Set oDB = oServer.MDStores("<OLAP Database name>")
Else
Set oServer = Nothing
End If

'Checking if the cubename is valid
If oDB.MDStores.Find("<Virtual Cube Name>") Then
Set oCube = oDB.MDStores("<Virtual Cube Name>")
Else
Set oDB = Nothing
End If

oCube.Process processful
if Err.Number<>0 then
Main= DTSTaskExecResult_Failure
Exit Function
End if
Main= DTSTaskExecResult_Success

End Function

Regards,
Prasanna (pras)

Jéjé wrote:
its what's my sequence do.
but the problem is: 2 full process are executed on the same time , these 2
process are on 2 cubes related to the same virtual cube and there is no
way
to process the cubes only without processing the underlying virtual cube.
So
there is a lock.

"pras" <prasannat (AT) gmail (DOT) com> wrote in message
news:1120804720.748576.260770 (AT) g43g2000cwa (DOT) googlegroups.com...
Process the base cubes using parallelprocess utility(if multiple
partitions are involved try dynamic creatin of .PCO file) and process
the virtual cubes using DSO.
DTS package steps should be organised to process the base cubes and
then all the Virtual cubes serially

Regards
Prasanna



Reply With Quote
  #8  
Old   
Jéjé
 
Posts: n/a

Default Re: parallel process utility and locked cubes... - 07-12-2005 , 07:21 AM



my code do this.
Except I call directly the processpartition tool directly instead of
creating a pco file.
Also My code handle errors and reprocess dimensions if require:
if there is any error during an incremental load of a dimension, then I
perform a full process of the dimension. Which is not possible using the PCO
file.

Well... I'll create a monothread version of my code and I'll call the
DSO.Process method directly.

"pras" <prasannat (AT) gmail (DOT) com> wrote

Create a table which holds the name of the cube and Olap database
loop thru the table get the cube name and Olap database
Process them one by one using parallel process utility by creating
dynamic PCO file (thru code) for each cube and then process the virtual
cube individually no need to use Parallel process utility for
processing the virtual cubes.

Processing the virtual cube is as per the code previously mentioned in
the thread.

Regards,
Prasanna


Jéjé wrote:
Quote:
processing the virtual cubes is not enough
I real want to process the cubes before

When I right click on the "cubes" (with S) in the analysis services
manager,
I can process all the cubes in sequence and the virtual cubes are
processed
at the end only.
how its possible to do the same thing by code?

"pras" <prasannat (AT) gmail (DOT) com> wrote in message
news:1121062604.724191.314530 (AT) g49g2000cwa (DOT) googlegroups.com...
try using below DSO code and process the virtual cube

Const adCmdText = 1
Const adCmdStoredProc = 4
Const adUseClient = 3

Function Main()

Dim oDB
Dim oCube, dsoServer

Set oServer = CreateObject("DSO.Server")

' Connect to the server
oServer.Connect "<OLAP Server Name>"
If oServer.MDStores.Find("<OLAP Database name>") Then
Set oDB = oServer.MDStores("<OLAP Database name>")
Else
Set oServer = Nothing
End If

'Checking if the cubename is valid
If oDB.MDStores.Find("<Virtual Cube Name>") Then
Set oCube = oDB.MDStores("<Virtual Cube Name>")
Else
Set oDB = Nothing
End If

oCube.Process processful
if Err.Number<>0 then
Main= DTSTaskExecResult_Failure
Exit Function
End if
Main= DTSTaskExecResult_Success

End Function

Regards,
Prasanna (pras)

Jéjé wrote:
its what's my sequence do.
but the problem is: 2 full process are executed on the same time , these
2
process are on 2 cubes related to the same virtual cube and there is no
way
to process the cubes only without processing the underlying virtual
cube.
So
there is a lock.

"pras" <prasannat (AT) gmail (DOT) com> wrote in message
news:1120804720.748576.260770 (AT) g43g2000cwa (DOT) googlegroups.com...
Process the base cubes using parallelprocess utility(if multiple
partitions are involved try dynamic creatin of .PCO file) and process
the virtual cubes using DSO.
DTS package steps should be organised to process the base cubes and
then all the Virtual cubes serially

Regards
Prasanna




Reply With Quote
  #9  
Old   
Dave Wickert [MSFT]
 
Posts: n/a

Default Re: parallel process utility and locked cubes... - 07-12-2005 , 08:10 PM



Or feel free to modify the Parallel Process Utility if you have some special
pre- or post-procesing steps you want to do. This is one of the reasons why
I pressed so strongly for us to release the source code for the utility.. It
is included in source form -- just look in the src folder.
--
Dave Wickert [MSFT]
dwickert (AT) online (DOT) microsoft.com
Program Manager
BI SystemsTeam
SQL BI Product Unit (Analysis Services)
--
This posting is provided "AS IS" with no warranties, and confers no rights.


"Jéjé" <willgart_A_ (AT) hotmail_A_ (DOT) com> wrote

Quote:
my code do this.
Except I call directly the processpartition tool directly instead of
creating a pco file.
Also My code handle errors and reprocess dimensions if require:
if there is any error during an incremental load of a dimension, then I
perform a full process of the dimension. Which is not possible using the
PCO file.

Well... I'll create a monothread version of my code and I'll call the
DSO.Process method directly.

"pras" <prasannat (AT) gmail (DOT) com> wrote in message
news:1121156781.304842.294590 (AT) g47g2000cwa (DOT) googlegroups.com...
Create a table which holds the name of the cube and Olap database
loop thru the table get the cube name and Olap database
Process them one by one using parallel process utility by creating
dynamic PCO file (thru code) for each cube and then process the virtual
cube individually no need to use Parallel process utility for
processing the virtual cubes.

Processing the virtual cube is as per the code previously mentioned in
the thread.

Regards,
Prasanna


Jéjé wrote:
processing the virtual cubes is not enough
I real want to process the cubes before

When I right click on the "cubes" (with S) in the analysis services
manager,
I can process all the cubes in sequence and the virtual cubes are
processed
at the end only.
how its possible to do the same thing by code?

"pras" <prasannat (AT) gmail (DOT) com> wrote in message
news:1121062604.724191.314530 (AT) g49g2000cwa (DOT) googlegroups.com...
try using below DSO code and process the virtual cube

Const adCmdText = 1
Const adCmdStoredProc = 4
Const adUseClient = 3

Function Main()

Dim oDB
Dim oCube, dsoServer

Set oServer = CreateObject("DSO.Server")

' Connect to the server
oServer.Connect "<OLAP Server Name>"
If oServer.MDStores.Find("<OLAP Database name>") Then
Set oDB = oServer.MDStores("<OLAP Database name>")
Else
Set oServer = Nothing
End If

'Checking if the cubename is valid
If oDB.MDStores.Find("<Virtual Cube Name>") Then
Set oCube = oDB.MDStores("<Virtual Cube Name>")
Else
Set oDB = Nothing
End If

oCube.Process processful
if Err.Number<>0 then
Main= DTSTaskExecResult_Failure
Exit Function
End if
Main= DTSTaskExecResult_Success

End Function

Regards,
Prasanna (pras)

Jéjé wrote:
its what's my sequence do.
but the problem is: 2 full process are executed on the same time ,
these 2
process are on 2 cubes related to the same virtual cube and there is no
way
to process the cubes only without processing the underlying virtual
cube.
So
there is a lock.

"pras" <prasannat (AT) gmail (DOT) com> wrote in message
news:1120804720.748576.260770 (AT) g43g2000cwa (DOT) googlegroups.com...
Process the base cubes using parallelprocess utility(if multiple
partitions are involved try dynamic creatin of .PCO file) and process
the virtual cubes using DSO.
DTS package steps should be organised to process the base cubes and
then all the Virtual cubes serially

Regards
Prasanna






Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.