2

Oracle マネージド ファイルを使用すると、次のようにテーブルスペースを作成できます。

CREATE TABLESPACE users;

自動拡張されますが、私が理解しているように、小さなファイルのデータファイルには最大サイズがあります。だから私はする必要があります:

ALTER TABLESPACE users ADD DATAFILE;
ALTER TABLESPACE users ADD DATAFILE;
ALTER TABLESPACE users ADD DATAFILE;

オラクルが可能な最大サイズを超えて自動拡張しようとしたときに、別のデータファイルを自動的に追加する方法があったかどうか疑問に思っていますか?

4

3 に答える 3

1

Oracleには実際の制限はありません

ALTER DATABASE DATAFILE <'data_file_name' | data_file_number> AUTOEXTEND K | M | G | T | P | EMAXSIZE<無制限| K | M | G | T | P | E>;

OSまたはosオペレーターは、ユーザーとデータベースを停止できます。使用率の%後にテーブルスペースに新しいファイルを自動的に追加するジョブを作成できます。このようなもの(擬似コード)。

SELECT tablespace_name,maxbytes,bytes INTO v_tbs_info FROM dba_data_files;

FOR tbs_inf IN v_tbs_info LOOP
  IF tbs_inf.bytes/tbs_inf.maxbytes > 0.99
  excecute immediate 'ALTER TABLESPACE '|| tbs_inf.tablespcae_name ||' ADD DATAFILE SIZE 1M aUTOEXTEND ON NEXT 10M MAXSIZE 10G';
END LOOP;

もちろん、このジョブを作成して使用するべきではありません。データが占めるスペースの量を指定し、適切な数のファイルを表領域に割り当てる必要があります。

于 2011-03-02T14:05:05.990 に答える