コントロールファイル



コントロールファイル
6.1制御ファイルの紹介
制御ファイルは小さなバイナリファイルです
現在のデータベースの物理状態の定義
データベースの整合性の確保
デマンド
データベースで開始
mountステータスの場合に使用し、データベースの起動を支援
制御ファイルは、データベース・サーバの起動中に書き込み可能である必要があります.制御ファイルデータベースなしではできません
mountは、回復するのも難しい.
データベースの作成中に制御ファイルを作成します.デフォルトの少なくとも1つの制御ファイルは、データベースの作成時に作成されます.
6.2制御ファイルの表示場所
1.通過
spfile
 Strings spfileSID.ora
2.通過
show parameter spfile
3.selecet * from v$controlfile;
6.3データベース起動のプロセス
1.Unmount
プロセスの開始
読み取り
$oracle_home/dbsのspfileファイル
わりあて
sga
バックグラウンドプロセスの開始
開く
alter.logとtraceファイル
2.mount
インスタンスと起動したデータベースのバインド
制御ファイルのロードと起動
制御ファイルに含まれるデータベース名とデータファイルとオンラインREDOログのステータスの読み込み
3.open
オン
redoファイルとデータファイル
  
6.4 controlfileに含まれる内容
データベースの名前と
dbid
データベース作成時間
表領域の名前
データファイルとオンラインREDOログの名前と場所
オンラインREDOログのシリアル番号
バックアップ情報
オンラインREDOログ情報
6.5特徴
各データベースには少なくとも2つの制御ファイルがあり、異なるディスクに保存されます.データベースは、各制御ファイルに同時に情報を書き込み、最初の制御ファイルを読み取り専用にします.制御ファイルのいずれかが破損した場合、インスタンスは失敗します.
6.6制御ファイルをバックアップする条件
1.データファイルを追加、削除、または名前変更する場合
2.増加、表領域削除時、または表領域可読書込み可能状態の場合
3.REDOログ・ファイルまたはグループを追加または削除する場合.
6.7ファイルサイズを制御する決定要因
主にデータベース・ファイルの作成時の
maxdatafiles,maxlogfiles,maxlogmembers,maxloghistory,maxinstancesパラメータによって決定されます.
6.8制御ファイルの作成
6.8.1初期制御ファイルの作成
初期化パラメータファイルはデータベースの作成時に作成され、制御ファイルの名前は初期化パラメータファイルの
control_filesパラメータによって決定されます.次はコントロールですfilesの初期化パラメータの例
 
          Control_files=(‘/ u01/oracle/prod/control01.ctl’,

 

‘/ u01/oracle/prod/control02.ctl’,

 

‘/ u01/oracle/prod/control03.ctl’)

 
                                           controlfile reuse,      。                         ,    controlfile reuse。

 
6.8.2追加の制御ファイルを作成し、制御ファイルの名前を変更し、変更する場所
              Alter system set control_file=’’,’’;
              Shutdown immediate
              Cp controlfile01.log control02.log
              Startup
6.8.3新しい制御ファイルの作成
新しい制御ファイルを作成する条件
1.データファイルのすべての制御ファイルが永久的に破損し、バックアップされていない
2.データベースを作成するときのパラメータを変更したい場合.これらのパラメータにはデータベースの名前が含まれています.
maxlogfiles,maxlogmembers,maxloghistory,maxdatafiles,
maxinstances.
ステップ
       1.データ・ファイルとオンラインREDOログ・ファイルのリスト
          Select member from v$logfile;
          Select name from v$datafile;
          Select value from v$parameter where name=’control_files’
 
       2.データベースを閉じる
          Shutdown immediate
       3.すべてのデータ・ファイルとREDOログ・ファイル・データベースのバックアップ
       4.新しいインスタンスを開始
unmount状態
       5.使用
create controlfileコマンドデータベースの作成
データベースの名前を変更する場合は、
resetlogs、その他はnoresetlogsを使用できます.
      6.新しい制御ファイルのバックアップ
      7.編集
control_filesは、制御ファイルのパラメータと初期化パラメータの値を一致させ、制御ファイルにはバックアップ情報が含まれません.データベースの名前を変更するにはdb_を変更する必要があります.nameは新しい名前を指定します.
       8.必要に応じてデータベースをリカバリし、データベースをリカバリできない場合は次のステップに進みます.
制御ファイルがリカバリ・データベースの一部である場合は、データベースをリカバリします.使用する場合
noresetlogsは制御ファイルを作成し、データベースのリカバリが完了したら、データベースのリカバリを閉じることができます.
新しく作成した制御ファイルが使用されている場合
resetlogs文は、using backup control fileを使用する必要があります.データファイルと接続再編成ログが失われた場合は、ツールでリカバリします.
       9.次の方法でデータベースを開きます.
リカバリが実行されていない場合、またはステップが完了した後にデータベースのリカバリが閉じられている場合は、
Alter database open;
作成中の場合
controlfileでresetlogsを使用して制御ファイルを作成した場合、alter database open resetlogsを使用します.
6.9バックアップ制御ファイル
指定したファイルにバックアップ
       Alter database backup controlfile to ‘/u01/backup/controlfile.bkp’;
または
トレースファイル
      Alter database backup controlfile to trace;
6.7新しい制御ファイルの作成
次の場合は、新しい制御ファイルを作成する必要があります.
         1.データベース内のすべての制御ファイルが破損し、バックアップされていません.
         2.データベースの名前を変更するには
       
6.8関連のダイナミックパフォーマンスパラメータ
       V$controlfile
Status名前がこの値を確定できない場合は
invalid
この名前が確定したらこの値は空です
Nameは制御ファイルのパスに名前を付けます     IS_RECOVERY_DEST_FILE       Block_size      File_size_blks  
       V$controlfile_record_section