?
Solved

oracle sql developer and users

Posted on 2011-02-21
3
Medium Priority
?
665 Views
Last Modified: 2013-12-12
So i have inherited a datawarehouse type project.  The tool that has been in use has been oracle sql developer.  The problem is that the main user has been assigned out to random marketing and sales people who log onto the database and run random sql reports that have been given to them.  They dont know sql they just copy and paste.  So i am trying to get away from that.  I have made new users and assigned them roles using the script below but when i make a connection i cant see any of the tables.  The database name is myData, so the default user of 'master' can see all the tables but any of the new users i make cant see them even though i am assigning (what i think should be the correct roles to them)

What am i doing wrong and or is there a way to copy exactly the user 'master' with all permissions etc but give it a different name and password
create user mikes identified by oprules default tablespace users temporary tablespace temp;

grant connect to mikes;
grant resource to mikes;
grant dba to mikes;

Open in new window

0
Comment
Question by:Brant Snow
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 77

Expert Comment

by:slightwv (䄆 Netminder)
ID: 34946156
NEVER grant DBA to random users!!!

Greate a role and grant individual select to that role.

Then grant that role to the new users.

You are missing the synonyms for the master tables.  Without them you need to qualify the tables: select * from master.table;
0
 
LVL 4

Author Comment

by:Brant Snow
ID: 34946917
So how do i qualify the tables?

say i have a table called orders

GRANT SELECT ON orders TO READ_ONLY_ROLE;

i have done this but its still not working when i assign this role to the user, like i said even if i assign dba to the user i still cant access the tables

so when i created the user below was i supposed to enter the database name where 'tablespace' exists.


create user mikes identified by oprules default tablespace users temporary tablespace temp;

I know its not best practices to assign out dba to anyone, but even if i could copy the master user which seems to have dba priveledges, my only other option RIGHT NOW is to give out the master user to everyone, at least i would prefer to have different users with dba rights than just one user that everyone is using.
0
 
LVL 77

Accepted Solution

by:
slightwv (䄆 Netminder) earned 2000 total points
ID: 34947159
Either add the schema name: select * from master.orders;

or synonyms:
Create synonym mikes.orders for master.orders;
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This post first appeared at Oracleinaction  (http://oracleinaction.com/undo-and-redo-in-oracle/)by Anju Garg (Myself). I  will demonstrate that undo for DML’s is stored both in undo tablespace and online redo logs. Then, we will analyze the reaso…
When it comes to protecting Oracle Database servers and systems, there are a ton of myths out there. Here are the most common.
Via a live example show how to connect to RMAN, make basic configuration settings changes and then take a backup of a demo database
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Suggested Courses

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question