• oracle:用户,角色,user,roll


    创建用户,角色,管理等。

    CREATE USER username IDENTIFIED BY password
    OR IDENTIFIED EXETERNALLY
    OR IDENTIFIED GLOBALLY AS ‘CN=user[DEFAULT TABLESPACE tablespace]
    [TEMPORARY TABLESPACE temptablespace]
    [QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace
    [,QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace
    [PROFILES profile_name]
    [PASSWORD EXPIRE]
    [ACCOUNT LOCK or ACCOUNT UNLOCK]

    其中:

    CREATE USER username:用户名,一般为字母数字型和“#”及“_”符号。

    IDENTIFIED BY password:用户口令,一般为字母数字型和“#”及“_”符号。

    IDENTIFIED EXETERNALLY:表示用户名在操作系统下验证,该用户名必须与操作系统中所定义的用户名相同。

    IDENTIFIED GLOBALLY AS ‘CN=user’:用户名由Oracle安全域中心服务器验证,CN名字表示用户的外部名。

    [DEFAULT TABLESPACE tablespace]:默认的表空间。

    [TEMPORARY TABLESPACE tablespace]:默认的临时表空间。

    [QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace:用户可以使用的表空间的字节数。

    [PROFILES profile_name]:资源文件的名称。

    [PASSWORD EXPIRE]:立即将口令设成过期状态,用户再登录前必须修改口令。

    [ACCOUNT LOCK or ACCOUNT UNLOCK]:用户是否被加锁,默认情况下是不加锁的。

    eg:

    CREATE USER user_name IDENTIFIED BY key;

    修改用户密码:

    ALTER USER user_name IDENTIFIED BY new_key;

    也可以在sqlplus 登录后直接PASSWORD  会提示修改。

    删除用户

    DROP USER user_name;

    向用户授予系统特权

    GRANT EXECUTE ANY PROCEDURE TO suer_name [WITH ADMIN OPTION];

     后面的 WITH ADMIN OPTION 这样 用户就可以将权授给别人

    检查授予用户的系统特权

    SELECT *FROM user_sys_privs;

    撤销用户的系统特权

    REVOKE CREATE TABLE FROM user_name;

    对象特权

     向用户授予对象特权

    GRANT SELECT , INSERT ON table_name[.column_name] TO user_name [WITH GRANT OPTION];

    检查已授予的对象特权

    SELECT * FROM user_tab_privs_made [WHERE table_name='table_name'];

    检查已接收的对象特权

    SELECT *FROM user_tab_privs_recd ;

    创建同名对象

    CREATE SYNONYM ref_name FOR user_name.table_name;
    
    eg:
    CREATE SYNONYM customers FOR store.customers;

    创建公共同名对象

    CREATE PUBLIC SYNONYM ref_name FOR user_name.table_name;

    需要创建公共用户需要授权 CREATE PUBLIC SYSNONYM (可以通过system 登录授予用户)

    这样任何其他用户登录都能够利用创建的同名对象,跟上面的那个不同的是上面的只是创建的用户才能够使用。

    撤销用户对象特权

    REVOKE SELECT ON table_name FROM user_name;

    如果user_name 将权力授予了其他用户,那么其他用户也会失去权力。

    角色就是一组特权

    创建角色

    CREATE ROLE role_name [IDENTIFIED BY keyword];

    角色授权

    GRANT CREATE USER TO role_name1;
    GRANT role_name1 TO role_name2;

    将角色授予用户

    GRANT role_name TO user_name;

    检查授予用户的角色

    可以检查已经授予一个用户哪些角色

    SELECT * FROM user_role_privs;

    检查授予角色的系统特权

    可以检查已经授予一个角色哪些系统特权。

    SELECT * FROM role_sys_privs;

    检查授予角色的对象特权

    SELECT * FROM role_tab_privs;

     

    默认角色

    禁用默认角色

    通过system 将用户的角色禁用

    ALTER USER user_name DEFAULT ROLE ALL EXCEPT role_name;

    然后user_name 登录时,想开启角色

    SET ROLE role_name IDENTIFIED BY keyword;

    想清楚全部角色

    SET ROLE NONE;

    清楚特定角色

    SET ROLE ALL EXCEPT role_name;

    撤销用户的角色

    REVOKE role_name FROM user_name;

    撤销角色中的特权

    REVOKE ALL ON table_name FROM role_name;

    删除角色

    DROP ROLE role_name;
  • 相关阅读:
    LINQ to SQL活学活用(2):躲起来别让我看见
    UTF8的問題
    简单的appendChild示例
    LINQ to SQL活学活用(4):监视你的一举一动
    LinQ中的SortBy+sum+count的用法
    ajax的问题
    [综] Canny Edge Detection 代码
    [转] 图像处理中的拉普拉斯算子
    [ZZ] SCI 投稿全过程信件模板一览
    [转] MATLAB图像实用源代码
  • 原文地址:https://www.cnblogs.com/Azhu/p/2445121.html
Copyright © 2020-2023  润新知