ORA-01536:表空间不足

Oracle案例--错误码之ORA-01536 表空间限额和表空间是两个不同的概念,表空间限额约束了表空间的使用情况,如果表空间200M,表空间限额只分配20M,剩下的180M的空间能够被数据库所使用的空间就被浪费掉了。发现并没有对表空间MMSG有限额分配的信息,推论表空间MMSG应该使用默认的分配限额(具体是多少,暂时不知)。MMSG表空间使用率很低啊,3.27G的空间只使用了104M。观察一下表空间是否已经满了,无法自动扩展或者扩展已达配额。为表空间分配使用限额,设置扩大或者不限制。文章作者: Gavin Wang。2、查看表空间使用率。 阅读详情
  当用户创建表或向已有的表中插入数据时,提示Ora-01536:表空间不足。用户使用grant resource,解决问题。这不是一种好的作法,特别是在8I及以前的版本的数据中。在理解这一点之前,我们先来看以下几个概念: 

  •     表空间(tablespace)        在逻辑组成上,数据库首先是由若干个表空间组成的。用来保存用户的各种对象,包括表、索引等等。用户在建立数据库对象时,可以指定保存的目标表空间,如果没有指定,将保存至创建用户时的默认表空间。在创建用户时,管理员可以指定默认表空间,如果不批定,系统将选择系统表空间为用户的默认表空间。
  •     系统表空间(system tablespace)        保存数据库数据字典信息、PL/SQL包、过程定义、序列、同义词、视图定义等。每个数据库都必须有一个系统表空间。为了减少系统表空间碎片的发生,用户的数据不应被保存在系统表空间。           
  •     限额(quota)        就如在UNIX操作系统中可以设定用户可使用的空间限制,在ORACLE中,也可以限定用户可使用空间的最大限额。管理员可以在创建用户时用QUOTA字句进行设定,也可以创建用户可用ALTER TABLE语句修改。
  •     角色(ROLE)        用户操作数据库必须有相应的权限。角色是一组数据库权限的集合。可以用GRANT语句授予用户角色的权限。其中RESOUCE角色有点特殊,它隐含了一个叫UNLIMITED TABLESPACE的数据库系统权限。一旦用户被授予此角色,用户将可以在任何表空间创建对象,不再受限额的限止,包括系统表空间(9I中已有所改变)。
  1.  

         
    现在我们重新回到主题。当用户使用授予RESOURCE角色时,他相应地就会冒一个可能在系统表空间建立对象的风险。下面的例子将为大家揭示隐含的问题:

  Code:[Copy to clipboard]  
        
     system@test816.world>create user rudolf identified by nix
       2  /        
      
     User created.
      
     system@test816.world>grant connect to rudolf;
      
     Grant succeeded.
      
     system@test816.world>alter user rudolf quota 1M on tools;
      
     User altered.
      
     system@test816.world>connect rudolf/nix     
     Connected.     
     rudolf@test816.world>create table t (id number) storage (initial 2M) tablespace tools;
     create table t (id number) storage (initial 2M) tablespace tools
     *
     ERROR at line 1:
     ORA-01536: space quota exceeded for tablespace 'TOOLS'

很好,我们碰到了问题:

  Code:[Copy to clipboard]  

     rudolf@test816.world>connect system/alibaba
     Connected.     
     system@test816.world>
     system@test816.world>
     system@test816.world>grant resource to rudolf
       2  /
      
     Grant succeeded.
      
     system@test816.world>connect rudolf/nix
     Connected.
     rudolf@test816.world>create table t (id number) storage (initial 2M)
       2  /
      
     Table created.
      
     rudolf@test816.world>

正如所料,授予RESOURCE权限后,一切正常,可是我们的麻烦也从此开始:

  Code:[Copy to clipboard]  

     rudolf@test816.world>select tablespace_name,table_name from user_tables where table_name = 'T';
      
     TABLESPACE_NAME                TABLE_NAME
     ------------------------------ ------------------------------
     SYSTEM                         T
      
     rudolf@test816.world>

