web-dev-qa-db-ja.com

テーブルスペースにAUTOEXTENDがオンになっているのに、ORA-01691(LOBセグメントを拡張できない)

エラーが発生します:

ORA-01691: unable to extend lob segment ABC.SYS_LOB0000167347C00131$$ by 1024 in tablespace XYZ

しかし、テーブルスペースのAUTOEXTENDがオンになっているため、これは私には非常に奇妙です。これが発生する可能性が高い理由は何ですか?それをどのように克服できますか?

ありがとう。

6

自動拡張可能なデータファイルにはサイズ制限があります。

select file_id, bytes, maxbytes from dba_data_files where tablespace_name = 'XYZ';

Maxbytesはデータファイルの最大サイズであり、それを超えることはできません。 bytes = maxbytesの場合、2つのオプションがあります。

1)最大サイズ(maxbytes)を(15は上記のクエリからのfile_idです)、たとえば10Gに増やします。

alter database datafile 15 autoextend on maxsize 20G;

データファイルには最大サイズのハード制限があり、2^22 * block_sizeはsmallfileテーブルスペース、2^32 * block_sizeビッグファイルテーブルスペース用。

8Kブロックサイズのテーブルスペースを使用する場合、データファイルの最大サイズは32 GBです。データファイルがすでにそのサイズになっている場合は、これ以上増やすことはできません。オプション番号2があります。

2)新しいデータファイルをテーブルスペースに追加します。例:

alter tablespace xyz add datafile '/path/to/datafiles/xyz02.dbf' size 100M autoextend on next 100M maxsize unlimited;
11
Balazs Papp