Hi Mohamed The customer ran packages using call package.procedure(), when I changed it to exec package.procedure() direct path reads kicked in, otherwise it used db file scattered read. On Sun, Feb 1, 2015 at 8:09 PM, Mohamed Houri <mohamed.houri@xxxxxxxxx> wrote: > I know one difference in calling a package using > > *call package.procedure()* > > versus > > *begin* > * package.procedure()* > *end;* > > In case you use the cursor sharing FORCE, bind variable substitution will > occur in the first manner of calling the package while it will not occur in > the pl/sql begin end call > > https://hourim.wordpress.com/?s=bind+variable > > As a call represents a SQL function, exception like no_data_found and when > to many rows will not be reported as error while in th begin end call those > two errors will be reported > > I didn't tested the comparison between call and exec. > > Best regards > Mohamed Houri > www.hourim.wordpress.com > > 2015-02-01 19:17 GMT+01:00 Ls Cheng <exriscer@xxxxxxxxx>: > >> Hi all >> >> Does anyone know the difference between invoking a package using CALL or >> EXEC? >> >> I hit a bug recently, 15882436, and wondering if anyone know the >> difference between using call and exec. >> >> Even the bug is for Exadata I have been bitten in both Exadata 11.2.0.3 >> and AIX 11.2.0.4 environments >> >> Thanks >> >> >> > > > -- > > Houri Mohamed > > Oracle DBA-Developer-Performance & Tuning > > Member of Oraworld-team <http://www.oraworld-team.com/> > > Visit My - Blog <http://www.hourim.wordpress.com/> > > Let's Connect - > <http://fr.linkedin.com/pub/mohamed-houri/11/329/857/>*Linkedin > Profile <http://fr.linkedin.com/pub/mohamed-houri/11/329/857/>* > > My Twitter <https://twitter.com/MohamedHouri> - MohamedHouri > <https://twitter.com/MohamedHouri> > >