Sei sulla pagina 1di 5

DCL Commands:

============
*)DCL commands are used to grant permission or to remove permission on database
objects or resources.
*)Permissions on objects can be granted/revoked by owner of the Object where as
Resources by dba.
*)Oracle provides two group of privileges(Permissions)
1)Object Privileges(SELECT,DELETE,UPDATE,INSERT,INDEX)
2)System Privileges (Near about 100+, they are listed below)
-CREATE TABLE
-CREATE VIEW
-CREATE USER
.........
.........
*)To use Object Privilege,SQL Provides two commands.
-GRANT
-REVOKE
*) For System Privileges also above two commands are used with differenct systax
.
a)OBJECT PRIVILEGES:
===================
GRANT TO OBJECT:
---------------syntax:
GRANT <Object Privileges List>/ALL
ON <Object Name>
TO <user Name>/PUBLIC
[WITH GRANT OPTION];
REVOKE FOR OBJECT:
----------------Syntax:
REVOKE <Object Privileges List>/ALL
ON <Object Name>
FROM <User Name>/PUBLIC;

Scott -------->

Sivanand

Emp

----------->

Scott.Emp

*)How Scott will grant the permission to Sivanand?


GRANT SELECT
ON EMP
TO Sivanand
WITH GRANT OPTION;
*)How sivanand will give permission to Somu?
GRANT SELECT
ON scott.emp
TO Somu;

Somu
Scott.emp

*) How Scott will Revoke permission from sivanand?


REVOKE SELECT
ON EMP
FROM Sivanand;
b)SYSTEM PRIVILEGES:
====================
*)commonly used system privileges are:
-CREATE SESSION --> i.e Connect Permission
-ALTER SESSION -->i.e to change user parameters like pwd,etc.
-CREATE TABLE
-CREATE VIEW
-CREATE SYNONYM
-CREATE SEQUENCE etc
Note:A dba user will have all system privileges.
*)Role:
----Role is data base object,that is collection os system
Example:
PROGRAMMER
GROUP LEADER
-------------------------------------CREATE SESSION
-CREATE USER
-ALTER SESSION
-CREATE ROLE
-CREATE TABLE
-CREATE VIEW
-CREATE SYNONYM
-CREATE SEQUENCE
*)HOW to create roles:
---------------------syntax:
CREATE ROLE <role name>;
*)How to GRANT permissions to role?
----------------------------------syntax:
GRANT <System Privileges List / Role List>
TO <Role Name>;
*)How to REVOKE Permission from Role?
------------------------------------REVOKE <System Privileges List/Roles List>
FROM <Role Name>;
*)How to DROP Roles?
-------------------DROP ROLE <Role Name>;
*)How to GRANT System Privileges and Roles to User?
---------------------------------------------------

privileges.

GRANT <System Privileges List/Role List>


TO <User Name>;
*)How to REVOKE System Privileges/Roles from an User?
----------------------------------------------------REVOKE <System Privileges List/Role List>
FROM <User Name>;
*)How to CREATE a User?
----------------------CREATE USER <User Name>
IDENTIFIED BY <Password>
DEFAULT TABLESPACE <TableSpace Name>
QUOTA { <n> [K/M] /UNLIMITED} ON <TableSpace Name>;
*)How to DROP user?
------------------DROP USER <User Name>
[CASCASDE};
Note: CASCADE will drop the sub-users.
*)DBA Schema:
-----------1) System/Manager
2) Sys/change_on_install (Complete DataDictionary is installed here.)
3)Internal/Oracle --> It has additional permissions.
*)How to see listing of table spaces:
------------------------------------1) Connect to sys user
2) See DBA_TABLESPACES view. i.e
>CONNECT sys/change_on_install
>DESC dba_tablespaces
>SELECT tablespace_name FROM dba_tablespaces;
*)How to See Listing of Users?
------------------------------Connect to SYS user
-See DBA-USERS View
>DESC DBA_USERS
>SELECT username,password FROM DBA_USERS;
*)How to Create Somu User?
CREATE USER somu
IDENTIFIED BY somu
DEFAULT TABLESPACE Users
QUOTA UNLIMITED ON Users.
*)

GRANT CREATE SESSION,ALTER SESSION,


CREATE TABLE,CREATE VIEW,

CREATE SYNONYM,CREATE SEQUENCE


TO somu.
conn somu
*)How to create a role and grant ?
-------------------------------------------CREATE ROLE programmer
/
GRANT CREATE SESSION,ALTER SESSION,
CREATE TABLE,CREATE VIEW,
CREATE SYNONYM,CREATE SEQUENCE
TO programmer
/
-->

DROP USER somu CASCADE


/

*)How to see listing Roles available?


----------------------------------------1)Connect to SYS user.
2)see DBA_ROLES view
>SELECT ROLE FROM DBA_ROLES;
>DESC DBA_ROLE_PRIVS;
*)How to see listing of privlileges granted to roles?
------------------------------------------------------------------1)Connect ro SYS user.
2)see DBA_ROLE_PRIVS view.
>SELECT GRANTEE,GRANTED_ROLE
FROM DBA_ROLE_PRIVS ;
*)How to see listing of privileges granted to users:
----------------------------------------------------------------1)Connect to SYS user.
2) See DBA_ROLE_PRIVS view
*)How to see listing of privileges granted to role?
---------------------------------------------------------------1) Connect to SYS user.
2) see DBA_SYS_PRIVS view
--> Granting DBA Privleges to Somu:
------------------------------------------->GRANT dba TO somu;
>connect somu/somu
>DROP USER scott CASCADE;
>CREATE USER scott
IDENTIFIED BY tiger
DEFAULT TABLESPACE users
QUOTA UNLIMITED ON users;
>GRANT CONNECT,RESOURCE TO scott;

Potrebbero piacerti anche