由于疏忽或其实原因,在建表时,没有加上TABLESPACE子句,直接导致对象被创建在系统表空单,而这在ORACLE中是应当绝对的被避免的。为了避免些种情况,我们建议在建立用户时请务必作用default tablespace字句与quota字句,同时,如果您要授予用户RESOURCE、DBA等隐含UNLIMITED TABLESPACE系统权限的角色时,请用REVOKE子句去掉unlimited tablespace 权限:

  Code:[Copy to clipboard]  
  
      system@test816.world>l
       1  create user rudolf
       2  identified by nix
       3  default tablespace tools           -- suggest,repace 'tools' with your own tablespace
       4  temporary tablespace temp          -- suggest
       5  quota 0 on system                  -- suggest
       6* quota unlimited on tools           -- suggest, you can have multiline such as this one, also replace 'unlimted', 'tools' as your need
     system@test816.world>/
      
     User created.
      
     system@test816.world>grant connect,resource to rudolf;
      
     Grant succeeded.
      
     system@test816.world>revoke unlimited tablespace from rudolf -- suggest
     /
      
     Revoke succeeded.        

如果用户已创建,可以:

  Code:[Copy to clipboard]  

     system@test816.world>alter user rudolf default tablespace tools
       2  quota 0 on system
       3  quota unlimited on tools        
       4  /
      
     User altered.

如果仅为解决ORA-01536错误,用户可以根据错误所示的表空间,看情况加大你的空间限额:

  Code:[Copy to clipboard]  

     rudolf@test816.world>create table t (id number) storage (initial 2M) tablespace tools;
     create table t (id number) storage (initial 2M) tablespace tools
     *
     ERROR at line 1:
     ORA-01536: space quota exceeded for tablespace 'TOOLS'

此处提示TOOLS表空间,因此:

  Code:[Copy to clipboard]  
   
       system@test816.world>alter user rudolf default tablespace tools
       2  quota 0 on system
       3  quota 10M on tools        
       4  /
      
     User altered.   
  
     system@test816.world>connect rudolf/nix
     Connected.
     rudolf@test816.world>create table t (id number) storage (initial 2M) tablespace tools
       2  /
      
     Table created.

Oracle中的【ORA-01536表空间限额不够】的解决方法 Oracle中的【ORA-01536表空间限额不够】的解决方法 错误场景: 今天在SMS短信数据库一个功能运行时候遇到了ORA-01536错误,具体如下: --执行一条插入语句 INSERT INTO SMS_MASTER (CREATE_DATE, TYPE_NAME, SMS_ID, SMS_CONTENT,SMS_PHONE) VALUES (SYSDATE, 'HIS', 00003689, '测试数据', '138****2263'); /*报错信息: ORA-01536: 超出表空间 'USERS' 的空间限额 */ 解决过程: ps:开始以为是表空间不够用了,看了下,的 立即下载

相关推荐

数字IC设计之时序分析基础概念汇总

时序分析主要有两种办法:静态时序分析: (static timing analysis,STA),是遍历电路存在的所有时序路径,根据给定工作条件(PVT)下的时序库.lib文件计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足约束要求,根据最大路径延时和最小路径延时找出违背时序约束的错误。

weixin_45230720的博客 5606

ORA-01536

Ora-01536:超出了表空间users的空间限量(转)   正在开会,同事跑过来说数据库有问题,通讯程序不能入库,赶快获取一条insert into a values()语句后在toad工具中手动插入,发现报错:Ora-01536:超出了表空间users的空间限量。   该表a的是用户A下的一个大表,表空是users,而非A用户的默认表空间。users表空间有大约70%的空

qq_26217487的博客 1327

TI C2000 , .cmd文件,.TI.ramfunc,将程序分配为在RAM中运行/Flash运行的配置方法和原理讲解,(如28375S ,280049,28335等等芯片)

1 基础知识讲解 1.1 在RAM中运行还是在flash中运行指的是什么? 1.1.1 背景:程序编译完之后生成的.bin文件,.bin文件中包含代码段,代码段中全是汇编指令,而汇编指令中包含多个函数,各函数头的地址不同,如存在A函数和B函数,假设RAM地址区间是0x0000-0x8000,flash的地址区间是0xA000-0xF000,A函数要调用B函数,则A函数调用B函数的那段汇编指令中包含的是B函数头的存储地址,A函数和B函数都在flash中有存储 1.1.2 情况1:B函数是配置为在RAM中运行,

