Monday, June 29, 2015

ORA-01720 ... Error while recreating a view in 12c



We were testing some of my scripts for 12c upgrade . There were few changes to few views . So , we changed the script and deploy it . 

The script was similar to the following 

Create or replace view v_emp_access .... 

When we execute the view , we got the following error .



Error at Command Line : 24 Column : 8
Error report -
SQL Error: ORA-01720: grant option does not exist for 'SCOTT.EMP'
01720. 00000 -  "grant option does not exist for '%s.%s'"
*Cause:    A grant was being performed on a view and the grant option was
           not present for an underlying object.
*Action:   Obtain the grant option on all underlying objects of the view.

All the grants have been provisioned and everything works in lower versions. 
 
After few minutes of R&D , found that the behavior was changed by Oracle from 11.2.0.4 onwards. The resolution is to either drop all the grants and recreate the view or drop the view ( thus dropping the grants )  and recreate it again.  

Per Oracle , this is not a bug ; works as designed. 
You can refer to MOS article (Doc ID 1628033.1) for additional information .




No comments:

Post a Comment