【案例】ORA-01031: insufficient privileges处理记录
ORA-01031: insufficient privileges处理记录
SYS@orcl1> conn srv_elon/elon
Connected.
srv_elon@orcl1>
srv_elon@orcl1> select count(*) from "SCOTT"."V_EMPLOYEES" ;
select count(*) from "SCOTT"."V_EMPLOYEES"
*
ERROR at line 1:
ORA-01031: insufficient privileges
SYS@orcl1> select OWNER,OBJECT_NAME,OBJECT_TYPE from dba_objects where OBJECT_NAME='V_EMPLOYEES';
SCOTT V_EMPLOYEES VIEW
SYS@orcl1>
查视图定义:
SYS@orcl1> set long 9999
SYS@orcl1> select DBMS_METADATA.GET_DDL('VIEW','V_EMPLOYEES','SCOTT') from dual;
CREATE OR REPLACE FORCE VIEW "SCOTT"."V_EMPLOYEES" ("??ID", "????", "???"
, "????", "????", "??????", "??????", "??????", "????", "????") AS
select t.id as ??ID,
'' as ????,
t.testdate || '+' || t.sampleid || '+' || t.machineid as ???,
CASE WHEN
......
from sh.t_sample t, sh.t_result a
where t.testdate = a.testdate
and t.sampleid = a.sampleid
and t.machineid = a.machineid
order by t.id
SYS@orcl1> grant select on sh.t_result to SCOTT with grant option;
Grant succeeded.
SYS@orcl1> grant select on sh.t_sample to SCOTT with grant option;
Grant succeeded.
然后,测试成功
srv_elon@orcl1> select count(*) from sh.V_EMPLOYEES;
COUNT(*)
----------
342