ジャーナル取得ファイルの容量が不足する要因はいくつかあります。詳細は"12.6.6 異常時の運用"を参照してください。
通常は、ジャーナル取得ファイルの表領域にローデバイスまたはファイルを追加することにより、ジャーナル取得ファイルの容量を拡張します。ジャーナル取得ファイルの追加は、ジャーナル取得ファイルに蓄積するジャーナル量が増加してジャーナル取得ファイルの容量が不足する可能性がある場合に行います。
追加したローデバイスやファイルは、そのサイズを縮小したり、表領域から削除することはできません。また、TJNLの環境を削除することにより、ジャーナル取得ファイルの表領域と追加したファイルは削除されますが、追加したローデバイスは削除されません。
また、ジャーナル取得ファイルに蓄積しているジャーナルが少ない状態であっても、ジャーナル取得ファイルの容量不足になることがあります。これは、ジャーナル取得ファイルはOracleデータベースの表として作成されており、表領域が効率的に使用されていない状態になっているためです。
その場合は、以下の手順によりジャーナル取得ファイルで使用する表および索引を再構築することで、ジャーナル取得ファイルの容量不足を解消できます。
なお、これらの操作はTJNLを停止した状態で行ってください。
ジャーナル取得ファイルのデータを退避する
ジャーナル取得ファイルに滞留しているデータを退避するため、Oracleのエクスポート・ユーティリティにてジャーナル取得ファイルのデータをファイルに抽出します。エクスポート・ユーティリティの詳細は、Oracleのマニュアルを参照してください。
退避するのは、以下の表のデータです。
データ格納用表(TJNLGETTABLE)
以下にコマンドの入力例を示します。
例.TJNLスーパバイザのユーザ名がspvisor、パスワードがspvpswdの場合
------------------------------------------------------------------------------ exp spvisor/spvpswd TABLES= (\‘TJNLGETTABLE\’) ------------------------------------------------------------------------------
------------------------------------------------------------------------------ exp spvisor/spvpswd TABLES=(‘TJNLGETTABLE’) ------------------------------------------------------------------------------
ジャーナル取得ファイルの表を削除する
ジャーナル取得ファイルの以下の表を削除します。
データ格納用表(TJNLGETTABLE)
以下にコマンドの入力例を示します。
------------------------------------------------------------------------------ sqlplus spvisor/spvpswd SQL> DROP TABLE TJNLGETTABLE; 表が削除されました。 SQL> exit ------------------------------------------------------------------------------
ジャーナル取得ファイルのデータを書き戻す
Oracleのインポート・ユーティリティにて、退避したデータをジャーナル取得ファイルに書き戻します。インポート・ユーティリティの詳細は、Oracleのマニュアルを参照してください。
以下にコマンドの入力例を示します。
例.TJNLスーパバイザのユーザ名がspvisor、パスワードがspvpswdの場合
------------------------------------------------------------------------------ imp spvisor/spvpswd TABLES= (\‘TJNLGETTABLE\’) ------------------------------------------------------------------------------
------------------------------------------------------------------------------ imp spvisor/spvpswd TABLES=(‘TJNLGETTABLE’) ------------------------------------------------------------------------------
ジャーナル取得ファイルの追加は、TJNLの運用状態に関係なく行うことができます。
ジャーナル取得ファイルの追加の手順を、"図12.33 ジャーナル取得ファイルの追加の手順"に示します。
ジャーナル取得ファイルの追加定義を格納するファイルをジャーナル取得ファイルの追加定義ファイルと呼びます。ジャーナル取得ファイルの追加定義ファイルは、ユーザが任意の通常ファイル上にテキストファイルとして作成します。
ジャーナル取得ファイルの追加定義ファイルは、viコマンドなど(Windowsではメモ帳など)の編集ツールを使用して定義してください。ジャーナル取得ファイルの追加定義の記述方法の詳細については、"12.9.2.2 ジャーナル取得ファイルの追加定義の記述"を参照してください。
ジャーナル取得ファイルの追加は、tjnlexpjdbコマンドを使用して行います。tjnlexpjdbコマンドの詳細は、"12.10.3.4 tjnlexpjdb(ジャーナル取得ファイルを追加する)"を参照してください。
なお、ジャーナル取得ファイルの追加は、既に追加したローデバイスやファイルを含めて、tjnlexpjdbコマンドを使用して追加したローデバイスとファイルの合計が5つになるまで行えます。
以下にtjnlexpjdbコマンドの入力例を示します。
------------------------------------------------
tjnlexpjdb -f /tjnl/def/TJNLadd.def
------------------------------------------------
------------------------------------------------
tjnlexpjdb -f c:\tjnl\def\TJNLadd.def
------------------------------------------------
注:ジャーナル取得ファイル追加は、TJNLの環境を作成したユーザで行う必要があります。
ジャーナル取得ファイルの追加定義ファイルについて説明します。
ジャーナル取得ファイルの追加定義の記述形式を、"表12.37 ジャーナル取得ファイルの追加定義の記述形式"に示します。
|
|
注) 追加するファイルの名前とファイルのサイズの間には“:”が必要です。
a) DBExpandセクション
ジャーナル取得ファイルに追加するファイルに関する情報を記述します。記述内容を"表12.38 [DBExpand]セクションの記述内容"に示します。
キーワード | 省略 | 記述方法 | 記述内容の説明 |
---|---|---|---|
| 可 | 絶対パスでローデバイスを指定します。 | ジャーナル取得ファイルの表領域に追加するローデバイス名を指定します。指定可能なローデバイスはOracleのマニュアルを参照してください。 複数のローデバイスを指定する場合は、本キーワードを複数記述してください。 既にtjnlexpjdbコマンドを使用して追加されているローデバイスとファイルを含めて、最大で5つまで追加することが可能です。 |
RegularFile |
| 以下の形式で指定します。 "ファイル名:サイズ" ファイルは絶対パスで指定します。 | ジャーナル取得ファイルの表領域に追加するファイルの名前とサイズを指定します。 複数のファイルを指定する場合は、本キーワードを複数記述してください。 既にtjnlexpjdbコマンドを使用して追加されているローデバイスとファイルを含めて、最大で5つまで追加することが可能です。 |
| 以下の形式で指定します。 "ファイル名:サイズ" ファイルは絶対パスで指定します。 | ジャーナル取得ファイルの表領域に追加するファイルの名前とサイズを指定します。 複数のファイルを指定する場合は、本キーワードを複数記述してください。 既にtjnlexpjdbコマンドを使用して追加されているファイルを含めて、最大で5つまで追加することが可能です。 |
注)RawDeviceとRegularFileを両方とも省略することはできません。
ジャーナル取得ファイルの追加定義の記述例を"表11.29 ジャーナル取得ファイルの追加定義の記述例"に示します。
ジャーナル取得ファイルの追加定義の記述例
[DBExpand] # ジャーナル取得ファイルの追加情報 RawDevice = /dev/rdsk/c1t2d0s5 # ジャーナル取得ファイルのローデバイス名 |
[DBExpand] # ジャーナル取得ファイルの追加情報 RegularFile = c:\tjnl\systemfile\tjnl_exp1.db:1024 # サイズ1024MB RegularFile = c:\tjnl\systemfile\tjnl_exp2.db:1024 # サイズ1024MB |