Bo's Oracle Station

查看: 2204|回复: 0

课程第47/48次(2017-02-15星期三,2017-02-17星期五)

[复制链接]

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2017-2-16 09:33:32 | 显示全部楼层 |阅读模式
本帖最后由 botang 于 2017-2-18 10:41 编辑

Oracle用户管理
SYS执行:
  1. select  * from database_properties;

  2. select  u.USERNAME,
  3.             u.DEFAULT_TABLESPACE,
  4.                         u.TEMPORARY_TABLESPACE,
  5.                         u.PROFILE,
  6.                         u.INITIAL_RSRC_CONSUMER_GROUP,
  7.                         u.AUTHENTICATION_TYPE,
  8.                         u.PASSWORD
  9.     from dba_users u
  10. where u.USERNAME='USER1';

  11. select  u.NAME,u.PASSWORD   from user$ u
  12.   where u.NAME='USER1';
  13.   
  14.   ---
  15.   select  * from system_privilege_map
  16.     where name like '%INDEX%';
  17.   
  18.   select  *
  19.     from dba_sys_privs sp
  20.         where sp.GRANTEE='USER1';
  21.         
  22. select  *
  23. from dba_role_privs rp
  24.   where rp.GRANTEE='USER1';
  25.   
  26.   
  27.   select  *
  28.    from dba_tab_privs tp
  29.     where tp.GRANTEE='USER1';        
  30.         
  31.   
  32. grant create table to user1;

  33. select  * from role_sys_privs rsp
  34.   where rsp.ROLE='CONNECT';
  35.   
  36.   select  * from role_tab_privs rtp
  37.    where rtp.ROLE='CONNECT';
  38.    
  39.    select  * from role_role_privs rrp
  40.     where rrp.ROLE='CONNECT';
  41.         ---
  42.           select  * from table_privilege_map ;
  43.          
  44.           select  * from dba_roles;
  45.    
  46. select * from dba_ts_quotas;

  47. alter user user1 quota 1M on users;

  48. alter user user1 quota 0 on users;

  49. ---
  50. grant create session to user2 identified by oracle_4U;

  51. grant connect to user3 identified by oracle_4U;
  52. ---

  53. select  *
  54.     from dba_sys_privs sp
  55.         where sp.GRANTEE='USER2';
  56.         
  57. select  *
  58. from dba_role_privs rp
  59.   where rp.GRANTEE='USER2';
  60.   
  61.   
  62.   select  *
  63.    from dba_tab_privs tp
  64.     where tp.GRANTEE='USER2';
  65.         
  66.         ---
  67.         
  68.          select  *
  69.     from dba_sys_privs sp
  70.         where sp.GRANTEE='USER3';
  71.         
  72. select  *
  73. from dba_role_privs rp
  74.   where rp.GRANTEE='USER3';
  75.   
  76.   
  77.   select  *
  78.    from dba_tab_privs tp
  79.     where tp.GRANTEE='USER3';        

  80. ---

  81. create user ops$oracle
  82. identified externally;

  83. select  u.USERNAME,
  84.             u.DEFAULT_TABLESPACE,
  85.                         u.TEMPORARY_TABLESPACE,
  86.                         u.PROFILE,
  87.                         u.INITIAL_RSRC_CONSUMER_GROUP,
  88.                         u.AUTHENTICATION_TYPE,
  89.                         u.PASSWORD
  90.     from dba_users u
  91. where u.USERNAME='OPS$ORACLE';

  92. grant connect to ops$oracle;

  93. select  password  from user$
  94.   where name='SYS';
  95.   
  96.   select  username, account_Status
  97.    from dba_users u
  98.     where u.USERNAME ='SYS';
  99.         
  100.         alter user  user1 account lock;
  101.         --

  102.         
  103.         
  104.         ---
  105. select  * from table_privilege_map;

  106. select  *
  107.    from dba_tab_privs tp
  108.     where tp.GRANTEE='USER1';        
  109.         
  110.         ---
  111.                 select  * from dba_col_privs cp;
  112.         
  113.           select  *
  114.     from dba_sys_privs sp
  115.         where sp.GRANTEE='USER1';
  116.         
  117. select  *
  118. from dba_role_privs rp
  119.   where rp.GRANTEE='USER1';
  120.   
  121.   
  122.   select  *
  123.    from dba_tab_privs tp
  124.     where tp.GRANTEE='USER1';
  125.         


  126. ---
  127. grant select  any table to  user1  with admin option;        

  128. revoke select  any table from user1 ;

  129. revoke select any table from user2;
  130. ---
  131. grant select  on hr.employees to user1 with grant option;

  132. revoke select  on hr.employees from user1 ;

  133.   
  134.   
