| 
		
			| Is there any way to have the DB articulate why PDML is blocked [message #584243] | Fri, 10 May 2013 08:03  |  
			| 
				
				
					| Roachcoach Messages: 1576
 Registered: May 2010
 Location: UK
 | Senior Member |  |  |  
	| All, 
 I think the answer is "no", but I figure you guys will know if it can be done.
 
 The question is, per title, simple:
 
 Can I have the database show why it cannot perform parallel DML (update) to a given object?
 
 
 I've checked the basics in accordance with the documentation i.e. triggers/partitions/self referencing FKs etc - I'd like to say I know what I'm doing with this but this eludes me.
 
 The only vague reference in the documentation is "replication is not supported" but there is no expansion to this.
 
 
 I was hoping to find out what I'm missing that is blocking the PDML.
 
 I have tried a 10053 trace to check the hint section - but of course the hint is accepted anyway as even if the PDML cant be done, it still parallelizes the underlying object scan
  
 
 I CAN take a copy of the DDL and get PDML to work on that copy - my only suspect, really, is goldengate replication blocking it. You may think this is covered by "replication is not supported" but in my brief foray into that, I was pretty sure it sat well "under" the optimizer so I'd have been surprised (though not shocked) if that was the culprit.
 
 Cheers
 |  
	|  |  | 
	|  | 
	| 
		
			| Re: Is there any way to have the DB articulate why PDML is blocked [message #584251 is a reply to message #584248] | Fri, 10 May 2013 09:33   |  
			| 
				
				
					| Roachcoach Messages: 1576
 Registered: May 2010
 Location: UK
 | Senior Member |  |  |  
	| 15:31:15 SQL>sho parameter parallel
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
fast_start_parallel_rollback         string      LOW
parallel_adaptive_multi_user         boolean     FALSE
parallel_automatic_tuning            boolean     FALSE
parallel_degree_limit                string      CPU
parallel_degree_policy               string      MANUAL
parallel_execution_message_size      integer     16384
parallel_force_local                 boolean     FALSE
parallel_instance_group              string
parallel_io_cap_enabled              boolean     FALSE
parallel_max_servers                 integer     512
parallel_min_percent                 integer     0
parallel_min_servers                 integer     0
parallel_min_time_threshold          string      AUTO
parallel_server                      boolean     FALSE
parallel_server_instances            integer     1
parallel_servers_target              integer     512
parallel_threads_per_cpu             integer     2
recovery_parallelism                 integer     0
 
 15:32:32 SQL>l
  1  select PDML_STATUS from v$session
  2* where username = USER
15:32:33 SQL>/
PDML_STA
--------
ENABLED
ENABLED
 I /can/ get PDL working on some tables but not all. One of the troubled tables has a trigger, but disabling it doesnt help.
 
 As mentioned, no self referencing constraints, just a PK and not nulls/checks. No LOBs /distributed tnxs either, not IOT/cluser. It's basic of the basic as table structures go.
 [Updated on: Fri, 10 May 2013 09:41] Report message to a moderator |  
	|  |  | 
	|  | 
	|  | 
	|  | 
	|  | 
	|  | 
	|  | 
	| 
		
			| Re: Is there any way to have the DB articulate why PDML is blocked [message #584545 is a reply to message #584338] | Wed, 15 May 2013 05:01   |  
			| 
				
				
					| pointers Messages: 451
 Registered: May 2008
 | Senior Member |  |  |  
	| Hi, 
 I am not sure if it makes any help, not sure if you are forcing a parallel hint.
 
 Quote:
 The parallel() hint does not tell Oracle to run a query in parallel, it tells the optimizer to use a certain scale factor in certain areas of its calculation. But if a path is still too expensive, even after scaling, that path will not be chosen.Jonthan has written here
 
 
 Regards,
 Pointers
 |  
	|  |  | 
	|  |