sql >> データベース >  >> RDS >> Oracle

ORA-01652:表領域で一時セグメントを128だけ拡張できません。システム:拡張方法は?

    各テーブルスペースには、データの保存に使用する1つ以上のデータファイルがあります。

    データファイルの最大サイズは、データベースのブロックサイズによって異なります。デフォルトでは、データファイルあたり最大32GBが残っていると思います。

    実際の制限が32GBかどうかを確認するには、次のコマンドを実行します。

    select value from v$parameter where name = 'db_block_size';
    

    得られた結果を下の最初の列と比較すると、最大データファイルサイズがわかります。

    Oracle Personal Edition 11g r2を使用していますが、デフォルトのインストールでは、8,192ブロックサイズ(データファイルあたり32GB)でした。

    Block Sz   Max Datafile Sz (Gb)   Max DB Sz (Tb)
    
    --------   --------------------   --------------
    
       2,048                  8,192          524,264
    
       4,096                 16,384        1,048,528
    
       8,192                 32,768        2,097,056
    
      16,384                 65,536        4,194,112
    
      32,768                131,072        8,388,224
    

    このクエリを実行して、所有しているデータファイル、それらが関連付けられているテーブルスペース、および現在最大ファイルサイズを設定しているもの(前述の32GBを超えることはできません)を見つけることができます。

    select bytes/1024/1024 as mb_size,
           maxbytes/1024/1024 as maxsize_set,
           x.*
    from   dba_data_files x
    

    MAXSIZE_SETは、データファイルを設定した最大サイズです。 AUTOEXTENDオプションをONに設定したかどうかも関係します(その名前はそれが意味することを行います)。

    データファイルの最大サイズが小さい場合、または自動拡張がオンになっていない場合は、次のコマンドを実行できます。

    alter database datafile 'path_to_your_file\that_file.DBF' autoextend on maxsize unlimited;
    

    ただし、そのサイズが32GB以下の場合、自動拡張がオンになっている場合は、はい、テーブルスペース用に別のデータファイルが必要です。

    alter tablespace system add datafile 'path_to_your_datafiles_folder\name_of_df_you_want.dbf' size 10m autoextend on maxsize unlimited;
    



    1. 数十億行に最適なデータストア

    2. OracleAppsのFND_LOBSテーブルについて知っておくべきこと

    3. PostgreSQLを使用して同じクエリの複数の行を更新する

    4. ASP.NETとSQLServer間の接続プールの問題を解決するにはどうすればよいですか?