复制代码
HR执行:

  1. create or replace procedure  proc1
  2. is
  3. begin
  4.    update employees set salary=salary+1  where employee_id=100;
  5.    commit;
  6. end;

  7. select  salary from employees
  8.   where employee_id=100;
  9.   
  10.   begin
  11.      proc1;
  12.    end;
  13.    ---
复制代码

关于Internal这个神奇用户:
internal.png

2017-02-17:

  1. select  * from dba_sys_privs sp where GRANTEE in  ('USER1','HR');

  2. select  * from dba_tab_privs tp where GRANTEE in  ('USER1','HR');

  3. select  * from dba_role_privs rp where GRANTEE in  ('USER1','HR');

  4. select  * from dba_col_privs cp where GRANTEE in  ('USER1','HR');

  5. ---role 1

  6. create role role1;

  7. select  * from dba_roles;

  8. select * from role_sys_privs rsp where ROLE='RESOURCE';

  9. select  * from role_tab_privs rtp where ROLE='ROLE1';



  10. select  * from role_role_privs rrp where ROLE='ROLE1';

  11. grant select  on hr.employees to role1;

  12. grant role1 to user1 with admin option;

  13. revoke role1 from user1;

  14. ---role2
  15. grant create procedure to user1;

  16. grant update(salary) on hr.employees to user1;

  17. revoke update  on hr.employees  from user1;

  18. ---
  19. create role role2;

  20. grant update(salary) on hr.employees to role2;

  21. grant role2 to user1;

  22. ---

  23. revoke update on hr.employees from role2;
  24.   grant update(salary) on hr.employees to role2;
  25.   
  26.   ---role3
  27. select  * from dba_role_privs rp where rp.GRANTED_ROLE='ROLE3';

  28. alter user user1 default  role connect;
  29. create role role3 identified by oracle_4U;

  30. select  * from dba_roles r where r.ROLE='ROLE3';

  31. grant role3 to user1;
  32. alter user user1 default  role connect,role3;

  33. -----

  34. grant select  any table to user1;

  35. revoke select  any table from user1;

  36. grant select_catalog_role to hr;

  37. grant resource to user1;

  38. ---
  39. grant select  on sh.sales to public;

  40. revoke  select  on sh.sales from public;

  41. ---

  42. select  username, account_status, u.EXPIRY_DATE,u.LOCK_DATE,  u.PROFILE  from dba_users  u
  43.   where username='USER3';

  44. alter  user user1 account lock;
  45.   
  46. alter user user1 password expire;

  47. alter user user1 account unlock;

  48. ---
  49. select  * from dba_profiles p
  50. where p.RESOURCE_TYPE='PASSWORD'
  51.   and p.PROFILE='DEFAULT';
  52.   
  53.   --
  54.   create profile profile1 limit
  55.   PASSWORD_LIFE_TIME 1/1440;
  56.   --
  57.   select  * from dba_profiles p
  58. where p.RESOURCE_TYPE='PASSWORD'
  59.   and p.PROFILE='PROFILE1';
  60.   
  61.   alter user user3 profile profile1;
  62.   
  63.   
  64.   select  username, account_status, u.EXPIRY_DATE,u.LOCK_DATE ,u.CREATED ,u.PROFILE  from dba_users  u
  65.   where username='USER3';
  66.   
  67.     select  * from dba_profiles p
  68. where p.RESOURCE_TYPE='PASSWORD'
  69.   and p.PROFILE='DEFAULT';

  70.   alter profile profile1 limit
  71.   PASSWORD_GRACE_TIME 1/1440;
  72.   
  73.   
  74.   alter profile profile1 limit
  75.   FAILED_LOGIN_ATTEMPTS 1;
  76.   
  77.   alter profile profile1 limit
  78.   PASSWORD_LOCK_TIME 1/1440;
  79.   
  80.   


复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-4-25 21:38 , Processed in 0.045715 second(s), 27 queries .

快速回复 返回顶部 返回列表