SAPシスログエラー:Internal Error in Roll In
こんにちは、カズヤんです。
今日は、SAPのシスログエラーで死ぬほど出力されるエラーについて共有します。
エラーは、下記内容が出力されます。
「Internal Error in Roll In」
ロールインにおける内部エラーって訳すのかな......
また、対象のワークプロセスはダイアログワークプロセスです。
で、事象が現れるのは大抵、ユーザがSAPからログオフするという謎のタイミングww
調べて見ると、下記SAPブログにてすでに議論がされています。
参照) Internal Error in Roll In ECC6.0
んで、まあ結論から言うと、問題無いエラーっぽいです。
事象としては、
あるユーザのロールインメモリ/バッファにすでにユーザデータが存在しているが、接続テーブルには、その時点でユーザが存在していない場合に発生するデータ不整合のエラーです。
つまり、接続テーブルのユーザ情報とロールイン領域のユーザ情報の不一致が発生したため、エラーが発生した。
シナリオとしては、
データがロールインバッファに入っているユーザーがログオフした。もしくは、セッションを保持しているユーザの接続が突然終了したことが想定されます。
ロールインメモリ/バッファとは、一度ハードディスクに書き出したデータを再度メモリに書き込む時に利用されるメモリ領域やバッファ領域のことを指します。
冒頭にも記述しましたが、あるユーザがログオフした際に本エラーが発生するのはこのような理由のためです。
もし、皆さんのシステムで「Internal Error in Roll In」がシスログに出力されても、基本的には無視しておいて問題はありません。
では、今日はこの辺で失礼します。
DBエラー(ORA-00054)
こんばんは、カズヤんです。
今日は、最近実行するSM21(シスログ確認)にて超頻繁に見るエラーについて共有します。まあ、多分SQLの話なので、ABAPerの方とかはきっとご存知なんだとは思いますが、ちょっと書かせてください。
Oracleのデータベースを使っていると出てくるエラーで、
ORA-00054っていうエラーです。
ORA-00054:リソース・ビジー、NOWAITが指定されていました。
とログに出力されています。リソースビジーはなんとなくわかる。おそらく、データベースのテーブルにアクセスしようとしたらほとんどのテーブルが埋まっちゃってるてきな感じかと思います。
一応、書いてる人めっちゃいるので、NOWAITに関しては下記を確認しました。
SQLでは、「FOR UPDATE」と記述することで行単位でロックを取得できるそうです。この、ロックした行に対して別セッションにてアクセスしようとした際に、「FOR UPDATE NOWAIT」とすることで、待機ではなく強制的にエラーにすることができるそうです。
つまり、アクセスする側にてロックしている行にアクセスしたが、アクセスできるまで待機するのではなく、エラーを返すということです。
結論、SAPシステムのSM21を叩いて、シスログにORA-00054と表示されていても実際には、トランザクションが実行されてエラーで終わるのでシステムに変更が加わっていないわけです。システム稼動にクリティカルな影響がない場合がほとんどだと思います。ただし、そのトランザクションがエラーで終わって、その後の時間に同じのが実行されていてまたエラーだったら是正策はすべきです。
解決したい場合には、「FOR UPDATE NOWAIT」とするのではなく、「FOR UPDATE WAIT 秒数」とかにすれば、指定した時間はロックが解除されるまで待機することとなります。
一応、SAPやってて、シスログでこのエラー見かけたら基本的には問題ないと認識して良しです。複数出るようでしたらSQL書き換えたり、最悪待ち時間指定するパラメータ変更などの恒久対応が必要かと思います。
では、今日はこれにて失礼します!!
SAP Basis運用から構築へのキャリアチェンジ
こんばんは、カズヤんです。
今日は、よくエンジニア界隈では言われることですが、運用エンジニアから構築エンジニアへのキャリアチェンジは可能か否かということについて書いていきたいと思います。
運用エンジニアというと....
・手順書に沿って作業を行うだけだから、誰でもできそう〜
・24時間対応とかきつそう〜
・地味なイメージがださい〜
などなどいろいろ言われております。
以前、BPRコンサルティングでSAP Basis経験者(特に、運用)がどう貢献できるかみたいなことを書きました。
ただ、最近リプレース案件とかに従事している運用チームの先輩を見ていて、運用エンジニアも構築プロジェクトでバリューを出せるような気がしています。Noteなどの調べ物のパシリにされていて酷ですが...
特に、リプレース案件になると、現行データをOS上でエクスポートする作業とかがあるのですが、その手法は結構運用チームのシステム変更作業で手順化されており、ナレッジ化がすすんでいます。さらに、構築案件のエクスポート作業でもしたくさんのエラーがでた時でさえ、運用チーム内で管理している障害メモですぐに事象が解決するなんてこともあります。PMからも構築作業中にわからないこととか電話きたりします。ずっと、ぱしられてる....
構築チームやさらにその上の要件定義(システム設計とか)などと比べると、運用チームのルール化されたナレッジ管理やナレッジの量というのは結構強みになるっぽいです。
運用チームでも、クライアントコピー、システムコピー、Note適用、SP適用とかその辺をかなりの数こなすと、構築チームで貢献できると思います。(実際、私の直感なので真実味はないですが...)
今日は、なんとなく思ったこと書いて見ましたが、実際SAPのBasisに関しては、定常作業担当者は微妙ですが、非定型作業をこなしている限りは構築案件いってもそんなに苦労しないと思います。
今日はここで失礼します。
Centos7.0インストール後にGUIが使えない対処法
こんにちは、カズヤんです。
最近、学生にLINUXを教えるというような社会貢献的なことをしており、久しぶりにRedhad系のCentOS7.0をVirtual Boxにインストールし直しました。新人研修期間中とかもずっとCentOSを使っていたのですが、インストールメディアがCentOS7.0よりも古いバージョンで6.xとかだった事と、会社から支給されたメディアだったり、テキスト付属のメディアだったりとかでちゃんと自分でインストールしたことがなかったのです。
今回、共有したいのが、
CentOS7.0からなのかわかりませんが、どうやら、通常インストールのままではCUIのままインストールされてしまい、CentOSの醍醐味であるGUIが利用できないのです。
そこで、インストールする際に、以下を留意する必要があります。
(Virtual Boxの設定ではなく、CentOS側の設定です)
Virtual Boxを起動後、
LINIX(CentOS)のインストールメディアを読み込むのですが、このメディアを読み込んだ後に、こんなGUIの設定画面が表示されます。
この画面にて、下記設定を実施します。
ソフトウェア:ソフトウェアの選択(S)にて、「最小限のインストール」と設定されていますので、これを「サーバー(GUI使用)」に変更するだけです。
本当に、たったこれだけですwww
CentOSの利点は、初心者向けにGUIが利用可能になっていることなので、今後LINUXを学習される方はこの点気をつけてください。
CUIのインストール後にマニュアルでLINUXのパッケージをインストールすることでGUIが利用可能になりますので、もし興味があったら下記ブログを参照してください。
ただ、ネットワーク設定とか変更する必要あるので、LINUX初心者にはすこしハードルが高いかもしれません。
一応、仮想ソフト(Oracle Virtual Box)とCentOSダウンロードリンクも確認してください。
では、今日はこの辺にて失礼します。
デバッグ権限について
こんばんは、カズヤんです。
久しぶりの投稿ですねwww 気付いたら桜の季節になってたりして... まあ、いいやww
今日は、SAPにおけるデバッグ権限についてちと書いてみます。
監査とかでSAPシステムのユーザに権限与えすぎだから権限外せみたいな指摘があって、その中でも「デバッグ権限」についても例外でないらしく、気になりました。
そもそも、インフラエンジニアからしたら「デバッグ」ってまじで何やねん??
って思うのが当然なので、まあ調べてみると、
プログラムのバグを発見して、そのバグを直すこと
だそうですww
つまりプログラムのソースコードを変更することができる権限を「デバッグ権限」ということらしいです。
SAPシステムでは、開発や移送関連で以下の権限がデバッグ権限に該当するようです。
・S_DEVELOP ABAPワークベンチ用権限
・S_TRANSPRT 移送オーガナイザ用権限
・S_LOG_COM 論理オペレーティングシステムの実行権限
参照:SAP ライブラリ - SAP NetWeaver Application Server Security Guide
今回問題なのは、開発機ユーザにこれらのシステム変更権限を付与することは当然ですが、本番機ユーザにこれらの権限が付与されることはよろしくないらしく、指摘を受けるはずです。通常、本番機でコーディングしたりといった開発をしないですからねwww
※SAPでは、開発機で開発して、検証機、本番機へと移送にて変更を加えるのが一般的ですから、本番機ユーザに変更権限があるとまずいというわけです。
しかし、これらの指摘を受けても、本番機ユーザのデバッグ権限を削除してやれば、特に問題なしです。削除方法に関しては、トランザクションSU01にて秒で終わるので、すぐ作業計画作っちゃってください。手順は一応以前の記事で少し触れています。
では、今日はこんなとこで失礼します。
Redhatの紹介
こんばんは、カズヤんです。
最近はLINUXなどのOSにはまっています。
SAPの基盤としては、HP-UXやIBMのAIXなどのUNIXベースのOSがメインですが、RedhatなどのLINUXもOSとして採用されています。このLINUXとUNIXの違いに関しては、あまり理解していないです。コマンドとか、ほとんどおんなじですからねwww
LINUXってたくさんディストリビュ~ジョンがあるけど何が違うんだろとか、Redhatって何が優れているんだろう?とかを考えていました。
んで、ググってみると、Redhatってかなり優れた企業だとわかりましたwww
公式HPもめちゃくちゃかっこいいですwww
今回は、組織の視点からRedhatの魅力について書いた
オープン・オーガニゼーション 情熱に火をつけて成果 を上げる新たな組織経営 (Harvard Business Review Press)
という本について紹介します。面白いので電子書籍で買っちゃいましたwww
今回はこの本の内容を踏まえRedhatの凄さについて書いてみます。
目次:
1、Redhatとは
2、Redhatの強み(Open Sourcingの考え方)
3、SAPとRedhat
4、学び
1、Redhatとは
IT業界で働く人ならご存知かと思いますが、非エンジニアの皆さんはRedhatという会社をご存知ですか?
RedhatはLINUXというOSのディストリビューションの1つであり、OSS(Open Source Software)のOSでは世界トップシェアの製品を扱うソフトウェア会社です。
通常企業がシステムを導入する際に、WindowsやUNIXなどに高額な資金を投入して、導入するわけですが、Redhatはこれを無償で提供しています。(もちろん保守とかの費用はつくと思いますが...)。このRHELで稼いだ資金を元手に今はクラウド関連のソリューションにも着手しているようです。
私もこれを読んで知ったのですが、フォーチューン500の90%の企業にソリューションを提供している爆発的に成長している企業です。
2、Redhatの強み
Redhatは技術力が強いのはRHELを見れば一目瞭然ですが、今回はOSSから始まったRedhatの強みについて書きます。
Redhatを語る上で欠かせないのがRedhatがオープンソースのソフトウェアの開発を行っている点です。5年ほど前からクラウドソースが流行し、ランサーズやクラウドワークスなどを筆頭にクラウドソーシングによるリソースの有効活用経済が出来上がってきました。これは間違いなくITが産んだイノベーションであると言えます。
しかし本書では、クラウドソーシングの限界についてこう述べています。
「1回だけ」の活動であり、継続的な競争優位性の基盤にはなり得ないのだ。
(OPEN ORGANIZATIONより抜粋)
一方で、Redhatのようなオープンソースの組織は、クラウドソーシングとは異なり、各自がソフトウェアをより良いものにしたいというミッションの元活動にコミットするため、継続的に取り組んでくれるのが強みだということです。
個人的には、このような主体的な組織こそが最も強いと思います。企業が大きくなればなるほど企業のミッションと個人のミッションは乖離し、所属する組織へのロイヤルティも下がっていき、結果として企業の競争力にもネガティブな影響を与えると思うのです。
・キングコング西野さんが支持を集めることとの関係
最近、キングコング西野さんが絵本作家として脚光を浴びていますね。私も個人的に西野さんの考えのファンで、彼はこの絵本の製作を分業制で行なったことを強調しています。革命のファンファーレ 現代のお金と広告はとても面白いですww
これは、一見クラウドソーシングのような一時的な労働力の提供をイメージしますが、彼の場合これを契機にファンを獲得し、ファンは彼の世界観にはまり、彼の世界観の元いろいろなプロジェクトを立ち上げ、世界観の普及に協力するようになる。これにより継続的な関係性を築いている。これは、Redhatのオープンソースの考えと類似していると思います。
そして、結果として主体的な個人の力をどんどん活用できるコミュニティが立ち上がります。Redhatも西野さんも、これって超勝ち組ですよねwww?
3、SAPとRedhat
では、私の大好きSAPの基盤という観点でみるとどうでしょうか?
SAP専用のOS環境を提供する以下のソリューションを提供しています。
・Red Hat Enterprise LINUX for SAP Applications
・Red Hat Enterprise LINUX for SAP HANA
僕もRHEL環境のSAPを触ったことあります。UNIXとの違いはよくわかりませんがwwwコマンド自体はだいたい同じです。おそらくOSの一部のプロセスが違うくらいかと思います。
強みとしては、おそらくですが、HP-UXやIBMのAIXとかよりも導入の費用がいくらかやすくなることかと思います。ほとんどのSAPユーザ企業はおそらくハードをHPEかIBMにまんま任せているので、OSもセットのパッケージ契約をしていると思われます。私はこの辺あまり詳しくないですが、Redhatはほとんど全てのハードに対応していることに加え、この2つのハードウェアベンダーよりも費用が安いはずです。
4、学び
一番の学びとしては、Redhatの技術の高さだけでなく、組織が肥大化してもなお、目標駆動型組織のスピリットが全社員まで浸透しているという点です。
僕が今Sierで業務に携わっていて、やはりエンジニアは技術力には絶対的に強みを持っていますが、この組織のマネジメントに関しては、かなり弱いことを認識しています。僕の会社の悪口ではないですが、僕の会社も公明正大な組織としての目標、ミッションを掲げてはいますが、果たしてそれが適切に実行されているかというと怪しいです。
真に社員が外部からのモチベーション(金銭、名声)ではなく、自己に内在するモチベーション(目標)で業務にコミットできるような組織を維持する必要性を感じました。
今、2年目を迎える自分ができることはかなり限られていますが、何かできることがあると思うので、この組織と自己の目標を意識し、再度業務にあたりたいと思いました。
今日は、いつもの技術の話とは離れましたが、こういうマネジメントの話の方が文系出身の自分としてはしっくりくるので、
今後はこの辺も調べていきたいと思います。
では、今日はこのへんで失礼します。
「タブ」v.s「スペース」論争 ww
こんばんは、カズヤんです。
今日は、ぶっちゃけすごいどうでもいいですが、「タブ」と「スペース」の違いについて少し調べたら面白かったので共有しますww
そもそもの発端は、LINUXのコマンドを叩いていて、「expand」コマンドって言うのがあるんですが、このコマンドは、指定されたテキストファイル内にある「タブ」を「スペース」に置き換えるコマンドです。
ただ、IT弱者の僕としては
「タブ」と「スペース」って同じじゃないの?
って思ったわけです。
ITガチでやっている人からするとインデントを「タブ」にするか、「スペース」にするかという問題はかなり重要らしいです。
ちなみに、
スペース・・・単語や文章の区切りとして空白を作りたいときに使用
タブ ・・・文章の開始位置を揃える目的で空白を作りたいとき使用
となるそうです。僕の知りたいのがここまでなのでぶっちゃけその後面倒臭そうです。
なのでコーディングにおいて、この違いがもたらす影響については、下記ブログをみてくださいwww
あとは、Huluにて、Sillicon Valley(シリコンバレー)っていうドラマでもこの論点に関して面白いシーンがありましたww
モテないエンジニアリチャードがやっとこそゲットした可愛い彼女(しかも、Facebook勤務のエリート)は、スペース派のエンジニアで、タブ派のリチャードはそれに我慢できずすぐ破局するというシーン...www
まあ、基本的にアプリの人たちの話なのでインフラの僕は、「タブ」と「スペース」をLINUXの「expand」コマンドにて書き換えられれば問題ないと思っていますwww
恐縮ですが、今日はこれにて失礼しますwww
トランザクション分析(STAD)の紹介
こんにちは、カズヤんです。
今日は、昨日に引き続きSAPシステムにおけるトランザクションのワークロード分析について紹介します。前回はST03を利用したCPU、メモリ増加の原因分析について説明しましたが、今回はアプリ層で実行したトランザクションがどれほどハードウェアリソースを使用しているかなどを調査する方法となります。
トランザクションコードはSTADです。とても覚えづらいですが、便利なトランザクションなので、是非とも実行してみてください。
では、早速実行してみます。
調べたい日時、クライアント、ユーザ、トランザクション、プログラムを入力後に、エンターにて検索します。
今回は何もヒットしませんが、通常ここにトランザクションごとのワークロードが出力されるので、いつ、何のトランザクションがどれだけメモリを消費しているかを確認できます。
今回は、トランザクション分析(STAD)について説明しました。これに関してもSAPアプリエンジニアにとって有益な情報となるはずですので是非とも使ってほしいです。
では、今日はこれにて失礼します!!