#author("2023-04-16T14:12:29+09:00","default:admin","admin") #author("2023-04-16T14:13:22+09:00","default:admin","admin") NonStop関連の知識をためていきます ---- *curlを使ってWebの動作確認 [#r46a43c9] curl <URL> でGETコマンド発行結果を確認できる インストールのためには /usr/installer/T1204/install.sh curl で実行 *TACLにするには [#w4caaa94] 環境によってはデフォルトがTACLでない場合がある~ #informat で現在の設定が TACL, PLAIN, QUOTED のどれかを表示します。 PLAINの場合、TACLマクロが動きませんので、 #set informat tacl を実行する必要があります。 *fup copy のオプション [#k0be78d5] TACLで画面表示する場合は~ fup copy <File>,,share,fold~ fup copy <File>,,share,fold で実行すると他のプロセスがOpenしているファイルをフルに表示できる。~ ここで最初の空欄は出力先が指定しない→画面表示~ shareは共有ということで、他のプロセスがOpenでもOK~ foldは1行の上限(80文字)を超えても出力するということ *バッチ処理で fup purge を実行するには [#j204e14f] fup purge を シェルから実行するとエラーになるが、末尾に!をつけると可能~ fup purge <filename> ! で削除できる~ OSSでは gtacl -c "fup purge <filename> !"~ gtacl -c "fup purge <filename> !" あと、gtacl -c では " " ではワイルドカード変換がされるので、例えばプロセス名は \$プロセス名 にする必要があるが、 ' ' であればそのまま記述できる *NonStop日本語マニュアル [#t92ab5e4] https://h50146.www5.hpe.com/products/servers/nonstop/download/ *MFCの技術説明 [#ce444b5d] https://www.slideshare.net/fjongma/mfc-whitepaper *JDBC Type4の Trace取得方法 [#p2aaaf7f] -Dt4sqlmx.T4LogLevel=ALL -Dt4sqlmx.T4LogFile=<LogFile> をオプションに加える (T4ドライバはMXCSを使ってDBにアクセスをするJavaのドライバー) *gtaclのnohup化 [#bfea5e5b] 端末接続をしてシェルからnohupでgtaclを実行しても端末接続を切ると、プロセスが終了してしまう~ 端末接続断の時に、画面出力先の端末が消滅してしまうからだ~ そのため、次の様にする gtacl -term /G/zhome -c "<コマンド>" これで端末接続が切れても、出力先が zhomeになるので処理が継続する~ ⇒ gtaclの出力先を grep してローカルファイルに落とすといったシェルが作れる そのシェルをnohupで起動して、そのprocess id をファイルに保存しておき、あとでkillする作りにすれば、バックグランドで処理を継続できる *DataSourceの状態確認 [#o80c0b7a] mxci mode mxcs; info ds *.*,detail; info server *.*,detail; info serverは各DataSource(DS)に接続しているmxosrvrのプロセス情報を取得~ 各個別のDS名を指定することで表示範囲を狭めることも可能~ また、大文字小文字の違いがなかったりするので、必要であれば""でかこう必要がある 起動方法は start ds <DS名>; 止め方は stop ds <DS名>, reason '理由'; 設定変更は alter evar <DS名>.<KEY>, value '<NEW_VALUE>'; alter ds <DS名>, <KEY> <value>; DS名は OASとDS名のフルパスにする *measureの状態確認と停止 [#pf9caff3] super.superなどの特権ユーザでログインして meascom 1+ status meassubsys これで現在稼働しているMeasureファイルが一覧表示される~ 止めるには 2+ stop <MeasureFileFullPath> の様に実行する (たとえば、 stop $WORK001.MEASURE.CP031510 の様に ) *rpmの使い方 [#b705969f] 性能をリアルタイムで測定するのにはrpmを使用する rpm > set term vt100 > add <SEVERNAME> > zoom \* 画面に一定間隔で性能がカラーで表示更新される~ SERVERは複数指定することが可能(画面分割される)~ 終了は<Ctl-C> *EMSの使い方 [#m8a3ad7d] emsdist /pri 10/ty p,co $0,te $home,ti xx:xx, st xx:xx tiはfrom、stはstopなので省略すると連続して最新情報が画面出力 止めるのは <Alt-B> で抜けて、 stop を入力 ⇒ 抜けただけだと、コマンドは入力できるが、画面出力も続く状態 *logon freezeの解除 [#td9e05ad] ログインを続けて失敗してFREEZEされたら、 特権ユーザー(super.superなど)でログインして、 safecom =info alias <user> =thaw alias <user> =fc info =info alias <user> . =exit で解放する *パラメータ指定SQL実行方式(mxci) [#b20a4ed6] sql の中身を編集して、? を ?P1 の様に、番号をつける\ 与えるパラメータを個別に指定する(全てのパラメータを定義する必要がある) PREPARE q FROM [SQL文] ; set param ?P1 'XXXXXXX'; set statistics on; execute q; 途中経過の処理件数とパラメータ付与でのSQL実行を確認できる *MFCの実行計画取得方法 [#t1eae31a] explain options 'e' 'MXSTMT01' from '<MFC_FILE>'; オプションは f も可、MFC_FILE名は無印を指定 普通のSQLの場合は PREPARE q FROM [SQL文] ; explain options 'f' q; explain options 'e' q; で画面表示される *obeyの作り方、動かし方 [#iac619b5] textファイルでMACROを作成 → ftp or ffftp で転送 (Guardian modeでの転送) ⇒ テキストファイルとして保存される → run <できればフルパス> で動く *Guardian / OSS のファイル名相互変換 [#md8a179f] gname -s <OSS_FILE> ⇔ pname -s <Guardian_FILE> ⇒ -s がないともう少し詳細なデータが表示される *shellからGuardianのプログラムを呼ぶ場合 [#ad341c1e] 基本gtacl を実行するのだが、shellから実行する場合、端末からの実行と異なる(結果が出力されない) File=`gname -s $oss_file` Cmd="'run \$SYSTEM.XXXX.XXXXXX ${File}'" sh "gtacl -c ${Cmd}" 最後を単に gtacl だけにすると、画面表示・出力されない *SQL/MXでテーブル一覧を表示 [#ce33f44b] テーブルの一覧は~ get all tables; インデックスの一覧は~ get all indexes; ---- *OSS環境でGuardianプロセスの実行 [#ude8b2a9] oshなどでOSS環境になっている状態でGuradianプロセスを起動するには~ run name=/G/ProcessID Program parameter これで、Guardian環境で実行される~ プロセス間通信を使ってアクセスする場合は、 client \$ProcessID のように実行する。 ここでポイントは、~ 1) Process名には$がついている。~ 2) シェル実行の場合\$ とエスケープのためのバックスラッシュが必要 *ログイン方法 [#e31d72ef] 社内LANからは、TeraTermを使って、普通のtelnetでログインする。~ SSHでログインしようとすると拒絶される。~ UserIDとPasswordでログイン可能。 *DBにアクセス [#i474fc62] mxci でコマンド入力が可能になる。 exit; で終了 set catalog XXXX; set schema YYYY; を指定すると、目的のDBにアクセスできる。(set schmea XXXX.YYYY;でもよい)~ (ない場合は作成が必要、schema作成はちょっとだけ時間がかかる) DBにまでたどり着けば、あとは、Create Table ・・・ / select * from ・・・ と普通