Re: ORA-01031: Insufficient Privileges (Urgent)
- From: "Stuart Lindenmayer" <stuart.lindenmayer@xxxxxxxxx>
- To: crcbedoy@xxxxxxxxxxxxxxxxx
- Date: Fri, 1 Sep 2006 00:38:21 +1000
Hi,
I think you may be missing a "grant select on vw_qqqq to y;" Due to
Oracle's definer rights model there should be no need to grant select or
execute on the underlying objects to the other user. I ran the following on
a 9i database without a problem:
SQL> create user test1 identified by test1 default tablespace users
temporary tablespace temp;
User created.
SQL> create user test2 identified by test2 default tablespace users
temporary tablespace temp;
User created.
SQL> grant connect, resource to test1, test2;
Grant succeeded.
SQL> conn test1/test1
Connected.
SQL> create table t1 (n1 number);
Table created.
SQL> create table t2 (v1 varchar2(10));
Table created.
SQL> create function f1 return date is
2 begin
3 return sysdate;
4 end;
5 /
Function created.
SQL> create view v1 as
2 select n1, v1, f1 from t1, t2;
View created.
SQL> insert into t1 values (1);
1 row created.
SQL> insert into t2 values ('a');
1 row created.
SQL> select * from v1;
N1 V1 F1
---------- ---------- ---------
1 a 01-SEP-06
1 row selected.
SQL> grant select on v1 to test2;
Grant succeeded.
SQL> conn test2/test2
Connected.
SQL> select * from test1.v1;
N1 V1 F1
---------- ---------- ---------
1 a 01-SEP-06
1 row selected.
SQL>
Cheers,
Stu.
On 9/1/06, crcbedoy@xxxxxxxxxxxxxxxxx <crcbedoy@xxxxxxxxxxxxxxxxx> wrote:
Hi all,
I am in a tough situation :(, I have searched around, lots of FAQs,
newsgroups, etc and my problem continues:(. I have followed all of
the instructions given to other users with similar problems, but nothing
seems to work because the error message keeps appearing.
My problem is: We have a view, this view is owned by X user and it's
called by Y user.
connect as y/y;
select * from x.vw_qqqq;
ORA-01031: Insufficient Privileges
Now, this view is making a query to two tables:
x.table1
x.table2
It's also invoking the function: x.function1
We have a rol (since this view and other objects owned by this schema are
going to be invoked by several other users), which is: rol_y, I granted the
privileges with my username (A, granted with DBA privileges):
connect A/A;
GRANT SELECT ON x.table1 TO rol_y;
GRANT SELECT ON x.table2 TO rol_y;
GRANT ALL ON x.function1 TO rol_y;
And then:
connect as y/y;
select * from x.vw_qqqq;
ORA-01031: Insufficient Privileges
I then tried to:
connect A/A;
GRANT SELECT ON x.table1 TO y;
GRANT SELECT ON x.table2 TO y;
GRANT ALL ON x.function1 TO y with grant option;
I then created the synonyms to x.table1, x.table2 and x.function1 on
schema y. I tried again and ORA-01031: Insufficient Privileges.
I tried querying the tables one by one and there are no errors, but when I
try to execute the function, it gives me the error: Function must declared.
After updating the view and canceling the function invoke, user x can
query the view without any problem. Any help? hope? advice?..
S.O.S!!!!:(
Isabel Bedoya Gómez
Centro de Gestión y Control
Tel. 2307500 ext:
- References:
- ORA-01031: Insufficient Privileges (Urgent)
- From: crcbedoy
Other related posts:
- » ORA-01031: Insufficient Privileges (Urgent)
- » Re: ORA-01031: Insufficient Privileges (Urgent)
- » RE: ORA-01031: Insufficient Privileges (Urgent)
- » Re: ORA-01031: Insufficient Privileges (Urgent)
Hi all,
I am in a tough situation :(, I have searched around, lots of FAQs, newsgroups, etc and my problem continues:(. I have followed all of the instructions given to other users with similar problems, but nothing seems to work because the error message keeps appearing.
My problem is: We have a view, this view is owned by X user and it's called by Y user.
connect as y/y; select * from x.vw_qqqq; ORA-01031: Insufficient Privileges
Now, this view is making a query to two tables: x.table1 x.table2 It's also invoking the function: x.function1
We have a rol (since this view and other objects owned by this schema are going to be invoked by several other users), which is: rol_y, I granted the privileges with my username (A, granted with DBA privileges):
connect A/A; GRANT SELECT ON x.table1 TO rol_y; GRANT SELECT ON x.table2 TO rol_y; GRANT ALL ON x.function1 TO rol_y;
And then: connect as y/y; select * from x.vw_qqqq; ORA-01031: Insufficient Privileges
I then tried to:
connect A/A; GRANT SELECT ON x.table1 TO y; GRANT SELECT ON x.table2 TO y; GRANT ALL ON x.function1 TO y with grant option;
I then created the synonyms to x.table1, x.table2 and x.function1 on schema y. I tried again and ORA-01031: Insufficient Privileges. I tried querying the tables one by one and there are no errors, but when I try to execute the function, it gives me the error: Function must declared. After updating the view and canceling the function invoke, user x can query the view without any problem. Any help? hope? advice?..
S.O.S!!!!:(
Isabel Bedoya Gómez Centro de Gestión y Control Tel. 2307500 ext:
- ORA-01031: Insufficient Privileges (Urgent)
- From: crcbedoy