• oracle 10g 管理用户安全性


    管理用户安全性

     

    数据库用户账户包括以下内容:

    唯一的用户名,验证方法,默认表空,临时表空间,用户概要文件,使用者组,锁定状态。

     

    预定义的账户:SYSSYSTEM

     

    查看当前用户

    SQL> show user;

    USER is "SYS"

     

    创建一个用户,并且为该用户创建一个默认表空间

    1.在dba_data_files视图中查看表空间的使用情况

    SQL> select FILE_NAME  from dba_data_files ;

     

    FILE_NAME

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

    /u01/app/oracle/oradata/orcl/test2.dbf

    /u01/app/oracle/oradata/orcl/example01.dbf

    /u01/app/oracle/oradata/orcl/users01.dbf

    /u01/app/oracle/oradata/orcl/sysaux01.dbf

    /u01/app/oracle/oradata/orcl/undotbs01.dbf

    /u01/app/oracle/oradata/orcl/system01.dbf

    6 rows selected.

     

    2.创建一个表空间,该表空间将作为将要创建的用户默认表空间

    SQL> create tablespace skyworld datafile '/u01/app/oracle/oradata/orcl/skyworld.dbf' size 10m;

     

    3.创建用户并且指定默认的临时表空间

    SQL> create user skyworld identified by skyworld default tablespace skyworld;

     

    4.为创建的用户在默认表空间上分配配额(若不分配配额,则新建的用户无法创建对象)

    SQL> alter user skyworld quota unlimited on skyworld;

     

     

    对创建的用户设置权限

     

    1.给创建的角色赋予权限,我们可以赋予某个权限,也可以赋予角色权限

    SQL> grant select any tables to skyworld;  //赋予用户某个权限

    SQL> grant dba to skyworld; //赋予用户dba角色的权限

     

    2.去除用户的某个权限或者角色

    SQL> revoke select any table from skyworld; //去除某个权限

    SQL> revoke dba from skyworld; //去除用户的dba角色权限

     

    修改用户设置

    1.修改用户密码

    SQL> alter user skyworld identified by oracle;

     

    2.对用户进行解锁或者锁定

    SQL> alter user skyworld account unlock; //skyworld用户进行解锁

    SQL> alter user skyworld account lock; //skyworld用户进行锁定

     

    用户信息查看

    1.查看用户的详细信息

    dba_users视图中,我们可以查看到用户的详细信息,如用户名,用户密码,用户的状态,以及用户对应的表空间信息等

    SQL> select * from dba_users where username='SKYWORLD';

     

    2.查看用户中的表名

    先在skyworld用户创建一张test

    SQL> create table skyworld.test (id int);

    然后在all_tables视图中,我们可以查看到skyworld用户的所有的表。

    SQL> select table_name from all_tables where owner='SKYWORLD';

     

    TABLE_NAME

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

    TEST

     

    关于用户角色(role

    角色的本质上是权限的集合,角色可以用系统权限和对象权限构成。预定义角色有5种(connectresourcescheduler_admindbaselect_catalog_role

     

    1.创建角色

    SQL> create role compt;

     

    2.赋予角色某个权限,就像给某个用户赋予权限一样

    SQL> grant select on scott.emp to compt;

     

    3.把角色赋予某个用户,这时这个角色就相当于某个权限

    SQL> grant compt to skyworld;

     

    4.我们可以从某个角色中去除某个权限,我们也可以从某个用户中去除某个角色

    SQL> revoke select on scott.emp from compt; //从角色中删除某个权限

    SQL> revoke compt from skyworld; //从用户中删除某个角色

     

    5.删除角色

    SQL>drop role compt

     

    关于profile

    Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用Create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用,如果把该profile分配给用户,则该用户所能使用的数据库资源都在该profile的限制之内。

     

    1.创建一个profle

    SQL>create profile shanghai limit password_life_time 10 password_grace_time 2;

     

    2.将配置文件分配给用户:

    SQL> alter user skyworld profile shanghai;

     

    关于profile的更多信息请参考http://www.cnblogs.com/jacktu/archive/2008/02/27/1083226.html 

     

    删除一个用户及其对应的表空间

    1.删除用户及其所有对象

    SQL> drop user skyworld cascade;

    cascade参数是级联删除该用户所有对象。

     

    2.删除用户表空间

    SQL>drop tablespace skyworld including contents and datafiles cascade onstraints;

    including contents 删除表空间的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间是删不掉的。

    including datafiles 删除表空间中的数据文件。

    cascade onstraints; 同时删除tablespace中表的外键参照

     

  • 相关阅读:
    每日一练leetcode
    每日一练leetcode
    每日一练 leetcode
    每日一练leetcode
    每日一练leetcode
    leetcode每日一练
    BigDecimal类 定义及用法
    每日一练leetcode
    每日一练leetcode
    字符串表达式校验&求值(C#实现) 附代码
  • 原文地址:https://www.cnblogs.com/pgg200/p/2437662.html
Copyright © 2020-2023  润新知