Joan, could it be oracle does the check to see if the grant already exists(and I'm totally speculating here), and sees it already does and doesn't do anything and moves on to the next view/table? Could you make it more smart by writing the query to it only has to do the grants on ones that its missing? just some rambling thoughts. Joe --------------------------------------- You can have it: Fast, Right or Cheap, pick 2 of the 3. Fast + Right is Expensive Fast + Cheap will be incorrect. Right + Cheap will take a while. Joan Hsieh <joan.hsieh@xxxxxxxxx> Sent by: oracle-l-bounce@xxxxxxxxxxxxx 05/14/2008 02:48 PM Please respond to joan.hsieh@xxxxxxxxx From Joan Hsieh <joan.hsieh@xxxxxxxxx> To oracle_l <ORACLE-L@xxxxxxxxxxxxx> cc Subject grant select command so slow Hi list, I have created a role with just select privilege on all sysadm objects. The script run very fast at first time. Since there maybe new tables created in the prod. So I cron the script, run it every night. Now the script ran so slow, each grant statement at least took 2 to 3 seconds. So it never finished to run in one day. (totally had more than 49000 tables and views). The system is not loaded, most time is just this session is active. The other function seems normal, users didn't complain for their activities. Do you know any reason why the "grant select on syadm.xxxx to role" run so slow? Thanks, Joan -- //www.freelists.org/webpage/oracle-l