iostat -f
iostatコマンドについて。
AIX6.1では"iostat -f"で、ファイル・システムの使用レポートを確認出来るらしい。
※どのバージョンから使えるようになったのかについては未確認です。
配列数式
配列数式を覚えておくと便利です。
日経PC21 / エクセル「配列数式」講座
errptをsyslogに出力
errptの内容をsyslogに出力することで監視方法が容易となる。
1. 現行のerrnotifyのバックアップする。
# odmget errnotify | tee odmget_errnotify_bak.txt
2. 設定項目をテキスト・ファイルで準備する。(※行途中で改行しないこと)
# vi admadd_errnotify_syslog.txt errnotify: en_name = "syslog" en_persistenceflg = 1 en_method = "logger ERRPT: `errpt -l $1 | grep -v 'IDENTIFIER TIMESTAMP'`"
3. 準備したテキスト・ファイルを使って設定する。
odmadd admadd_errnotify_syslog.txt
AIXユーザーのパスワードを一気に設定
AIXユーザーのパスワードを一気に変更する方法。
1. ユーザーとパスワードを「:」区切りでリスト化する。
# vi userpass.txt
userA:passA
userB:passB
userC:passC
2. リストから"chpasswd"に入力する。
# chpasswd < userpass.txt
初回ログイン時にパスワード変更を求められ、完了するまではログインすることが出来ない。変更したくない場合はユーザーごとに以下のコマンドを実行しておく。
# pwdadm -c userA
topasコマンドが使えなくなった
topasコマンドがlockされて使えなくなった場合の対処方法。
1. 以下のプロセスが起動中であれば終了しておく。
-
- xmservd
- filtd
- xmperf
- 3dmon
- ptxrlog
- harmd
- topas
2. ipcsコマンドを"-m"で実行する。
3. 共有メモリーの情報から「0x78」から始まるKEYのIDを確認する。
# ipcs -m | grep 0x78
m 2097154 0x78000017 --rw-rw-rw- root system
4. ipcrmコマンドでIDを指定して該当のKEYを削除する。
5. slibcleanを実行する。
6. ipcsコマンドで再確認する。
# ipcrm -m 2097154
# slibclean
# ipcs -m | grep 0x78
(※何も出てこない)
これにてtopasコマンドは使えるはず。
ヒアドキュメント
[AIX5.3][ksh]ヒアドキュメント
pSeries および AIX インフォメーション・センターの「出力をインライン入力 (here) ドキュメントにリダイレクトする」を参照。
下記の1番目と2番目の"eofstring"の間の行をヒアドキュメントと呼ぶそうな。
その行を標準入力として"command"に渡し、それを実行する。"eofstring"は任意の文字列を使用する。
command << eofstring
hogehoge
eofstring
ヒアドキュメントの先頭のタブ文字を省いて"command"に渡したい場合は、「<<」の直後に「-」を付与する。(下記例では全角スペースを入れています。)
command <<- eofstring
hogehoge
eofstring
使用例:他サーバーからFTPでファイルを取得する。
(下記例では全角スペースを入れています。)
ftp -n hostname <<- _EOF_
user USER PASSWORD
cd /AAA
lcd /BBB
prompt off
bin
mget *.log
bye
_EOF_
オープンしたままのOracleトレースをクローズ
AIXファイルシステムの使用率が高め。しかし実際のファイルで占有しているものは無い。これらの場合は、トレースなどのログが出力中に行き場を失い、ファイルがオープンをしたままの可能性がある。
下記にOracleのトレースファイルで発生したときの対処手順を記す。
# fuser -duxV /logdir
/logdir:
inode=32799 size=782 fd=5 692634(oracle)
inode=28679 size=8093 fd=2 717076(oracle)
inode=28676 size=3819048960 fd=2 102982(oracle)
inode=32799 size=782 fd=5 135698(oracle)
inode=32799 size=782 fd=5 213620(oracle)
inode=32799 size=782 fd=5 229978(oracle)
inode=32799 size=782 fd=5 307944(oracle)
size=3819048960 が大きい。
# su - oracle
# sqlplus / as sysdba
SQL> oradebug setospid 102982
Oracle pid: 3, Unix process pid: 102982, image: oracle@xxxxxxxx (DIAG)
SQL> oradebug close_trace
Statement processed.
SQL> exit