Wednesday, 1 November 2017

DCL DATA CONTROL LANGUAGE


DCL DATA CONTROL LANGUAGE

GRANT
REVOKE

DATABASE
Its a collection of schema(users).

To Find the database user

SQL> SELECT name from v$database;

NAME                                                                
------                                                           
XE                                                                              
To Find the how many users in the database

SQL> SELECT * FROM all_users;

USERNAME                          USER_ID CREATED                               
------------------------------ ---------- ---------                             
XS$NULL                        2147483638 29-MAY-14                             
SUGA                                   50 11-JAN-17                             
ANBU                                   49 09-MAR-16                             
PARTHI                                 48 09-MAR-16                             
APEX_040000                            47 29-MAY-14                             
APEX_PUBLIC_USER                       45 29-MAY-14                             
FLOWS_FILES                            44 29-MAY-14                             
HR                                     43 29-MAY-14                             
MDSYS                                  42 29-MAY-14                             
ANONYMOUS                              35 29-MAY-14                             
CTXSYS                                 32 29-MAY-14                             
APPQOSSYS                              30 29-MAY-14                             
DBSNMP                                 29 29-MAY-14                             
ORACLE_OCM                             21 29-MAY-14                             
DIP                                    14 29-MAY-14                             
OUTLN                                   9 29-MAY-14                             
SYSTEM                                  5 29-MAY-14                             
SYS                                     0 29-MAY-14                             

To Create a new user.

SQL> CREATE user KARTHI identified by admin;
User created.

To Give permission for newly created user.

SQL> GRANT CONNECT, RESOURCE TO KARTHI;
Grant succeeded.

To Change the Password in their login

SQL> ALTER USER KARTHI identified by open;
User altered.

To Give permission for access data.

SQL> GRANT SELECT ON EMPLOYEES TO KARTHI;
Grant succeeded.

To Remove the permissions for access the data.

SQL> REVOKE SELECT ON Employees FROM KARTHI;
Revoke succeeded.

To Give all Privillages like INSERT, DELETE,UPDATE

SQL> GRANT INSERT,DELETE,UPDATE ON Employees to karthi;
Grant succeeded.

To view all Privillages and who gives permission to whom.

SQL> select * from user_tab_privs;

GRANTEE   OWNER      TABLE_NAME     GRANTOR    PRIVILEGE     GRA HIE                            
--------  ---------  -------------  ---------  ------------- --- ---                            
KARTHI    HR         EMPLOYEES      HR         UPDATE        NO  NO                             
KARTHI    HR         EMPLOYEES      HR         INSERT        NO  NO                             
KARTHI    HR         EMPLOYEES      HR         DELETE        NO  NO                             

3 rows selected.

To remove all permissions.

SQL> revoke all on employees from karthi;
Revoke succeeded.

To give permission to all users.

SQL> GRANT SELECT ON EMPLOYEES TO public;
Grant succeeded.

To remove permission to all users.

SQL> revoke SELECT ON EMPLOYEES from public;
Revoke succeeded.

ROLE: Group of USER

SQL> create role r1;
Role created.

SQL> GRANT R1 to karthi,parthi,anbu;
Grant succeeded.

SQL> GRANT SELECT ON EMPLOYEES TO r1;
Grant succeeded.

SQL> revoke r1 from parthi;
Revoke succeeded.

SQL> drop role r1;
Role dropped.

To give permissions for all tables.If DBA Permission granted means the user can create an another user.

SQL> grant dba to karthi;
Grant succeeded.

To remove permissions for all tables.

SQL> revoke dba from  karthi;
Revoke succeeded.

SQL> drop user karthi;
User dropped.

1 comment: