Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: I only want to see five tables with an Oracle user ID?
"The Pig" <iamdakidd_at_yahoo.com> wrote in message
news:81f0f183.0204231234.a0af3f3_at_posting.google.com...
> Guys,
>
> Need some help. When connecting via ODBC to an oracle server, I want
> to only see let's say five tables. That's it. I don't want to see
> the system tables associated with a default user, only certain tables.
> How do I do this. I have a Oracle DBA telling me that it can't be
> done but I know that it can. Any help would be appreciated. A
> detailed answer would be appreciated. Thanks.
>
> The Pig
I'm a DBA, and I don't understand why you're being given such a hard time.
AFAIK (and 9i bugs aside), you can only 'see' tables upon which you have the
select privilege (reflected by the view ALL_TABLES).
The trouble, I think, is that you actually *do* have the select privilege on
these tables, via a 'grant select on *unwanted tables* to PUBLIC', which
means that anyone can select from them. This privilege will apply
irrespective of whether your connection is via ODBC or any other method; the
access method is irrelevant.
Now here is the problem: To restrict your view to the five tables, the DBA
would have to 'revoke select on *unwanted tables* from PUBLIC'. This may be
impractical, as it could be, for example, that a mainstream application
relies on this. That may be the reason your DBA says it 'can't be done'.
This of course may not advance your cause very much, but at least it's an
attempt to explain why.
Regards,
Paul
Received on Wed Apr 24 2002 - 15:04:04 CDT