关于oracle安全

关于oracle安全
1.模式包含了用户及其所能管理的所有oracle object。
2.用户创建与密码重置
  A:create user user_name identified by user_password default tablespace dt_name temporary tablespace tt_name;
  B:改变用户alter user user_name identified by user_newpassword;
3.帐户的锁定与解锁
  A:帐户的锁定与解锁(测试过程):
  进入sqlplus: sqlplus user_name/password;
  用一帐户和密码连接到oracle:connect user_test/user_testpassword;
  Result:connected;
  用dba帐户进行连接oracle:connect dba_user/dba_password;
  锁定某帐户:alter user user_test account lock;
  连接测试:connect user_test/user_testpassword;
  Result: ERROR:ORA-28000: the account is locked;
  B:
  dba帐户可锁定任何帐户(包含自己).
  dba帐户在锁定本身帐户后在本次连接还有dba权限.
  退出则无。
  dba 用户锁定本身帐户后,退出或者执行connect dba_user/dba_password,连接都将失效.
4.修改表空间
  A:修改默认和临时表空间
    alter user user_name default tablespace alterdt_name temporary tablesapce altertt_name;
  B:修改表空间资源配额:
    某用户所拥有的表空间
    select   username,default_tablespace   from   dba_users where username='YYY_AAA';
    某用户所拥有的表:
    select * from user_tables;
    查看某表结构
    describe(desc) talbe_name;

    想让该用户在某新表空间上创建表,现在给用户在该表空间分配空间:
    alter user user_name default talbespace tablespacename quota 100m on tablespacename;(tablespacename默认表空间)
    alter user user_name quota 100m on tablespacename;(其他表空间)。

  c:拓展用户的表空间:
   当数据库管理员发现TEST1 表空间大小不足的时候,
   我们可以利用命令ALTER TABLESPACE tablespaceName ADD DATEFILE ‘filepath’ SIZE 1000M。
   我们可以利用这个命令增加表空间的大小,然后再增加用户的磁盘配额。如此,就可以对用户的表空间进行拓展。

  c:
    USER_TABLES显示用户拥有的表。
    ALL_TABLES显示用户可以访问的表。
    ALL_VIEWS显示用户可以访问的视图。
    USER_CATALOG显示用户拥有的所有表,视图,同义词和序列。

  5.系统权限和对象权限
      view dba_sys_privs save all user's privileges.
      view user_ts_quotas save a user's  tablespaces.
    A:系统权限(面向ddl)
      create user username/password;
      grant create session to username;//连接权限
      grant create table to username;  //创建表权限
     
      grant system_privilege to username[with admin option];//授权
      revoke system_privilege from username;//撤销权限

      alter user username quota 100m on tablespacename;//在某表空间上为该用户增加配额.
   B: 对象权限(面向dml)
      grant object_privilege on object_name to username[with grant option]
      with grant option 使该用户具有将该对象权限授予其他用户的权限.

      revoke object_privilege on object_name from username;
      view user_table_privilege含有数据库中已有表的所有权限.
      只有授予该用户此对象权限的用户才能撤销该对象权限。
      拥护此表的用户也不能撤销该表的此对象权限.
     
   6.数据库角色:
     create role role_name;
     create role role_name identified by role_password;
     grant select,insert,delete,update on table to role_name;

     view user_tab_privs save role's privileges.

     grant role_name to user[with admin option]
     grant role_name to role_name[with admin option]

     view role_tab_privs save system's privilege of roles.
     connect,resource都是oracle 内置角色.
     select * from role_sys_privs;
    
     drop role role_name;
  
     结论:
     任何用户,无论管理员、应用开发人员、终端用户赋予完成他们工作的最小权限即可.
     测试都在oracle 10g下进行。

你可能感兴趣的:(数据结构,oracle,C++,c,C#)