きどたかのブログ

いつか誰かがこのブログからトラブルを解決しますように。

z/OS

z/OSのC言語でウカツにsleep関数使った話

やりたいことは単純だ。USSの特定のフォルダに、特定のファイルがあったら、1秒スリープしてループする。ファイルがなくなったらループ終了。原案を作るのにUSSにsshログインして、ぺぺぺっとviで書き上げた。ほとんどマニュアルの例。USS上で実際に動く。使…

Gradle MVS Dataset Plugin試作品 - Gradle Nested Container

データセットをgradleから作るようにする。 必要となるもの: gradle ssh plugin USSのtsocmdコマンド TSO/E ALLOCATEコマンドの知識仕組み: Linux/Windowsでgradleを動かして、z/OSにsshしてtsocmdでデータセットを作成する。 こんな感じでbuild.gradleに…

JenkinsとGradleとz/OS

z/OSをJenkinsスレーブにするのは億劫だ。過去にJNLPでやったことはある。今回は真っ向勝負でsshでスレーブにすることを試している。現在一番参考になるのはコレ。https://issues.jenkins-ci.org/plugins/servlet/mobile#issue/JENKINS-13091Jenkinsのマスタ…

zWASっぽくプロファイルを作る試み

zWASは、プロファイルのディレクトリ構成がLUWのものと違う。LUWの場合/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/opt/IBM/WebSphere/AppServer/profiles/AppSrv01z/OSの場合/wasv85config/セル名/デプロイメントマネージャーノード名/DeploymentManager…

z/OS上のJavaのスレッドに関すること

基本的にJavaスレッドは、TCBに関連付いている。 ただ、javacoreを見る限り、Javaから見えてるNativeスレッドというものは、 USSでいうところのスレッドを指しているようだ。 z/OSには、TCBやSRBみたいなものはあるが、 もともとUnix由来のプロセスやスレッ…

CANCELコマンドでも死なない実行グループの殺し方

ごくごく稀にではあるが、同名の実行グループが2匹存在することがある。 頻度的には非常に少ない。 1年に1回か2回くらいだろう。 これを再現するのはたぶん大変。 まあ、やろうと思えばやれるかもしれん。 それはそれとして、この事象が起こるとCANCELでも殺…

CMP Applicationをz/OSのUSS上で動かく方法

ConfigManagerProxy.jarを使って、 WebSphere Message Brokerを管理するのは、 WMBを使ったテストの自動化する上では必要なやり方だろう。 CMPアプリケーションを書く人も少なく、 しかもz/OS上で動かすとか普通しないだろうなぁ。 ははは、役に立たないブロ…

シノニムとdb2sqljcustomize

DB2の接続ユーザ(CONNUSER)と、スキーマ(SCHEMA1)が異なる場合に、 SCHEMA1スキーマからシノニムで別スキーマ(SCHEMA2)のテーブルに飛ばしていると、 sqljのカスタマイズ&バインドに失敗する。 これはcurrentSQLID=SCHEMA1をurlに指定することでしか回避でき…

DB2トリガーMDBを考えてみる(z/OS)

可能性は2つかな。 DB2トリガーをいずれも使う。 片方はJavaプロシージャを使って独自JMS。 もう一方はMQ関数を使う、DB2で。 後者の方が面白そうだ。 WebSphere Message Brokerなんかは、DatabaseInput Nodeがあるが、 あれはプル型な動きをするので、今回…

変な前提PTF

今日調べ物をしていたら、変な前提PTFを見つけた。 RSU1303のPTFが、RSU1306のPTFを前提にしている。 ふむ、後者のPTFは3月時点で存在していたんだろう。 じゃないと無理だろう。 でも、3月の時点でRSU番号がアサインされていなかったんだろう。 一緒にRSU13…

JCL Submitと自動化の話

FTPのJESINTERFACELEVEL=2を前提として、 quote site filetype=JESにしたのち、 JCLをputすることで、submitする方法もあるのだが、結果を取得するのに向かない。 USSのsubmitコマンドを使うのがいいだろう。 submitコマンドにはUSSのファイルパスも受け付け…

そろそろPTFをShopzから入手しようか

仕事柄、IBM Support PortalからService Requestをオープンして、 問題事象の修正としてAPARをもらうことが多いんだが、 よく前提PTFが足りてないことがある。 現状は、サポート契約の範囲で、別途お願いして前提PTFを用意してもらってるんだが、 なんか時間…

本日の解析

1個目朝、WASのDmgrが起動できなくなっていた。device allocation errorなJCLエラー。applyPTF.outが無い。つーか、それより上のディレクトリからない。パーミッションどころの話じゃない。ん?誰か大胆にも消した?そんなバカな。他の可能性を考える。マウ…

chtagの実験

まだ全部実験してないが、まずは感触が分かった。使ったのはgrepとsh。chtag -tc 819したアスキーファイルからの文字列のgrepに成功。同じくシェルの実行に成功。ただし、chtag -tc 1208したアスキーファイルでは失敗。中身には数字しかないのにgrep出来ず。…

DB2 for z/OS JDBC Type2でよく見る失敗

いくつかのよくある失敗の話。初期に一番多く発生するのは、ssidを指定していない、もしくは間違って指定している。flowConnectとか出てたら疑う。db2.jcc.ssidはType2で必要な設定。データソースのプロパティにも出来るが、クラスタスコープのデータソース…

