User of DBA role [message #578489] |
Thu, 28 February 2013 12:56 |
|
Jack14
Messages: 497 Registered: December 2011 Location: INDIA
|
Senior Member |
|
|
Hi,
Can we grant DBA role to users in database ? ( users like application users and users who are not part of DBA )
Regards,
Jack
|
|
|
|
|
|
Re: User of DBA role [message #578496 is a reply to message #578495] |
Thu, 28 February 2013 14:24 |
|
Jack14
Messages: 497 Registered: December 2011 Location: INDIA
|
Senior Member |
|
|
Michel,
But only user with SYSDBA privilege has the privilege to drop the database.
DBA role has following privileges.
SELECT statement result is right here
SQL> SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='DBA' ORDER BY PRIVILEGE;
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA ADMINISTER ANY SQL TUNING SET YES
DBA ADMINISTER DATABASE TRIGGER YES
DBA ADMINISTER RESOURCE MANAGER YES
DBA ADMINISTER SQL MANAGEMENT OBJECT YES
DBA ADMINISTER SQL TUNING SET YES
DBA ADVISOR YES
DBA ALTER ANY ASSEMBLY YES
DBA ALTER ANY CLUSTER YES
DBA ALTER ANY CUBE YES
DBA ALTER ANY CUBE DIMENSION YES
DBA ALTER ANY DIMENSION YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA ALTER ANY EDITION YES
DBA ALTER ANY EVALUATION CONTEXT YES
DBA ALTER ANY INDEX YES
DBA ALTER ANY INDEXTYPE YES
DBA ALTER ANY LIBRARY YES
DBA ALTER ANY MATERIALIZED VIEW YES
DBA ALTER ANY MINING MODEL YES
DBA ALTER ANY OPERATOR YES
DBA ALTER ANY OUTLINE YES
DBA ALTER ANY PROCEDURE YES
DBA ALTER ANY ROLE YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA ALTER ANY RULE YES
DBA ALTER ANY RULE SET YES
DBA ALTER ANY SEQUENCE YES
DBA ALTER ANY SQL PROFILE YES
DBA ALTER ANY TABLE YES
DBA ALTER ANY TRIGGER YES
DBA ALTER ANY TYPE YES
DBA ALTER DATABASE YES
DBA ALTER PROFILE YES
DBA ALTER RESOURCE COST YES
DBA ALTER ROLLBACK SEGMENT YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA ALTER SESSION YES
DBA ALTER SYSTEM YES
DBA ALTER TABLESPACE YES
DBA ALTER USER YES
DBA ANALYZE ANY YES
DBA ANALYZE ANY DICTIONARY YES
DBA AUDIT ANY YES
DBA AUDIT SYSTEM YES
DBA BACKUP ANY TABLE YES
DBA BECOME USER YES
DBA CHANGE NOTIFICATION YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA COMMENT ANY MINING MODEL YES
DBA COMMENT ANY TABLE YES
DBA CREATE ANY ASSEMBLY YES
DBA CREATE ANY CLUSTER YES
DBA CREATE ANY CONTEXT YES
DBA CREATE ANY CUBE YES
DBA CREATE ANY CUBE BUILD PROCESS YES
DBA CREATE ANY CUBE DIMENSION YES
DBA CREATE ANY DIMENSION YES
DBA CREATE ANY DIRECTORY YES
DBA CREATE ANY EDITION YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA CREATE ANY EVALUATION CONTEXT YES
DBA CREATE ANY INDEX YES
DBA CREATE ANY INDEXTYPE YES
DBA CREATE ANY JOB YES
DBA CREATE ANY LIBRARY YES
DBA CREATE ANY MATERIALIZED VIEW YES
DBA CREATE ANY MEASURE FOLDER YES
DBA CREATE ANY MINING MODEL YES
DBA CREATE ANY OPERATOR YES
DBA CREATE ANY OUTLINE YES
DBA CREATE ANY PROCEDURE YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA CREATE ANY RULE YES
DBA CREATE ANY RULE SET YES
DBA CREATE ANY SEQUENCE YES
DBA CREATE ANY SQL PROFILE YES
DBA CREATE ANY SYNONYM YES
DBA CREATE ANY TABLE YES
DBA CREATE ANY TRIGGER YES
DBA CREATE ANY TYPE YES
DBA CREATE ANY VIEW YES
DBA CREATE ASSEMBLY YES
DBA CREATE CLUSTER YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA CREATE CUBE YES
DBA CREATE CUBE BUILD PROCESS YES
DBA CREATE CUBE DIMENSION YES
DBA CREATE DATABASE LINK YES
DBA CREATE DIMENSION YES
DBA CREATE EVALUATION CONTEXT YES
DBA CREATE EXTERNAL JOB YES
DBA CREATE INDEXTYPE YES
DBA CREATE JOB YES
DBA CREATE LIBRARY YES
DBA CREATE MATERIALIZED VIEW YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA CREATE MEASURE FOLDER YES
DBA CREATE MINING MODEL YES
DBA CREATE OPERATOR YES
DBA CREATE PROCEDURE YES
DBA CREATE PROFILE YES
DBA CREATE PUBLIC DATABASE LINK YES
DBA CREATE PUBLIC SYNONYM YES
DBA CREATE ROLE YES
DBA CREATE ROLLBACK SEGMENT YES
DBA CREATE RULE YES
DBA CREATE RULE SET YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA CREATE SEQUENCE YES
DBA CREATE SESSION YES
DBA CREATE SYNONYM YES
DBA CREATE TABLE YES
DBA CREATE TABLESPACE YES
DBA CREATE TRIGGER YES
DBA CREATE TYPE YES
DBA CREATE USER YES
DBA CREATE VIEW YES
DBA DEBUG ANY PROCEDURE YES
DBA DEBUG CONNECT SESSION YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA DELETE ANY CUBE DIMENSION YES
DBA DELETE ANY MEASURE FOLDER YES
DBA DELETE ANY TABLE YES
DBA DEQUEUE ANY QUEUE YES
DBA DROP ANY ASSEMBLY YES
DBA DROP ANY CLUSTER YES
DBA DROP ANY CONTEXT YES
DBA DROP ANY CUBE YES
DBA DROP ANY CUBE BUILD PROCESS YES
DBA DROP ANY CUBE DIMENSION YES
DBA DROP ANY DIMENSION YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA DROP ANY DIRECTORY YES
DBA DROP ANY EDITION YES
DBA DROP ANY EVALUATION CONTEXT YES
DBA DROP ANY INDEX YES
DBA DROP ANY INDEXTYPE YES
DBA DROP ANY LIBRARY YES
DBA DROP ANY MATERIALIZED VIEW YES
DBA DROP ANY MEASURE FOLDER YES
DBA DROP ANY MINING MODEL YES
DBA DROP ANY OPERATOR YES
DBA DROP ANY OUTLINE YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA DROP ANY PROCEDURE YES
DBA DROP ANY ROLE YES
DBA DROP ANY RULE YES
DBA DROP ANY RULE SET YES
DBA DROP ANY SEQUENCE YES
DBA DROP ANY SQL PROFILE YES
DBA DROP ANY SYNONYM YES
DBA DROP ANY TABLE YES
DBA DROP ANY TRIGGER YES
DBA DROP ANY TYPE YES
DBA DROP ANY VIEW YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA DROP PROFILE YES
DBA DROP PUBLIC DATABASE LINK YES
DBA DROP PUBLIC SYNONYM YES
DBA DROP ROLLBACK SEGMENT YES
DBA DROP TABLESPACE YES
DBA DROP USER YES
DBA ENQUEUE ANY QUEUE YES
DBA EXECUTE ANY ASSEMBLY YES
DBA EXECUTE ANY CLASS YES
DBA EXECUTE ANY EVALUATION CONTEXT YES
DBA EXECUTE ANY INDEXTYPE YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA EXECUTE ANY LIBRARY YES
DBA EXECUTE ANY OPERATOR YES
DBA EXECUTE ANY PROCEDURE YES
DBA EXECUTE ANY PROGRAM YES
DBA EXECUTE ANY RULE YES
DBA EXECUTE ANY RULE SET YES
DBA EXECUTE ANY TYPE YES
DBA EXECUTE ASSEMBLY YES
DBA EXPORT FULL DATABASE YES
DBA FLASHBACK ANY TABLE YES
DBA FLASHBACK ARCHIVE ADMINISTER YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA FORCE ANY TRANSACTION YES
DBA FORCE TRANSACTION YES
DBA GLOBAL QUERY REWRITE YES
DBA GRANT ANY OBJECT PRIVILEGE YES
DBA GRANT ANY PRIVILEGE YES
DBA GRANT ANY ROLE YES
DBA IMPORT FULL DATABASE YES
DBA INSERT ANY CUBE DIMENSION YES
DBA INSERT ANY MEASURE FOLDER YES
DBA INSERT ANY TABLE YES
DBA LOCK ANY TABLE YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA MANAGE ANY FILE GROUP YES
DBA MANAGE ANY QUEUE YES
DBA MANAGE FILE GROUP YES
DBA MANAGE SCHEDULER YES
DBA MANAGE TABLESPACE YES
DBA MERGE ANY VIEW YES
DBA ON COMMIT REFRESH YES
DBA QUERY REWRITE YES
DBA READ ANY FILE GROUP YES
DBA RESTRICTED SESSION YES
DBA RESUMABLE YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA SELECT ANY CUBE YES
DBA SELECT ANY CUBE DIMENSION YES
DBA SELECT ANY DICTIONARY YES
DBA SELECT ANY MINING MODEL YES
DBA SELECT ANY SEQUENCE YES
DBA SELECT ANY TABLE YES
DBA SELECT ANY TRANSACTION YES
DBA UNDER ANY TABLE YES
DBA UNDER ANY TYPE YES
DBA UNDER ANY VIEW YES
DBA UNLIMITED TABLESPACE YES
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA UPDATE ANY CUBE YES
DBA UPDATE ANY CUBE BUILD PROCESS YES
DBA UPDATE ANY CUBE DIMENSION YES
DBA UPDATE ANY TABLE YES
202 rows selected.
Could you clarify ?
Regards,
Jack
[EDITED by LF: applied [spoiler] tags to cut a long story short]
[Updated on: Mon, 04 March 2013 14:13] by Moderator Report message to a moderator
|
|
|
|
|
Re: User of DBA role [message #578501 is a reply to message #578498] |
Thu, 28 February 2013 15:44 |
|
Michel Cadot
Messages: 68732 Registered: March 2007 Location: Saint-Maur, France, https...
|
Senior Member Account Moderator |
|
|
I think you misunderstood Littlefoot question which is the most important one.
And to answer your question, I said "drop the database" in the meaning of "drop all application data and accounts". If it rest an empty database, do you think (as an application user) you still have a database?
Regards
Michel
[Updated on: Thu, 28 February 2013 15:45] Report message to a moderator
|
|
|
|
Re: Use of DBA role [message #578523 is a reply to message #578508] |
Fri, 01 March 2013 00:18 |
|
Littlefoot
Messages: 21823 Registered: June 2005 Location: Croatia, Europe
|
Senior Member Account Moderator |
|
|
Jack14, you listed 202 privileges. An ordinary user certainly doesn't need ALL of them. Moreover, he most probably doesn't need more than 5-6 of them, such as
- create session
- create table
- create procedure
- create sequence
- create view
- create trigger
That's just enough to get him started. If he needs additional privileges, it is easy to grant them later. But - hey, granting DBA to that kind of a user you described is a HUGE overkill.
As Michel said: if you grant DBA to your user, he'd be able to do a lot of things I'm quite sure you wouldn't be happy with. One of them is to drop any user. Or drop any table (which means: drop tables that don't belong to him, but any table in anyone's schema in that database).
So, if you are sure you want to do that, go ahead - it is your database, after all. Just don't come back in a week or two asking "how to restore tables someone dropped. Please note that I don't do backup. Help plz."
|
|
|
Re: Use of DBA role [message #578723 is a reply to message #578523] |
Mon, 04 March 2013 07:30 |
|
Jack14
Messages: 497 Registered: December 2011 Location: INDIA
|
Senior Member |
|
|
Littlefoot,
Thanks for the explanations.
I have some more clarifications.I see some users having DBA,RESOURCE,CONNECT roles.The same user
has role based privilege on objects means he does not have direct privileges on objects that he owns whereas
he is able to access the objects through roles. ( Can we allow the users to access objects like that ? )
I am also scared revoking DBA,RESOURCE,CONNECT roles from users which will have any impact to database and application.
Could you clarify my doubts ?
Regards,
Jack
[Updated on: Mon, 04 March 2013 07:31] Report message to a moderator
|
|
|
Re: Use of DBA role [message #578727 is a reply to message #578723] |
Mon, 04 March 2013 07:45 |
|
Littlefoot
Messages: 21823 Registered: June 2005 Location: Croatia, Europe
|
Senior Member Account Moderator |
|
|
Jack14The same user has role based privilege on objects means he does not have direct privileges on objects that he owns
That is wrong, I'm afraid. The owner simply OWNS his objects and has ALL privileges on those objects. It seems that someone set it wrong there, in your database.
Michel told you ages ago:Michel
ALWAYS create your own roles, do NOT use Oracle predefined ones.
So, in your test database, create a few of your own roles (depending on user profile), revoke DBA, resource and connect roles from all users, grant CREATE SESSION and let them work. They won't be able to do much, but will report everything they can't do. Make notes, and then grant privileges (or roles) they really need, not the ones they have now.
Once you have it sorted, simply apply the same in your production database.
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: Use of DBA role [message #600225 is a reply to message #600218] |
Sun, 03 November 2013 10:41 |
|
Jack14
Messages: 497 Registered: December 2011 Location: INDIA
|
Senior Member |
|
|
Hi Blackswan,
Sorry for not answering your question.Here is the answer for your question.
Quote:Who gets fired when the application has data go missing due to user with privileges does wrong action -- DBA?
Who has to recover data that goes missing due to user with privileges does wrong action -- DBA?
I appreciate Littlefoot/Michel/Blackswan for answering my question.
Thank you everyone...
|
|
|