weixin_43776284的博客 8065

oracle 01536,Oracle中的ORA-01536(表空间限额不够)的解决方法

1. 错误场景: 今天在测试一个功能的时候遇到了ORA-01536错误,具体如下 SQL> create table t_row_col_change (n number, str varchar2(100)); create table t_row_col_change (n number, str varchar2(100)) * 第 1 行出现错误: ORA-0...

weixin_36330888的博客 1258

LPDDR4x 深度解析(3) - SDRAM核心操作机制

本文深入解析LPDDR4x SDRAM的核心操作机制,包括基础架构、刷新操作、读写流程及低功耗设计。详细介绍了存储阵列、地址解码器等关键模块,以及自刷新与自动刷新模式的区别。通过实测数据和技术细节,揭示LPDDR4x在性能优化和功耗控制方面的创新设计,为硬件工程师提供实用参考。

weixin_29278805的博客 308

【R语言-生存分析之观察生存率计算】

全人群肿瘤登记资料常用的统计分析指标包括发病率、死亡率、现患率以及生存率等,其中肿瘤生存率是评估肿瘤治疗效果和肿瘤负担的必要指标,其计算涉及肿瘤患者的发病、 死亡和随访三个方面的资料, 数据整理和计算过程均较为复杂, 如何及时、 准确地计算肿瘤生存率, 并使其可以在不同地区、 不同人群、不同时期间被客观公正地比较和评价,仍然是统计学家们一直在研究的主题。

weixin_46579654的博客 5439

oracle 01536,关于ORA-01536 报错的几种场景:

我们都知道unix 或linux下都可以限制某个用户使用磁盘空间,避免造成空间占用100%引发系统事故,oracle也可以实现该功能,就是通过指定用户对某些表空间的配额quota来实现的。一旦超过配额上限,就会报ORA-01536,下面的几个场景就来介绍一下。场景1:用户quota不足sqlplus / as sysdbadrop user test cascade;create user tes...

weixin_34377744的博客 838

别再买错磁铁了!手把手教你为TLE5012B/AS5047等磁编码器选配和安装径向充磁磁铁

本文详细解析了为TLE5012B/AS5047等磁编码器选配和安装径向充磁磁铁的关键要点。从充磁方向的物理本质到供应商沟通技巧,再到安装工艺的黄金法则,帮助工程师避免常见错误,确保磁编码器稳定工作。特别强调了径向充磁的重要性及验证方法,并提供了尺寸选择、温度特性和抗干扰设计的实用建议。

weixin_26750481的博客 315

关于:ORA-01536:表空间不足

当用户创建表或向已有的表中插入数据时,提示Ora-01536:表空间不足。用户使用grant resource,解决问题。这不是一种好的作法,特别是在8I及以前的版本的数据中。在理解这一点之前,我们先来看以下几个概念:    表空间(tablespace)        在逻辑组成上,数据库首先是由若干个表空间组成的。用来保存用户的各种对象,包括表、索引等等。用户在建立数据库对象时,可

独自登高楼 望断天涯路 2466

BF8815A

了解ADBMS1818芯片的人会发现,这款BF8815B和1818有着很多相似的东西,当你了解其中一款AFE之后,另一款你的上手也会特别快,下面文章是我针对1818梳理的一些重要知识点,此篇文章主要讲解BF8815B的一些差异点。

m0_61973119的博客 561

Java代码实现opc ua 事件订阅和数据变化订阅

OPC UA (Open Platform Communications Unified Architecture) 提供了两种主要的订阅机制:数据变化订阅(Data Change Subscription)和事件订阅(Event Subscription)。这两种订阅机制允许客户端实时接收来自服务器的数据更新或事件通知。

洛阳泰山的博客 2367

关于Ora-01536:表空间不足

