自分用の覚書き。
会社で使っているOracle10gのDBデータファイルの上限がMAXになってしまったので、初期化パラメータ「db_files」を更新した。ちなみにデフォルトは200。
これをちょっと多めに400まで増やす。
今回使っているDBでは、SPFILEを使っているので、SQLで更新かけてインスタンス再起動する。
(PFILE使っている場合は、たぶんinit.ora辺りを直に編集してDB再起動なのかな?)
作業はDBA権限で行う。
sqlplus /nolog conn /as sysdba |
初期化パラメータは
show parameters |
で確認できる。
NAME TYPE VALUE db_files integer 200 |
たぶん、こんな感じでどっかに表示されてるはず。
で、初期化パラメータを更新するSQLが、
ALTER SYSTEM SET DB_FILES=400 SCOPE=SPFILE ; |
で、「System altered.」って表示されれば、とりあえず更新できているはず。
後はインスタンスの再起動。
shutdown immediate startup |
で、完了。
もう一度、「show parameters」で確認して更新されていればOK。
おまけ
制御ファイルに記録されている「MAXDATAFILES」の値が、
select * from V$CONTROLFILE_RECORD_SECTION; |
これで見れる「DATAFILE」のRECORDS_TOTALの値だという記事があって、うちでも作業前に確認してみたところ、200でした。
これも、別途更新作業が必要かなと思ったんですが、どっかに自動拡張されるという記事があったので、構わず上記の手順で実行。
実行後にもう一回確認してみたところ、200のまま。まずいかなぁと思いつつ、201個目のデータファイルを作ってみるとうまくいったので、もう一度確認したところ、400に増えていました。
ちゃんと自動拡張されていたので一安心。