2008年12月23日火曜日

現在のサービスの状況確認&設定方法

システム起動時に自動的に実行されるデーモン起動スクリプトの状況確認と設定は、
以下のコマンドにて、実施する
%)chkconfig --list
全サービスの状況表示

%)chkconifg --level 6 httpd on
httpd デーモンをランレベル6で起動するように変更

%)chkconfig --list httpd
httpdデーモンのサービス状況を表示

※その他細かいパラメタは、man にて参照されたし

2008年12月19日金曜日

Listenerの肥大したログの対応

リスナーのログファイルは、リスナープロセスが
ファイルをオープンし続けているため削除してはいけないらしい(Oracle10g)

そのため、ログ出力先を変更し、変更前のファイルを削除していくようにする必要がある。
以下、サンプル(Web抜粋)

# ①現在出力しているファイルを一時的に別のファイルへ変更
LSNRCTL> set log_file listener.tmp.log

# ②それまでに出力していたファイルを別のファイルにReName
%) mv listener.log listener.old

# ③ ①で別のファイルへ変更していたのを元に戻す
LSNRCTL> set log_file listener.log

# ログファイルの結合(ふるいログを直近のファイルで、作成しなおす)
(1) %)cat listener.old listener.tmp.log > listener_YYYYMMDD.log
or
(
2) %)cat listener.tmp.log >> listener.old
'>>''>' にタイプミスするとログが上書きされるので、注意。

2008年12月18日木曜日

ARCServe 再インストール時に、Ingresのインストールでエラーの対応

【事象】
ARCServeの再インストール時に、Ingresが既にインストール済みです という
エラーになり、再インストールを進められない。
(正規のアンインストール方法ではなく、インストールディレクトリごと、rmしてしまった状態)
ARCServe Backup Server 11.5 for Linux

【対応】
Ingresのパッケージを全て削除して、再インストールを実施。

Step1:Ingresパッケージの確認
%)rpm -qa | grep ca-ingres

Step2:Ingresパッケージの強制削除
%)rpm -e -f --noscripts パッケージ名

※Step2で、依存関係でエラーになる場合は、エラーの出たパッケージを先に削除

Step3:ARCServe のインストール
%)install

ランレベルについて

ランレベルについて、以下抜粋
 
ランレベル

意味
 
0
シャットダウン(システムの停止)
 
1
シングルユーザーモード(rootのみ)
 
2
ネットワークなしのマルチユーザーモード
 
3
通常のマルチユーザーモード(テキストログイン)
 
4
未使用
 
5
グラフィカルログインによるマルチユーザーモード
 
6
システムの再起動

 動作モードが異なるということは、起動されるプログラムが違うということだ。Linuxでは、
ランレベル別のディレクトリ(/etc/rc.d/rc?.d)にあるファイル
(実際には各プログラムの起動スクリプトへのリンク)の名前により、
各ランレベルで実行するプログラムを指定している。

 例えば、ランレベル3の場合は/etc/rc.d/rc3.dにあるスクリプトが実行される。
/etc/rc.d/rc3.dには、「Kと2けたの数字」で始まるファイルと、
「Sと2けたの数字」で始まるファイルがある。
「K」はKill、つまり実行されないスクリプトを表し、「S」はStart、
つまり実行されるスクリプトを表す。KやSに続く数字は、
実行されるスクリプトの優先順位だ。数字の小さいスクリプトから順に実行される。

シェルでSQLファイルを実行させる方法

sqlplus ID/PASSWORD@SID < $HOME/script/data.sql


※data.sqlファイルに、実行SQLを記述する。

シェルでFTPする方法

ftp -n IPアドレス << _EOF
user iposusr ipospsw
cd /tmp
get aaa.txt
bye
_EOF

ARCServeで、E1138 メディアを検出できませんでした。 タイムエラーの対応

【事象】
ARCServeにて、バックアップジョブをスケジュール化して、実施したところ、
E1138 メディアを検出できませんでした。 タイムエラー。」が発生し、ジョブが異常終了。

【対応】
以下、Web、抜粋
ARCserveはメディアをラベル名とIDさらにはシーケンス番号で管理します。
ラベル名はフォーマットした際の名前ですね、さらにIDは一意の番号になります。
ラベル名:月曜日+ID:0001、とラベル名:月曜日+ID:F001とは表面上同じように見えますがARCserveではまったく別のメディアとして管理されています。
同じ名前で複数のメディアをフォーマットしてもかまわないのですが、IDは必ず別のものになります。
シーケンス番号は一本のメディアに収まらなかった場合の2本目のメディアがシーケンス番号「2」になります。(この際のラベル名、IDは一緒になります、シーケンス番号だけが違う)

想定するに今回の問題は下記のような状態かなぁと思われます。

1.即時実行でバックアップ、バックアップ対象は現在テープ装置に入っているメディア「ラベル名:フルバックアップ+ID:AAAA」、「上書き - 同名のメディア、ブランク メディアのみ」<=標準の設定
バックアップ対象にするターゲットを選択する際、ついそのメディアを選んでしまうんです。
2.バックアップは正常に実施される
ただし、メディアは上書<=つまりフォーマットされます<=「ラベル名:フルバックアップ+ID:BBBB」
フォーマットされるのでIDが変わってしまうんです!
3.即実行のジョブを変更してそのまま繰り返しのジョブとして登録すると。。。。
バックアップ対象のターゲットは「ラベル名:フルバックアップ+ID:AAAA」のままです。
4.バックアップは失敗します。対象のメディアがないといわれる、なぜ??
バックアップのジョブではターゲットは「ラベル名:フルバックアップ+ID:AAAA」
しかし現在入っているメディアは2でフォーマットされて「ラベル名:フルバックアップ+ID:BBBB」
これはバックアップ対象にしたものと違うメディアなんです。

対処方法
1.何でも上書してしまう問題があるのですが、すぐに確認するには最適な方法で
「上書き - 同名のメディア、ブランク メディア、その他のメディア」にしてしまう。
※テープ装置がローダ(複数のメディアを入れることができる装置)なんかだと絶対やってはいけない方法ですけど。(常に1スロット目のメディアしか使用されません)
2.IDは無視して再利用してもらう設定
本当はこの設定が良いです。
Windows版でもLinux版でもバックアップ対象をデスティネーションで選ぶ際、メディアを選ばず
グループを左ペインで選び(例:GROUP0)、上のメディア名が[*]になりますのでここに[フルバックアップ]など直接キーボードから入力してくださ い。<=これでIDがどんなものでも「ラベル名:フルバックアップ」が利用されます。この入力は登録直前に行うのをお勧めします。(ソース画面を設定した りしてると設定がなくなることがありましたので)

※確認方法:ジョブステータス画面で対象のジョブを選ぶとしたのペインにジョブ詳細が表示されますがその中でメディアIDが表示されていなかったり、[*]になっていればOKです。
※この設定はr11.5のWindows版なら「名前のみを使用してメディアを区別する」のオプションがあるのですがLinux版は確かないので直接入力します。

ARCserveの繰り返しジョブで失敗する(1回目は良いけど。。)多くのケースがこれです。
画面を見ながら、試験してみてください。