精华内容
下载资源
问答
  • 朋友生产数据库在向特定的一张表插入数据时报超出表空间data的空间限额如是执行下查看用户所用的表空间配额信息,查看用户所使用表空间的配额发现没有限制,因为max_bytes为 -1 SQL>select...

    朋友生产数据库在向特定的一张表插入数据时报超出表空间data的空间限额如是执行下查看用户所用的表空间配额信息,查看用户所使用表空间的配额发现没有限制,因为max_bytes为 -1

    SQL>  select * from dba_ts_quotas where username='data';
    TABLESPACE_NAME                USERNAME                            BYTES  MAX_BYTES     BLOCKS MAX_BLOCKS DROPPED
    ------------------------------ ------------------------------ ---------- ---------- ---------- ---------- -------
    data                           data                           8825732464         -1  107735992         -1 NO
     1 rows selected
    SQL>
    SQL> select
      2    fs.tablespace_name            "Tablespace",
      3    (df.totalspace-fs.freespace)  "Used MB",
      4    fs.freespace                  "Free MB",
      5    df.totalspace                 "Total MB",
      6    round(100*(fs.freespace/df.totalspace)) "Pct. Free"
      7  from
      8    (select tablespace_name,round(sum(bytes)/1024/1024) TotalSpace
      9    from dba_data_files group by  tablespace_name) df,
     10    (select tablespace_name,round(sum(bytes)/1024/1024) FreeSpace
     11    from dba_free_space group by tablespace_name) fs
     12  where df.tablespace_name=fs.tablespace_name;
    Tablespace                        Used MB    Free MB   Total MB  Pct. Free
    ------------------------------ ---------- ---------- ---------- ----------
    SYSTEM                               7207       3033      10240         30
    TEST                                 6790      34170      40960         83
    USERS                                 173      25427      25600         99
    UNDOTBS2                              227      24013      24240         99
    DATA                               990119     176281    1166400         15
    SYSAUX                               3925       1195       5120         23
    UNDOTBS1                            12898      28062      40960         69
    7 rows selected
    

    查看表lv_data的依赖对象

    SQL> select NAME,TYPE from dba_dependencies where REFERENCED_NAME='LV_DATA';
    NAME                           TYPE
    ------------------------------ ------------------
    LV_DATA                        VIEW
    FC_UPDATE_CORPFUND             PROCEDURE
    FC_UPDATE_MY                   PROCEDURE
    FC_UPDATE_KY                   PROCEDURE
    FC_UPDATE_FACTPAY              PROCEDURE
    FC_UPDATE_CALCPAY              PROCEDURE
    FC_UPDATE_KY                   PROCEDURE
    ......
    LV_DATA                        SYNONYM
    LV_DATA                        VIEW
    LV_DATA                        SYNONYM
    LV_DATA                        SYNONYM
    139 rows selected
    

    查看所有依赖对象的所有者

    SQL> select  distinct owner from dba_objects where OBJECT_NAME in(select NAME from dba_dependencies where REFERENCED_NAME='LV_DATA');
    OWNER
    ------------------------------
    SY
    SY_BK
    WEB
    CX
    DATA
    OLD
    TEST
    XC
    CZ
    OSY
    BACKUP
    TJ
    12 rows selected
    

    对所有依赖对象所有者授权可以无限制使用表空间

    SQL> grant unlimited tablespace to OSY;
    Grant succeeded
    SQL> grant unlimited tablespace to SBK;
    Grant succeeded
    SQL> grant unlimited tablespace to WEB;
    Grant succeeded
    SQL> grant unlimited tablespace to CX;
    Grant succeeded
    SQL> grant unlimited tablespace to DATA;
    Grant succeeded
    SQL> grant unlimited tablespace to OLD;
    Grant succeeded
    SQL> grant unlimited tablespace to TEST;
    Grant succeeded
    SQL> grant unlimited tablespace to XC;
    Grant succeeded
    SQL> grant unlimited tablespace to CZ;
    Grant succeeded
    SQL> grant unlimited tablespace to SY;
    Grant succeeded
    SQL> grant unlimited tablespace to BACKUP;
    Grant succeeded
    SQL> grant unlimited tablespace to TJ;
    Grant succeeded
    

    再向表lv_data插入数据时恢复正常


    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26015009/viewspace-2646539/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/26015009/viewspace-2646539/

    展开全文
  • oracle表空间无限扩容

    2020-07-08 20:27:37
    查询空间使用率: SELECT A.TABLESPACE_NAME "表空间名", ... (TOTAL - FREE) / 1024 / 1024 "表空间使用大小单位M", ROUND((TOTAL - FREE) / TOTAL, 4) * 100 "使用率 [[%]]"FROM (SELECT TA...

     

    查询空间使用率:

    SELECT A.TABLESPACE_NAME "表空间名",
           TOTAL / 1024 / 1024 "表空间大小单位M",
           FREE / 1024 / 1024 "表空间剩余大小单位M",
           (TOTAL - FREE) / 1024 / 1024 "表空间使用大小单位M",
           ROUND((TOTAL - FREE) / TOTAL, 4) * 100 "使用率   [[%]]"FROM
           (SELECT TABLESPACE_NAME, SUM(BYTES) FREE
              FROM DBA_FREE_SPACE
             GROUP BY TABLESPACE_NAME) A,
           (SELECT TABLESPACE_NAME,
                   SUM(BYTES) TOTAL
              FROM DBA_DATA_FILES
             GROUP BY TABLESPACE_NAME) B WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME;

     

    查看空间路径以及空间名称

    select  * from dba_data_files;
     

    已创建空间达到最大限度则停止扩容,下面是扩容语句,创建新文件,并且无限扩容:

    alter tablespace SHR_DATA add datafile 'G:\ORACLESPACE\SHR\SH_DATA3.DBF' 
    size 500M  AUTOEXTEND on next 100m  maxsize unlimited ;
     

    展开全文
  • 1、名词解释 表空间(Tablespace):ORACLE数据库被...表空间是一个虚拟的概念可以无限大,但是需要由数据文件作为载体;每个ORACLE数据库均有SYSTEM表空间。 段(Segment):段是指占用数据文件空间的通称,或...

    1、名词解释

    表空间(Tablespace):ORACLE数据库被划分成称作为表空间 [1]  的逻辑区域——形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等;表空间是一个虚拟的概念可以无限大,但是需要由数据文件作为载体;每个ORACLE数据库均有SYSTEM表空间。

    段(Segment):段是指占用数据文件空间的通称,或数据库对象使用的空间的集合;段可以有表段、索引段、回滚段、临时段和高速缓存段等。

    区间(Extent):分配给对象(如表)的任何连续块叫区间;区间也叫扩展,因为当它用完已经分配的区间后,再有新的记录插入就必须在分配新的区间(即扩展一些块);一旦区间分配给某个对象(表、索引及簇),则该区间就不能再分配给其它的对象。

    Schema:元数据的一个抽象集合。

    比较形象的说法:我们可以把Database看作是一个大仓库。仓库分了很多很多的房间,Schema就是其中的房间。一个Schema代表一个房间。Table可以看作是每个Schema中的床,Table(床)被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了。然后床上可以放置很多物品,就好比 Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table。现实中每个仓库放置物品的基本单位就是床, User就是每个Schema的主人(所以Schema包含的是Object,而不是User),user和schema是一一对应的,每个user在没有特别指定下只能使用自己schema(房间)的东西。如果一个user想使用其他schema(房间)的东西,那就要看那个schema(房间)的user(主人)有没有给你这个权限了,或者看这个仓库的老大(DBA)有没有给你这个权限了。换句话说,如果你是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是你的(包括房间),你有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,你还可以给每个User分配具体的权限,也就是他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了。

    2、表空间释放语句

    select sum(a.BYTES)/1024/1024/1024 from dba_data_files a where a.TABLESPACE_NAME='xxx_'tablespace_name' 查询表空间大小
    select sum(a.BYTES)/1024/1024/1024 from dba_free_space a where a.TABLESPACE_NAME='xxx_'tablespace_name' 查询空闲表空间大小
    truncate table xxx_table_name drop storage 清除表中数据释放表空间

     

    展开全文
  • oracle表空间不足

    2020-06-03 13:44:22
    由于Oracle的Rowid使用22位来代表数据块号,因此Oracle表空间数据文件每个数据文件最多只能包含2^22个数据块。 也因此数据库表空间的数据文件不是无限增长的,例如: 在数据块为8k的情况下,单个数据文件的最大容量...

    Oracle表空间数据文件大小的限制

    由于Oracle的Rowid使用22位来代表数据块号,因此Oracle表空间数据文件每个数据文件最多只能包含2^22个数据块。

    也因此数据库表空间的数据文件不是无限增长的,例如:

    在数据块为8k的情况下,单个数据文件的最大容量为8K*2^22 = 32G

    同理,

    数据块为2K,数据文件最大约8G

    数据块为32,数据文件最大约16*8G

    故若达到这个最大容量之后,则即便是设置了自增长,也不是无限自增长,此时则需要为这个表空间添加数据文件

    当表空间不足时

    (1)设置文件的自动增长

    首先选择设置自增长,sql语句:Alter tablespace 表空间名 adddatafile ‘数据文件存放路径‘ autoextend on next 每次增加的大小 maxsize 数据文件大小的最大值

    (2)增加数据文件

    在自增长失灵了之后,需要增加数据文件,sql语句:Alter tablespace 表空间名 adddatafile ‘数据文件存放的路径’ size 数据文件大小M autoextend on next 每次自增长大小M Maxsize UNLIMITED;(后半部分为设置自增长)

    这里放个例子:

    alter tablespace SDE add datafile ‘E:\app\EmmaXu\product\11.1.0\db_1\database\SDE_1.dbf’ size 400Mautoextend off
    修改某数据文件为不限制大小
    ALTER DATABASE DATAFILE ‘D:\oracle_data\xxx.DBF’ AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED;

    增加新的数据文件
    alert tablespace 表空间名 add datafile ‘D:\oracle_data\xxx.DBF’ size 1000m autoextend on next 1000m maxsize UNLIMITED;

    删除指定的表空间文件

    ALTER TABLESPACE 表空间名 DROP DATAFILE ‘D:\oracle_data\xxx.DBF’;

    如何查询oracle用户对应 表空间及对应的DBF文件

    1.oracle查询用户以及用户对应的表空间

    select username,default_tablespace from dba_users;

    2.Oracle,查询 表空间对应的数据文件,用户和表空间对应关系

    select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id;

    展开全文
  • ora-01536 超出表空间 'xxx' 的空间限额

    千次阅读 2018-12-21 19:59:56
    解决方案: ...表空间的大小与用户的配额大小是两种不同的概念,表空间的大小是指实际的用户表空间的大小,而配额大小指的是用户指定使用表空间的的大小。把表空间文件增大,还是出现这个问题,用户...
  • (内存)的分配上,Oracle使用的是贪心算法,如果上次磁盘空间消耗达到1GB,那么临时表空间就是1GB,如果还有增长,那么依此类推,临时表空间 始终保持在一个最大的上限。Oracle临时表空间暴涨的现象经过分析可能是...
  • 对于一个新建的用户,如果没有分配给unlimitedtablespace系统权限的用户,必须先给他们指定限额,之后他们才能在表空间中创建对象,限额可以是: ...A、无限制的:允许用户最大限度的使用表空间中的可
  • 由于Oracle的Rowid使用22位来代表数据块号,因此Oracle表空间数据文件每个数据文件最多只能包含2^22个数据块。 也因此数据库表空间的数据文件不是无限增长的,例如: 在数据块为8k的情况下,单个数据文件的最大容量...
  • 1.创建一个用户USER1默认使用表空间HRTEST1,同时分配使用表空间无限额。 create user USER1 identified by 123 default tablespace HRTEST1 quota unlimited on HRTEST1; 2.其次,为表空间HRTEST1添加一...
  • 对于一个新建的用户,如果没有分配给unlimitedtablespace系统权限的用户,必须先给他们指定限额,之后他们才能在表空间中创建对象,限额可以是: ...A、无限制的:允许用户最大限度的使用表空间中的可用空间
  • 2.使用命令将表空间进行统一。revokeunlimitedtablespacefromworkflow;--将workflow表空间无限制配额先废除.alteruserworkflowquota0onusers;--此语句是将用户workflow在users表空间下的配额设置为0.让其无法...
  • ora-01536:超出表空间“users"的空间限额 ora-1536 是指的你建表的那个user 所能使用的空间没有了,不是那个表所在的... 解决办法增大能够使用表空间数或授予无限制的使用权限 ALTER USER 用户 QUO
  • 该篇文章大部分就抄录网上博客,具体出处已忘,但是实测可以解决该问题 ...也因此数据库表空间的数据文件不是无限增长的,例如:在数据块为8k的情况下,单个数据文件的最大容量为8K*2^22 = 32G同理,数据块...
  • 原因:当前使用的用户被数据库限制了在建表的表空间。 解决方案: 1.alter user 用户名quota 100M on 表空间名; (为指定用户在指定表空间上增加100M限额,这个数字可以任意) 2. alter user 用户名quota ...
  • ora-1536 是指的你建表的那个user 所能使用的空间没有了,不是那个表所在的tablespace ... 解决办法增大能够使用表空间数或授予无限制的使用权限  ALTER USER A QUOTA 50M ON users;  ALTER USER A QUOTA...
  • oracle分区表使用

    2013-12-19 13:53:03
    分区将表分离在若干不同的表空间上,用分而治之的方法来支撑无限膨胀的大表,给大表在物理一级的可管理性。将大表分割成较小的分区可以改善表的维护、备份、恢复、事务及查询性能。针对当前社保及电信行业的大量日常...
  • oracle临时表空间过大的原因&&处理

    千次阅读 2011-06-02 13:50:00
    05-12 11:22Oracle临时表空间主要是用来做查询和存放一些缓存的数据的,磁盘消耗的一个主要原因是需要对查询的结果进行排序,如果没有猜错的话,在磁盘空间的(内存)的分配上,Oracle使用的是贪心算法,如果上次...
  • oracle分区使用

    2018-11-28 13:54:47
    分区将表分离在若干不同的表空间上,用分而治之的方法来支撑无限膨胀的大表,给大表在物理一级的可管理性。将大表分割成较小的分区可以改善表的维护、备份、恢复、事务及查询性能。针对当前社保及电信行业的大量日常...
  • 使用Navicat for oracle 进行操作的,权限也都正确授权了。 解决办法是在用户编辑处的 “配额”一栏,在该用户默认表空间处勾选无限制或指定配额,保存后就可以正常操作了。...
  • 如果是存在一张表里,能只使用一条语句就可以查询处理的吗?难道只能分两次查询?回复讨论(解决方案)一条可以,php处理无限分类就是了。一次就OK,结构自己组装一次就OK,结构自己组装带有分页功能。。。一条可以,...
  • 数据库权限

    2013-06-03 17:06:35
    System privileges系统权限,至少分配unlimited tablespace(无限使用表空间权限) Quotas配额权限:“Tablespace” 中选中General里你填的默认表空间, 勾选 “Unlimited” 复选项 (这个一定要选中啊,不然创建表的...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 305
精华内容 122
关键字:

无限使用表空间