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.




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

原文地址:https://www.cnblogs.com/zgqjymx/p/1975880.html