Skip to main content

ORACLE USERS, GRANTS, REVOKES AND DROP

Create USER:

create user username identified by password default tablespace users temporary tablespace temp quota 50M on users;

Create ROLE:


CREATE ROLE ROLE_NAME;

Granting Privilege:

GRANT SELECT, UPDATE ON table_name TO role_name;
GRANT SELECT ON table_name TO role_name;

Grant Column Privilege:


GRANT SELECT, UPDATE (ISSUE_BR_ID,DRAWN_BR_ID,AMOUNT_CCY,AMOUNT_LCY,ORGN_BR_ID,RSPD_BR_ID,ADV_NO,ADV_RECEIVED_STATUS,entry_br_id,PAYMENT_STATUS) ON COR_BRM_INFO TO HELP_DESK;
GRANT SELECT, UPDATE (ORGN_BR_ID,RSPD_BR_ID,ADVICE_NO,NARRATION) ON COR_IBT_ORGN_REG TO HELP_DESK;

The following query will help you to generate a set of query of a database user 'ULTIMUS':


select 'GRANT SELECT ON ULTIMUS.' || t.table_name ||
       ' to ZAKIR;'
  from all_tables t
 where t.owner = 'ULTIMUS'
   --and t.table_name like 'TFN_%'
 order by t.table_name




The query can help you to find out the table privilege of any given user or all user:

SELECT t.GRANTEE,
       t.OWNER,
       T.table_name,
       t.GRANTOR,
       t.PRIVILEGE,
       t.GRANTABLE
  FROM DBA_TAB_PRIVS t
 WHERE t.grantee in ('ZAKIR','BACH' )
   and t.privilege='UPDATE' -- SELECT/DELETE etc.
 ORDER BY t.table_name;


The Following query will give a Tree View of ALL the Users along with their assigned ROLE's:

select
  lpad(' ', 2*level) || granted_role "User, his roles and privileges"
from
  (
  /* THE USERS */
    select 
      null     grantee, 
      username granted_role
    from 
      dba_users
    where
      default_tablespace = 'USERS'
  /* THE ROLES TO ROLES RELATIONS */ 
  union
    select 
      grantee,
      granted_role
    from
      dba_role_privs
  /* THE ROLES TO PRIVILEGE RELATIONS */ 
  union
    select
      grantee,
      privilege
    from
      dba_sys_privs
  )
start with grantee is null
connect by grantee = prior granted_role;

REVOKE role from user:

REVOKE role FROM {user, | role, |PUBLIC}
REVOKE ALL FROM {user, | role, |PUBLIC}
REVOKE object_priv [(column1, column2..)] ON [schema.]object FROM {user, | role, |PUBLIC} [CASCADE CONSTRAINTS] [FORCE]

DROP a user:

-------------------------------------------------------------------------------------------

Happy to Help !!!


Comments

Popular posts from this blog

Starting and Stopping the Oracle Enterprise Manager Console

Starting and Stopping the Oracle Enterprise Manager Console To access the Oracle Enterprise  Manager Console from a client browser, the  dbconsole  process needs to be running on the server. The dbconsole process is automatically started after installation. However, in the event of a system restart,change in IP, or other changes, you can start it manually at the command line. To start the  dbconsole  process from the command line: Navigate into your  ORACLE_HOME/bin  directory. Run the following statement: ./emctl start dbconsole Additionally, you can stop the process and view its status. To stop the  dbconsole  process:          ./emctl stop dbconsole To view the status of the  dbconsole  process:         ./emctl status dbconsole -------------------------------------------------------------------------------------------------------

Query to check the OPTIMAL UNDO RETENTION

Query to check the OPTIMAL UNDO RETENTION _____________________________________________________________________________ SELECT d.undo_size / (1024 * 1024) "ACTUAL UNDO SIZE [MByte]",        SUBSTR(e.value, 1, 25) "UNDO RETENTION [Sec]",        ROUND((d.undo_size / (to_number(f.value) * g.undo_block_per_sec))) "OPTIMAL UNDO RETENTION [Sec]"   FROM (SELECT SUM(a.bytes) undo_size           FROM v$datafile a, v$tablespace b, dba_tablespaces c          WHERE c.contents = 'UNDO'            AND c.STATUS = 'ONLINE'            AND b.name = c.tablespace_name            AND a.ts# = b.ts#) d,        v$parameter e,        v$parameter f,        (SELECT MAX(undoblks / ((end_time - begin_time) * 3600 * 24)) undo_block_per_sec  ...

Solution of problem: Resultset Exceeds the Maximum Size (100 MB)

Solution of problem: Resultset Exceeds the Maximum Size (100 MB) I was running a select statement in PL/SQL Developer. it was a short query but the data volume that the query was fetching was huge. But when ever i Click the button Fetch Last Page or press 'ALT+End' button a message box comes after a while saying: Then I started looking for the exact reason of this sort of problem in Google. When I realized there was no direct solution in the web, I started looking the PL/SQL Developer Software menu and found the ultimate solution. The reason of this problem is there is a parameter of maximum result set size in PL/SQL Developer Software which is by default set to 100 MB. To change this parameter you have to go to the following location: 1. Goto Edit Menu and click ' PL/SQL Beautifier Options '. A new window will open. 2. Click SQL Window of " Window Types ". 3. Now Change the value of "Maximum Result Set Size( 0 is unlimited)"  ...