zoukankan      html  css  js  c++  java
  • ORACLE有数错误代码的分解与解决(一)

     前导发轫:网海拾贝  




    在运用ORACLE的进程过,我们会屡屡遇到一些ORACLE孕育发作的错误,关于初学者而言,这些错误可以有点含混,而且可
    能一时不知如何行止置孕育发作的这些错误,自身就运用中呈现比较频繁的错误代码逐一做出分解,但愿可以帮助你找到一个
    合相识决这些错误的法子,同时也但愿你可以提出你的分譬喻观点。终究作为一种交流的才具,全体定见不免过于偏颇,而
    且也一定存在着缺乏,蜕化之处在所不免。写这篇文章的目标便是想经过议定彼此之间的交流共同促进,共同提高。

    ORA-01650:unable to extend rollback segment NAME by NUM intablespace NAME

      孕育发作启事:上述ORACLE错误为回滚段表空间缺乏惹起的,这也是ORACLE数据治理员最有数的ORACLE错误信息。当用户
    在做一个极度宏弱小的数据操纵招致现有回滚段的缺乏,使可分配用的回滚段表空间已满,无法再举办分配,就会呈现上述
    的错误。

      解决方式:运用“ALTER TABLESPACE tablespace_name ADD DATAFILE filename SIZE size_of_file”敕令向指定的
    数据增进表空间,依据具体的情形可以增进一个或多个表空间。虽然这与还与你主机上的裸盘装备有关,要是你主机的裸
    盘装备曾经没有多余的运用空间,创议你不要轻意的增进回滚段表空间的大大小,可运用下列的语句先究诘一下残剩的
    tablespace空间有多少好多:

    Select user_name,sql_text from V$open_cursor where user_name=’<user_name>’;

      要是多余的空间比较多,就可以适合追加一个大大的回滚段给表空间运用,从而中止上述的错误。你也可以用以下语句
    来检测一下rollback segment的竞争情况:

    Select >header’,’undo block’);和

    Select sum(value) from V$sysstat where name in (‘db_block_gets’,’consistents gets’);

    要是任何一个>
    响应的英文如下:

    Cause:Failed to allocate extent from the rollback segment in tablespace

    Action:Use the ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the specified
    tablespace.

    ORA-01652:unable to extend temp segment by num in tablespace name

      孕育发作启事:ORACLE一时段表空间缺乏,因为ORACLE老是虽然分配接连空间,一但没有优裕的可分配空间梗概分配不连
    续就会呈现上述的气象。

      解决法子:我们晓得因为ORACLE将表空间作为逻辑构造-单元,而表空间的物理构造是数据文件,数据文件在磁盘上物
    理地创建,表空间的全部器械也存在于磁盘上,为了给表空间增进空间,就必需增进数据文件。先检察一下指定表空间的
    可用空间,运用视图SYS.DBA_FREE_SPACE,视图中每条记载代表可用空间的碎片大大小:

    SQL>Select file_id,block_id,blocks,bytes from sys.dba_free_space where tablespace_name=’<users>’;

      前往的信息可劈头确定可用空间的最大大块,看一下它可否小于错误信息中提到的尺寸,再检察一下缺省的表空间参
    数:

    SQL>SELECT INITIAL_EXTENT,NEXT_EXTENT,MIN_EXTENTS,PCT_INCREASE FROM SYS.DBA_TABLESPACES WHERE
    TABLESPACE_NAME=name;

    经过议定下面的SQL敕令修改一时段表空间的缺省存储值:

    SQL>ALTER TABLESPACE name DEFAULT STORAGE (INITIAL XXX NEXT YYY);

    适合增大大缺省值的大大小有可以解决呈现的错误标题,也可以经过议定修改用户的一时表空间大大小来解决这个标题:

    SQL>ALTER USER username TEMPORARY TABLESPACE new_tablespace_name;

    运用ALTER TABLESPACE敕令,一但完成,所增进的空间就可运用,无需加入数据库或使表空间脱机,但要具体,一旦添加
    了数据文件,就不克不及再删除它,若要删除,就要删除表空间。

    一个报错例子如下:

    ORA-1652:unable to extend temp segment by 207381 in tablespace TEMPSPACE

    响应的英文如下:

    Cause: Failed to allocate extent for temp segment in tablespace

    Action:Use the ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the specified
    tablespace or create the object in another tablespace.




    版权声明: 原创作品,核准转载,转载时请务必以超链接形式标明文章 原始情由 、作者信息和本声明。否则将追究法令责任。

  • 相关阅读:
    C 数组初始化
    Linux函数之snprintf()[一]
    出现一下错误
    IOS通过post方式发送图片续
    IOS通过post方式发送图片
    TCP和UDP的区别趣解
    [转]Release mode debugging with VC++
    [转]Math For Programmers
    OS:kernel and shell
    Reminder: 8020 rule
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1975880.html
Copyright © 2011-2022 走看看