zoukankan      html  css  js  c++  java
  • ORA-01950: no privileges on tablespace xxxx


    案例场景:

    新建了一个表空间后TBS_MARKET_DAT,希望将归档的数据放置在这个表空间。


    SQL> CREATE TABLESPACE TBS_MARKET_DAT
      2  DATAFILE '/u04/oradata/gps/bookt_data_arch_01.dbf'
      3  SIZE 100M
      4  AUTOEXTEND ON
      5  NEXT 10M
      6  MAXSIZE 4G
      7  EXTENT MANAGEMENT LOCAL
      8  SEGMENT SPACE MANAGEMENT AUTO ONLINE ;

    用户A(默认表空间为TBS_ODS_DAT)创建表时指定表存储在表空间为TBS_MARKET_DAT时,遭遇ORA-01950: no privileges on tablespace 'TBS_MARKET_DAT'

     

    原因分析:

       如下所示,用户没有权限在指定的表空间分配空间。只需要将表空间的权限授予给该用户即可。

    [oracle@DB-Server ~]$ oerr ora 01950
    01950, 00000, "no privileges on tablespace '%s'"
    // *Cause:  User does not have privileges to allocate an extent in the
    //          specified tablespace.
    // *Action: Grant the user the appropriate system privileges or grant the user
    //          space resource on the tablespace.

    解决方法:

     

    方法1: 授予用户对该表空间的UNLIMITED配额

     

    SQL> ALTER USER ETL QUOTA UNLIMITED ON TBS_MARKET_DAT;

    User altered.

    SQL>

     

    方法2: 重新授权resource角色给用户之后,便可以创建表格

     

    SQL> GRANT RESOURCE TO ETL;

  • 相关阅读:
    python 协程
    数据库中的一对多,多对多实例
    source命令
    HTTP 协议报文解析
    html中的body和head有什么区别??
    xml json
    内置函数bytes()
    MySQL中的日期和时间函数
    MySQL中的数值函数
    MySQL中的字符串函数
  • 原文地址:https://www.cnblogs.com/kerrycode/p/4222834.html
Copyright © 2011-2022 走看看