当用户创建表或向已有的表中插入数据时,提示Ora-01536:表空间不足。用户使用grant resource,解决问题。这不是一种好的作法,特别是在8I及以前的版本的数据中。在理解这一点之前,我们先来看以下几个概念:...

congzongzheng2351的博客 127

【从0到1实战】C# WinForm开发工业级PLC监控系统(完整串口+Modbus RTU/TCP+数据库存储+源码+避坑指南)

做C#工控上位机开发的工程师,尤其是刚入行的新人,最核心的刚需就是开发一套完整的PLC监控系统。这也是工控领域最基础、最核心、应用最广的项目类型——小到单台PLC的设备测控,大到整线的产线监控,本质都是「上位机与PLC通讯,实现数据采集、参数下发、状态监控、数据存储」。碎片化的知识点学了很多,串口会用了、Modbus协议看了、数据库也懂点,但是始终无法把这些知识点串联起来,做出一套能落地的工业级PLC监控系统。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1559

ORA-01536:表空间不够 解决方法

ORA-01536:表空间不够 解决方法 当创建一个表,或者插入数据时,出现下面问题: ORA-01536:space quota exceeded for tablespace SQL> l...

css48419的博客 237

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Ora-01536:超出了表空间users的空间限量(转)

正在开会,同事跑过来说数据库有问题,通讯程序不能入库,赶快获取一条insert into a values()语句后在toad工具中手动插入,发现报错:Ora-01536:超出了表空间users的空间限量。   该表a的是用户A下的一个大表,表空是users,而非A用户的默认表空间。users表空间有大约70%的空闲空间,为什么a表就不能使用了呢?从网上搜索后终于明白:   ora-1

776

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

oracle+超出表空间限额,ORA-01536: 超出表空间 'USERS' 的空间限额

Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0Connected as SYSSQL> conn mytest/mytest@orcl;Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0Connected as...

weixin_29149931的博客 596

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Ora-01536:超出了表空间users的空间限量

    正在开会,同事跑过来说数据库有问题,通讯程序不能入库,赶快获取一条insert into a values()语句后在toad工具中手动插入,发现报错:Ora-01536:超出了表空间users的空间限量。   该表a的是用户A下的一个大表,表空是users,而非A用户的默认表空间。users表空间有大约70%的空闲空间,为什么a表就不能使用了呢?从网上搜索后终于明白:   ora...

weixin_33973600的博客 111

建表时出现ora-01536:超出表空间“users"的空间限额

<!--google_ad_client = "pub-0246923946865164";/* 728x90, created 10/10/09 */google_ad_slot = "1248078023";google_ad_width = 728;google_ad_height = 90;// -->建表时出现ora-01536:超出表空间“use

上帝狼 680

遇到错误 ORA-01536: space quota exceeded for tablespace 'XXX'

昨天回家前想Create一个Table,结果遇到了这样一个错误ORA-01536。 于是就把问题一扔回家了。hoho。。 # 一般情况下有两种想法,一种是今天的事情今天做,还有一种就是今天的事情明天做。 # 至于哪种想法对就要看情况了。:P 今天早上来查收发了邮件,然后就开始找这个问题的症结。最终让我找到了一个LOG文件,当初在Create User的时候,居然没有指定QUO...

banxian2929的博客 276

ORA-01536: 超出表空间 'XX' 的空间限额

ORA-01536: 超出表空间 'XX' 的空间限额【转载】 遇到ORA-01536错误,首先要查看用户的表空间的限额 select * from dba_ts_quotas; select * from user_ts_quotas; max_bytes字段-1是代表没有限制,其它值多少就是多少. dba_ts_quotas :描述所有用户表空间的...

java攻城师 222

错误号ORA-01536:space quota exceeded for table space

错误号ORA-01536:space quota exceeded for table space 'ALCATEL'的解决办法   三个解决办法,任你选择:  (1) alter user USERNAME quota 100...

cuanjia1708的博客 240
上一篇: 设计模式在Java数据库编程中的运用
下一篇: 这几天工作好累,脑袋一片空白
tom0421
博客等级 码龄25年 6粉丝 52原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值