システム名とシェル

命名規則次第なんだが、システム名の一部をデータセット名やUSSのパスに含む時、それをどうやって解決するのがいいかという考察。これはJavaだったらJZOSでシステムシンボルから取る方法がある。今回はシェルでやる方法の話。ホスト名はきっとシステム名だ。…

z/OSのUSS上でASCIIファイルを開く

viasciiをご存知だろうか?USS上で使えるオモチャだ。とくにサポートはない。しかし、内容的にviasciiにサポートはいらないだろう。viasciiはコマンドのように思えるが、ただのシェルでしかない。SMP/Eなんて使わない。FTPでUPして、パーミッション変えて、P…

z/OSをjenkinsのslaveにする

いくつかの方法を試したが、成功と呼べそうなものは1つ。JNLP経由でスレーブ起動。スレーブであるz/OSには、ブラウザもないし、Xもないので、おのずと事前にスレーブ上でjavaコマンドを叩くことになる。その際に-Dfile.encoding=ISO8859-1を渡すと、とりあえ…

Segment Translation Exception(セグメント変換例外)の考察

営業日にして10日間であったが、 日本に帰国していたとき、ラストのほうでダンプを読んでいた。 そこでひとつ間違えたことがあった。 0C4の10や11は、Failing Instructionを通り過ぎないそうなのだ。 だから、ILC分戻るのは間違いだった。 その間違いは、イ…

Are You WAS?

iPhoneアプリのご紹介 Are You WAS? 日本に帰国してた時に後輩が言っていたiPhoneアプリ。 WAS for z/OSネタが入ってるクイズアプリです。 比較的簡単です。 初見で正解18問/20問中でした いまのところ、問題は全部で100問あるようです。 ちなみに自分が間違…

ibm.swapLFについて<続々>

ibm.swapLFにかかりきり。 System.outに使われるクラスが、 WAS for z/OSでは普通のプラットフォームとは違うクラスであることが分かった。 USSでWAS付属のjava叩いても、WAS上とは違いがでる。 com.ibm.ws390.SystemOutErrCodepageというプロパティがあるこ…

JZOSでデータセットの動的アロケーション

日本に帰ってきてて、 息抜きもかねて動的アロケーションするコードを書いた。 しかし、失敗。およよ? JZOSで動的アロケーションの方法として考えられるのは2種類ある。 自分の過去の経験だと片方(bpxwyn)がうまくいかなかったので、 com.ibm.jzos.AccessM…

ibm.swapLFについて<続>

ibm.swapLFのつづき。 別に進展らしい進展はないのだけれど、 気になったことが増えたので書いておく。 0x15(EBCDICのNL)を0x25(EBCDICのLF)に変えるこのプロパティ。 分散系との互換のためにあるのだと思っていたらどうも違うっぽい? java.nioのおさらいも…

ibm.swapLFについて

ibm.swapLFなるものを調査する機会があった。 正直まだよく分かってない。。。 IV18977: IMPLEMENTING SWAPLF FUNCTIONALITY FOR IBM-037 CODEPAGE このへんの話だ。 ちょっと表を添えておくよ。 EBCDIC ASCII CR 0x0D 0x0D LF 0x25 0x0A NL 0x15 この-Dibm.…

WAS for z/OSのJMSトレースを読み耽っていた二日間の収穫

先にいっておくと、別に答えらしい何かはあまりない。 ろくな資料が手元になく、 唯一意味があったのがJMSトレースを含むログだけだった。 トランザクションとJ2Cもたぶん入ってた。 一時的な性能劣化。 そういう時はなにを疑うだろうか。 GCか? おこってな…

ABEND S0C4の調査

Javaプログラマーがどうにかできるものではありません。 十中八九ミドルのバグです。 それでも原因を深く知りたいと思う人は、 まずはS0C4の意味を知ろうとするでしょう。 先頭のSはSYSTEM COMPLETION CODEの意味。 z/OS V1R12.0 MVS System Codes これに載…

USS上に日本語ファイル名でファイルを作る方法

暇つぶしにやってみました。 chcpコマンドを使います。 chcp — Set or query ASCII/EBCDIC code pages for the terminal UNIX System Services Command Referenceより TSO/E経由でOMVSを触る人は使わないでください。 chcp -q これで現在の設定を確認します…

WAS V7 - WMQ V7.0.1 for z/OSでありがちな失敗

少しまとめた気になってみました。 JMSプロバイダーのネイティブ・ライブラリ設定 WAS for z/OS V7からは、WebSphere変数MQ_INSTALL_ROOTからは、 ネイティブ・ライブラリのみを読み込むことのみになりますが、 JMSプロバイダーでのネイティブ・ライブラリの…

JZOSのWLM API

こういうのが出てたのは知っていたよ。 今日たまたま気になったので少し見てみた。 IBM JZOS Toolkit API これはIBM JDK 6.0.1からのAPI。 IBM: JZOS Java Launcher and Toolkit Overview WAS for z/OS V8.0なら使えるけれども、 このAPIをWAS上で使うことは…

JNIコードとSHRLIBRGNSIZE

昔、JNIコードを書いたのだが、最近になって一点考慮漏れがあることに気付いた。 正直そこまでたいそうな話ではないかもしれない。 .soに、Extended Attributesを付けることを考えてなかった。 extattrというのは、4つのオプションがある a=APF authorized p…