zoukankan      html  css  js  c++  java
  • SQL语句(4)--- 用户访问控制

    1. 查询某一个用户默认使用的表空间语句

     1 SQL> select username,default_tablespace from dba_users where username='SYS';
     2 
     3 USERNAME   DEFAULT_TABLESPACE
     4 ---------- ------------------------------------------------------------
     5 SYS       SYSTEM
     6 
     7 SQL> select username,default_tablespace from dba_users where username='SCOTT';
     8 
     9 USERNAME   DEFAULT_TABLESPACE
    10 ---------- ------------------------------------------------------------
    11 SCOTT       USERS
    12 
    13 SQL> select username,default_tablespace from dba_users where username='HR';
    14 
    15 USERNAME   DEFAULT_TABLESPACE
    16 ---------- ------------------------------------------------------------
    17 HR       USERS

    2. 在PDB中新创建的用户,如果在没有指定表空间的情况下,默认使用的是 USERS 表空间

    3. 新创建的用户,默认是不能登录数据库,也不能创建表,因为没有 CREATE SESSION 和 CREATE TABLE 权限

    4. 在获得上面两个权限后,新用户登录数据库后创建的表(之所以可以创建表,是因为在11R2后,有了延迟段,即可以创建一张空表,在插入第一行数据的时候再分配段,因为段是消耗空间的),是不能插入数据的,因为没有表空间配额

     1 SQL> create user testerp identified by testerp; ---创建一个名为 TESTERP的用户,没有指定表空间
     2 
     3 User created.
     4 
     5 SQL> select username,default_tablespace from dba_users where username='TESTERP'; ---查看TESTERP默认使用的表空间
     6 
     7 USERNAME   DEFAULT_TABLESPACE
     8 ---------- ------------------------------------------------------------
     9 TESTERP    USERS
    10 
    11 SQL> grant create session to testerp; ---授权CREATE SESSION权限给TESTERP
    12 
    13 Grant succeeded.
    14 
    15 SQL> conn testerp/testerp@erp  ---TESTERP可以正常登录数据库
    16 Connected.
    17 SQL> create table erp1(id number);  ---TESTERP不能创建表,因为没有CREATE TABLE权限
    18 create table erp1(id number)
    19 *
    20 ERROR at line 1:
    21 ORA-01031: insufficient privileges
    22 
    23 
    24 SQL> conn sys/oracle@erp as sysdba
    25 Connected.
    26 SQL> grant create table to testerp;  ---切换到SYS用户,授权CREATE TABLE给TESTERP
    27 
    28 Grant succeeded.
    29 
    30 SQL> conn testerp/testerp@erp
    31 Connected.
    32 SQL> create table erp1(id number);  ---用TESTERP登录数据库后,可以正常创建表,因为在11g R2以后出现了 延迟段
    33 
    34 Table created.
    35 
    36 SQL> insert into erp1 values(1); --- 创建的表是不能插入数据的,因为没有空间配额QUOTA
    37 insert into erp1 values(1)
    38             *
    39 ERROR at line 1:
    40 ORA-01950: no privileges on tablespace 'USERS'
    41 
    42 
    43 SQL> conn sys/oracle@erp as sysdba
    44 Connected.
    45 SQL> alter user testerp quota 1m on users;  ---给TESTERP设置空间配额为1M
    46 
    47 User altered.
    48 
    49 SQL> conn testerp/testerp@erp
    50 Connected.
    51 SQL> select * from erp1;
    52 
    53 no rows selected
    54 
    55 SQL> insert into erp1 values(1);  ---可以正常插入数据
    56 
    57 1 row created.
    58 
    59 SQL> select * from erp1;
    60 
    61     ID
    62 ----------
    63      1
    64 
    65 SQL>
  • 相关阅读:
    ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
    JavaScript 的 if else 和 switch对比
    setTimeout 、 promise、async await 的执行顺序?宏任务、微任务,分别包含哪些?
    mac终端,自定义命令提示符。zsh导致PS1变量序列字符失效!!!
    js基础——错误处理
    Nginx | CentOS 8 安装Nginx详细教程
    Vue | 虚拟DOM
    Vue | 双向数据绑定
    Hexo | 超详细的hexo+githhub page搭建过程
    JavaScript | 彻底搞懂JS闭包
  • 原文地址:https://www.cnblogs.com/eniniemand/p/14016345.html
Copyright © 2011-2022 走看看