大抵はこれで事足りるはず。細かい設定がしたければ、マニュアルをみる。
よく使うOracle SQL/コマンドまとめ
REDOログの状態確認
SELECT L.GROUP#, L.ARCHIVED, L.STATUS, L.BYTES, LG.MEMBER
FROM V$LOG L, V$LOGFILE LG
WHERE L.GROUP#=LG.GROUP#
ORDER BY L.GROUP#;
※以下のように読むFROM V$LOG L, V$LOGFILE LG
WHERE L.GROUP#=LG.GROUP#
ORDER BY L.GROUP#;
GROUP#:REDOロググループの番号
ARCHIVED:アーカイブログモードの場合、アーカイブされているかどうかの値(YES|NO)
MEMBER:REDOロググループの属するメンバーのOSログファイル名
STATUS:REDOログの状況
・INACTIVE・・・使用されていない。このREDOグループへのスイッチ可能。
・ACTIVE・・・使用されていないが、CheckPointが完了していない状態。 このREDOグループへのスイッチ不可。強制的にCheckPointを発生させることでINACTIVEにすることができる。
・CURRENT・・・現在使用されているREDOログ。
・UNUSED・・・作成直後のステータス。 このREDOグループへのスイッチ可能。
REDOロググループの追加
ALTER DATABASE ADD LOGFILE GROUP グループ番号
('ファイル絶対パス', 'ファイル絶対パス', …) SIZE xxxxK|M|G;
('ファイル絶対パス', 'ファイル絶対パス', …) SIZE xxxxK|M|G;
REDOロググループの削除
ALTER DATABASE DROP LOGFILE GROUP グループ番号;
※STATUSがINACTIVEまたはUNUSEDの場合に実行可能。物理ファイルは削除されないので、後からOSコマンドで削除する。
REDOロググループへのメンバー追加
ALTER DATABASE ADD LOGFILE MEMBER
'ファイル絶対パス'
TO GROUP グループ番号;
※サイズは他のグループメンバーと同じになる。'ファイル絶対パス'
TO GROUP グループ番号;
REDOロググループからのメンバー削除
ALTER DATABASE DROP LOGFILE MEMBER
'ファイル絶対パス';
※STATUSがINACTIVEまたはUNUSEDの場合に実行可能。'ファイル絶対パス';
物理ファイルは削除されないので、後からOSコマンドで削除する。
REDOログのスイッチの実行
ALTER SYSTEM SWITCH LOGFILE;
CheckPointの実行
ALTER SYSTEM CHECKPOINT;
REDOログファイルのサイズの変更
REDOログサイズを変更する場合は、REDOロググループを作り直す必要がある。
手順1:REDOログの状態を確認
手順2:INACTIVEのロググループを削除
(削除したいロググループのステータスがCURRENTまたはACTIVEの場合は、
REDOログのスイッチとCheckPointの実行を行い、INACTIVEの状態にする。)
手順3:削除したREDOロググループのファイルをOSコマンドで削除
手順4:REDOロググループを変更後のサイズで作成
REDOログファイルのOS上ファイルの配置変更
手順1:DBをShutdown
SHUTDOWN IMMEDIATE
手順2:REDOログファイルを新しい位置に移動(OSコマンドで実行)手順3:DBをマウント状態まで起動
CONNECT / AS SYSDBA
STARTUP MOUNT
手順4:REDOログ・ファイルのメンバー名を変更
STARTUP MOUNT
ALTER DATABASE RENAME FILE
'元のファイルの位置(絶対パス)', ' 元のファイルの位置(絶対パス) '
TO
' 新しいファイルの位置(絶対パス) ', ' 新しいファイルの位置(絶対パス) ';
手順5:DBをOPEN
'元のファイルの位置(絶対パス)', ' 元のファイルの位置(絶対パス) '
TO
' 新しいファイルの位置(絶対パス) ', ' 新しいファイルの位置(絶対パス) ';
ALTER DATABASE OPEN;
よく使うOracle SQL/コマンドまとめ