数少ないDB2の書籍
皆さん、こんにちはカズヤです。
今日は、僕が業務で取り組んでいる、IBM社のDB2の書籍を紹介します。
書籍の方が体系的な知識を身につけられることは言うまでもありません。
実際、データベース市場はOracleの一人勝ち感が否めない昨今のせいなのか、DB2の本はわずかしか存在しませんが、私が現在利用しているのが、この本です。
即戦力のDB2管理術 ?仕組みからわかる効率的管理のノウハウ
- 作者: 下佐粉昭
- 出版社/メーカー: 技術評論社
- 発売日: 2011/04/08
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 13回
- この商品を含むブログ (6件) を見る
DB2に関してブログを書いている方のブログ内容を書籍化したものだそうですが、専門書に比べてはるかにわかりやすいのが特徴です。私のような初心者向けの書籍であると言えます。
DB2に関して体系的に学べるだけでなく、データベースの中の重要機能である、バックアップ、表再編成、統計情報取得などが学べます。
なお、この本に書かれている内容は全てIBMの公式HPで掲載があるので、そちらも合わせて確認することをお勧めします。
私は、あまりデータベース業界に関して詳しくないですが、日本の中でも一体何人のエンジニアがDB2の仕様を理解しているのでしょうかね。ぜひ、経験者の方、適切な学習方法をご教授いただきたいです。
ではまた、次回も宜しくお願いします!!
ITIL Foundation v3 取得
皆さん、こんにちは、カズヤです。
2週間前に受験したITIL Foundation v3試験に合格したのですが、この合格証明書が届いたのでお知らせします!!
IT企業に入社してから初めてのアチーブメントなので、結構嬉しいっすww
ただ、ITILに関してはちょっと対策すれば誰でも合格できますww
今日は、エンジニア未経験の方向けにこのITILとはなんであるか?
そして、この知識がどのように生きるのかについて書いていきます。
1、ITILとは?
私が、学生の時ITIL(アイティル、アイティアイエル)なんて単語は聞いたことがありませんでした。そして、私自身が運用のチームに配属になることも想像していなかったですし...
ITILとは、Information Technology Infrastructure Library の略で、IT運用のフレームワークを提供してます。イギリスの非営利団体が作ったフレームワークだそうです。
ITILは、規範的なルールを定めているのではなく、世界中で実践されていて大きな結果が出ているベストプラクティスをまとめているものであり、それがIT運用のフレームワークとして最適だと認識され、全世界中で導入されているフレームワークです。
おそらく、ほぼ全ての企業のIT運用に利用されているフレームワークだと思います。
このITIL試験は全部で4段階のランクがあり、今回はその中でも一番下の認定試験を受験したわけです。
2、試験をとると評価されるの?
まず第一にどんな運用エンジニアもITILのフレームワークを業務の中で利用しているであろう現状を鑑みると、ITIL Foundationに合格しても特別な評価が得られるということはありません。
ただし、新人エンジニアが運用業務フレームワークを理解していることを証明できるだけといったところでしょう。
興味深いことに、PwCコンサルティングの中途採用では、推奨資格としてITILが挙げられています。つまり、持っていることで採用では少しは評価がされるということだと思います。
結論として、簡単だから受けた方がいいですwww
3、業務におけるITIL
業務では、「インシデント管理」「問題管理」「変更管理」「構成管理」を社内のデータベース上で管理しています。このフレームワークに則ることで、実際の運用も効率的に実施できていると思います。
・「インシデント管理」とは、業務に影響を及ぼす可能性があるシステム障害のことで、インシデントが発生した際に、インシデントをいち早く解決するための手順を提供するプロセスです。
・「問題管理」は、インシデントの根本原因を探り、問題解決を目的とするプロセスです。インシデント管理と少し類似しているように聞こえますが、あくまでインシデント管理では、システムの復旧が目的のため、根本解決はしませんので注意。
・「変更管理」は、問題管理プロセスにおいて、システムが抱える問題を解決するために、設定を変更したり、手順書などの構成資料を変更したりするプロセスです。
・「構成管理」は、システムを構成する、設定情報(パラメータ、メモリー等)、手順書、連絡体制などの構成資料です。管理台帳等を利用して、これら構成情報を効率的に管理することにより、運用が効果的に効率的に実施できるのです。
チームの中で、各プロセスオーナを任命し、プロセスオーナが集合して月次でサービス報告会を実施しています。
まあ、何かを管理するということは必ずフレームワークなりあると便利ってことですねえ〜〜
4、終わりに
今回は、私のITIL合格自慢と、ITILフレームワークについて簡単に説明しましたが、今しか経験できない運用業務なので、今後もITILを最大限活用して良いソリューションをお客さんに提供できたらと思っています!!
ちなみに、IT未経験のひとでもすぐに取れる資格だと思うので、皆さんぜひチャレンジしてみてください。特に学生でこの資格持ってると新卒採用ではかなり評価されると思います。
ではまた、次回の記事も宜しくお願いします!!
3年間が勝負!!
皆さん、こんにちは、カズヤです。
今日は3連休最終日ですが、明日の仕事が気になって不安で仕方ありません。
本記事では、現在の私のステータスについて共有するとともに、新人エンジニアの業務管理みたいなところに触れていきたいと思います。
さらに、本投稿が記念すべき25記事目なので、ここで、自身の考えをリフレクションしていこうと思います。
1、現在の業務状況
改めて、確認ですが、現在2社(A社、B社)の運用サービス主担当をしています。
まず現在の私の業務管理についてですが、
・A社月次報告書作成 & レビュー
・A社システムの変更作業1件
・A社インシデント事後処理1件
・B社システム問い合わせ2件
・社内個人管理業務1件
の合計6件となっています。これをマルチタスク処理で回すというのは私の頭のCPU的にはかなり無理がありますが...
私は、チーム内では、その他定常業務という案件共通業務の2番対応をしているので、1番担当が不在の際には私が対応せねばなりません。
なんと、明日は定常担当の方が休暇をとるという暴挙に出たので、対応は私が1人で実施しなければなならない状況です。私の会社はコンプライアンスが大変厳しい会社のため、残業は基本的にできない会社で、有給休暇を率先して取得することが推奨される風潮があります。
※同期も1人同じチームに所属していますが、彼も明日は不在のためだいぶキツイです。私は、3年間で今の会社から転職するつもりのため、早く成長するため有給休暇は1日も使うつもりはありません。
まあ、結論として、新人の割にかなり難しいところも任せてもらっているので全体としてかなり満足度は高いです。
2、なぜ3年間が勝負なのか?
私は日頃から同期入社の社員から以下のようなことを言われるのです。
毎日、デスクに張り付いてるよね〜?
そんなに働いていて人生楽しいの〜?
趣味とかないの〜?
働くのは好きだし、趣味も死ぬほどあります笑(登山、ドイツ語学習等)
3年でやめて次の土俵でやりたい仕事もかなり詳細に見えているので、その目標に対して誰よりもコミットしているだけの話です。
私の同期は、仕事が終わると飲み会したり、パーティに行ったりとパリピ気質のある人が多いのですが、私は「短期的な効用」よりも「長期的な効用」を重視したいということです。個人的な意見ですが、この新人としての時期の飲み会は8割以上が無駄です。飲んでいる時間を学習に費やすべきです。
若い時の苦労は買ってでもしろ
という言葉がありますが、私は心からその通りだと思っています。
そもそも、文系新卒エンジニアのできることなんて限られていますし、何もできないエンジニアに仕事を任せてくれる上司ほど良い上司はいないですし...
では、なぜ 「3年間が勝負」なのか?
これって是非が問われますよね。
私の個人的な意見として、中途入社で他のITコンサルティングファームに移る場合、
最低3年の当該分野での経験が求められますし、今後は上流のコンサルティングをやりたい自分として、この「3年」という期間を技術に触れていくことで、今後のキャリアの技術的基礎を固める年数として3年間は最適な期間であると感じます。
IT戦略コンサルティングの場合、マネジメントがメインのため、技術力が要求されることはないのですが、今後CIOとして事業会社のマネジメントポジションに就きたい場合(私です..)には、開発や運用の技術バッググラウンドもかなり要求されます。
USJの元CMO(Chief Marketing Officer)の森岡毅さんの本を読んだ際に、
若いうちには、心臓から冷や汗を書くような経験をして、どんどん自信をつけたほうが良いという旨かかれていました。
私も30歳までにマネジメントに携わりたいため、ワーカーとしての業務は自身のキャパの120%くらいの量で実施し、早いうちに身につけたいと思っています。
3、仕事でのゴール達成
最近、心理学の本を読んで知ったのですが、人は誰しもパーソナルゴールという目標を少なからず持っているようなのです。それは、短期的でも長期的でも人が達成しようと常に心の中で持っている意識のことなのだそうです。
よく、仕事が大好きな人を蔑んだり、意識高い系をイタイとする風潮がありますが、私にはよくわかりません。というのも、
平日1日24時間ですが、実際に分解してみると、
睡眠時間 ・・・ 8時間
労働時間 ・・・ 11時間 (移動時間 2h 労働時間 9h)
自由時間 ・・・ 5時間
と、11/24(およそ46%)が労働時間が占めています。
誰がどう考えても、人生の半分は仕事に費やすことになるのです。
休日は除外していますが、多くの時間を仕事に捧げている訳なので、仕事を楽しまないことが人生にとってどれだけ甚大な非効率をもたらしているのかを理解するべきです。
仕事を楽しんだり、意識高い系がビジネスを通して、高い目標を掲げることはいいことであると思いますし、多くの人が仕事を自分の人生と結びつけて楽しむことがもっとも個人だけでなく、社会にとっても最適な選択であると思います。
私は、そのため、誰もが仕事を通して個人のビジョンの達成にコミットすべきだと思うし、私も今後なお一層貫いて行きたいと思います。
4、終わりに
つらつらと書きましたが、私が言いたいのは、どんなに現状がハードであっても、自身のビジョンを仕事を手段として達成できる訳だから耐えられるということです。
この目標意識を新人の間だけでなく、昇進しても持ち続けることで、より充実したビジネスマンライフが送れると思います。
私は、一端のエンジニアですが、意識の低い同期しかり、大学同級生しかり、目標駆動型の人間であって欲しいと心から願います。3年間で転職のため、今後もより多くの知識を吸収していけるように技術メモを本ブログにて更新していきたいと思います!!
25回投稿記念ということで、少し面倒臭い内容に見えたと思いますが、読んでいただいて光栄です。
みなさん、本日もありがとうございました!! 今後とも宜しくお願いします!!
DBエラー(ORA-01031)
皆さん、こんにちはカズヤです。
今日は、Oracleデータベースに関するエラーを扱いましたので共有したいと思います。
まあ、担当している案件の障害のほとんどはデータベースのエラーが多いですね。
このようなエラーはお客様側のアプリ担当チームが何かプログラムを実行した際に、コードのエラーが起因して起こるものがほとんどです。
Ora-01031エラーなのですが、
下記サイトを調べてみると、
「権限が不足しています。」と記されており、
原因: 適切な権限のないユーザーが、現行のユーザー名またはパスワードを変更しようとしました。必要なオペレーティング・システム権限がないデータベースをインストールしようとすると、このエラーが発生します。Trusted OracleがDBMS MACモードで構成されている場合は、ユーザーに必要な権限が現在のログイン・レベルよりも高いレベルで付与されていると、このエラーが発生することがあります。
→まあ、書いてある通りですが、適切な権限のないユーザーでは権限レベルの高い操作はできないと言うことでしょう。
エラー・メッセージ Ora-910 - Ora-1497 - MySQL, Oracle Abc Wiki
解決方法:この操作を実行するか、または必要な権限を付与するようデータベース管理者(DBA)に依頼してください。Trusted Oracleユーザーに高いレベルの適切な権限が付与されていてもこのエラーが発生する場合は、適切なレベルの権限を付与しなおすようDBAに依頼してください。
→権限がないわけですから、より高い権限を付与する必要があります。
IT未経験者の人からしたら、権限と言われてもよく分からないと思いますが、システムでは、OSレベルでファイルの閲覧権限や実行権限などがファイル毎に必ず割り振られています。もし、この辺詳しく知りたいと言うことでしたら、LINUXのファイルシステムについて学習すると一発でわかると思います。
なお、本エラーが出力されることにより、お客様のシステム稼働に一切影響はないので、心配ご無用です。
前回同様で、Oracle Bronzeの知識がかなり活きています。
障害対応って、既知のエラーだった場合には、障害対応メモをみてそのメモに則って、作業を実施するだけなので、1hくらいで対応が終わるのですが、今回のエラーは未知のエラーのため、対応までに1hかかり、さらに今後対応するための障害メモを資料として残す必要があります。
今日の予定作業の見積もりから、一気に余分な時間が追加され残業せねば追いつかなくなります。ちなむと残業は死ぬほど禁止されていますので、していませんが...
もしこれが、原因不明のエラーだったらと思うと末恐ろしいです....
今後も早く対応できるように継続してデータベース学習は実施するつもりです。
運用エンジニアの業務内容について今後も更新していきますのでよろしくお願いいたします。では、また次回お会いしましょう。
インフラとアプリはどちらがいいのか?
みなさん、こんにちは、カズヤです。
インフラ(基盤)エンジニアとアプリケーションエンジニアはどちらがキャリアにとっていいのか?
って気になりません?
SIerに入社すると、このどちらかを必ず選択する必要が生じます。
私の代でもそうでした。私は、就職活動の時には、SAPの導入がしたいと言うことで、
自分はアプリ側の人間だとおもっていました。そのため、会計知識やシステムのアーキテクチャに関する本を読んだり、ワークショップに出たりアプリエンジニアになるための準備を必死にしておりました。
実際会社に入ると、アプリの成績は上位、インフラの成績は下位でした....
しかし、配属されたのはインフラ領域でした。理由は謎のまま半年が過ぎたわけですが、今はインフラでよかったと思っています。
私が思うインフラエンジニア(実際はミドルウェアですが)のメリットは、
・圧倒的に希少価値が高い
・クラウドの仕組みがわかる
の2つかと思います。デメリットももちろんありますが、インフラ推しのため割愛しますww
<圧倒的に希少価値が高い>
まず、「圧倒的に希少価値が高い」と言うことですが、
そもそも、アプリの方が人口は多いです。それは、アプリが個人のPCでいつでもどこでも開発が可能であるからです。つまり、誰でも参入しようと思えばできる領域なのです。
一方、インフラは個人で学ぶのに限界があります。インフラエンジニアは業務を行う上で、まずLINUXというOSを学習する必要があるのですが、このOSの学習は、アプリをうごかす訳ではないので、かなりつまらないです。OSを学んだ後に、ネットワークやストレージ、サーバについて学ぶのですが、この辺に手を出そうとする個人開発者は皆無です。インフラの企業研修も数10万の世界ですので、自学は現実的ではないと思います。
<クラウドの仕組みがわかる>
クラウドは、AWS(Amazon Web Services)やMicrosoftのAzureが有名ですが、企業のオンプレミスのサーバ環境は今後セキュリティが求められる大きなシステムのみで、その他の業務システムはクラウド化することになると思います。
現にSAPも2016年度で10000社前後の企業がS/4 Hanaを導入しています。S/4 Hanaはオンプレミス、クラウド環境のどちらの環境でも動きますが、クラウド移行した方がコストベネフィットがでかいです。
ということで、インフラエンジニアは既存のオンプレミス環境をクラウド環境に移行するというなんともカッコいいプロジェクトにも携わることができるため、今後10年はエキサイティングだと思います。
人によっては、
クラウドにアプリ乗っけるだけだから、インフラエンジニアの需要なくね??
という人がいますが、それは導入の話で、運用フェイズになったら、インフラ運用の知識は確実に必要になると個人的には思うのです。
<結論:どっちがいいの?>
結論としては、どのようなキャリアを進んでいきたいかによって回答は異なると思っています。
もし、エンジニアとしてずっとやりたいということでしたらインフラがいいと思います。最悪、アプリに転身すればいいだけの話だからです。アプリのエンジニアとして、インフラの部分を知っている人はプロジェクト内でもかなり重宝されます。
ただ、もしBPRコンサルタントやIT戦略コンサルタントとして業務を行いたいということでしたら、アプリの方がいいと思います。なぜなら、これら2つの職種にはかなり細かいシステムの知識が求められないためです。むしろ、アプリの方がビシネスレイヤーに近いところで業務できるので、最適だと思います。
以上、すごく個人的な比較をインフラ推しでしたが、今後エンジニアになる方はしっかり考えて、アプリ、インフラを決めることをお勧めします。
私のように、アプリをやりたくて会社に入り、インフラになってしまったが、満足するケースもありますが、これはかなり稀なことです。
今後ともこのようなキャリアの話ができたらいいなと思います。
では、またお会いしましょう!!
今日も、お読みいただきありがとうございました。
SAP Business Explorerのインストールとアンインストール
皆さん、こんにちはカズヤです。
今日は、SAP BW(Business Warehouse)機に特有のBusiness Explorer(以下、BEx)について共有します。
この名前が超かっこいい SAP BExですが、BWで利用可能なExcelのことで、
BWにて取得した情報を分析、レポーティングできる機能を備えたものです。
以下を参照)
SAP ライブラリ - BI スイート: ビジネスエクスプローラ
そもそもの発端は、BWにてエクセルを実行しようとすると、異常終了するというエラーがあったのですが、このエラー解決のためにBExを再インストールする必要がありました。
ただ、
多くのSAP経験者が
再インストールするとなるとそもそものSAP GUIもインストールし直す必要が生じるためできないでしょ? あぁ、面倒くさい...
と勘違いされる方が多いのです。私の上司もそうでした。
ただ、実際は違います。
BExのみのインストール、アンインストールが実行可能なのです!!
・BExのアンインストール方法
Windowsのコントロールパネルから、該当するプログラムファイル(Business Explorer)を見つけて右クリックでアンインストールが可能です。
・BExのインストール方法
GUIのバージョンに一致するBExをインストールする必要があります。
サポートされているGUIはバージョンが730から最新の750までのため、このバージョンに該当するBExインストールファイルを実行します。
実行ファイルは、SAPのPAM(Product Availability Matrics)にてダウンロード出来ます。
※ PAMの利用には、Sユーザーが必要となります。かなりセキュアなサイトです。
なお、この実行ファイルは1GB近いファイルを圧縮しているため、かなりダウンロードに時間がかかります。
時間にゆとりを持ってダウンロードしましょう笑
ファイルをダウンロードしたら、次はインストールを実行するのですが、ここで、GUIのチェックボックスを外し、BExのみをインストール実行することができますのでそれを利用してください。
今回は、私も個人のSユーザーを持っていないため画面の証跡が無いですが、とても誤った認識を持たれている方が多いので、是非とも本記事を利用していただきたいと思います。
以上、超専門的な話を長々と書きましたが、このレベルで今後も技術情報を提供していこうと思ってますので、ご査証くださいww
では、またお会いしましょう^_^
ダイアログ処理とバッググラウンド処理
皆さん、こんばんは、カズヤです。
本日は、情報システムにおける2つの処理について説明したいと思います。
私が、エンジニアとしてキャリアをスタートしてからというものの、聞きなれないカタカナ文字が多く、その中でも理解ができなかったのが、
ダイアログ処理とバッググラウンド処理の2つです。
まあ、まず英語の時点で謎です....
英語の意味はなんとなくわかりますが、システムにおけるこれら2つの処理の違いって気になりません??
以下で説明していきますね!
1、ダイアログ処理とは?
ます、ダイアログ処理から説明します。
ダイアログ処理は、OLTP(Online Transaction Process)とも呼ばれます。
ダイアログ処理とは、日中に実施される処理を指します。
ダイアログという言葉は「対話式」という意味があるので、
ここでは、ユーザーがシステムに対して、操作を実行した時に、オンラインにてシステムがリアルタイムで結果を出力するためにこの言葉が用いられます。
例えば、
皆さんがスマートフォンで、ウェブアプリケーションを利用していて、
何かボタンを押したらすぐに結果が帰ってきますよね!?
これが、ダイアログ処理です。
2、バッググラウンド処理とは?
次に、バッググラウンド処理について説明します。
バッググラウンド処理、または夜間バッチ処理とも言いますが、私のチームでは皆、バッググラウンドとか行ったりします。
バッググラウンド処理は、通常は日中にユーザーがシステムを利用(ダイアログ処理)しますが、処理の少ない夜間に、バッチ(Linuxでは単にスクリプト)にて処理を自動で実行する処理のことを指します。なので、私たち一般ユーザーが普段耳にすることはほとんどないところです....
このバッチファイルは、Windowsのタスクスケジューラーなどで実行したい時間に自動で実行を設定できます。毎日夜間に行われるシステムの再起動もこの夜間バッチ処理に行われることがほとんどです。
3、なぜ、2つの処理が存在するのか?
前章でもお話しましたが、そもそもシステムは毎日稼働している中で、大容量のデータをやり取りしており、その全てを日中のダイアログ処理で処理しきることはシステムに膨大な負荷をかけてしまうため、望ましくありません。もし、ダイアログで処理仕切ろうとしたら稼働しているサーバーがダウンしてしまいます...
そのため、日中に処理しきれないデータを夜間バッチ処理にて処理することで、システムの可用性を担保しているのです。
※可用性は、システムが利用したい時に利用可能になっている状態や性質のことです。未経験者でこの言葉を使うとかっこいいですwww
現在、私は業務にてSAP Basisの起動・停止バッチを作成しています。
お客さんのサーバー環境がWindows Serverのため、Windowsにおける夜間バッチを作成しているのですが、とても骨の折れる作業です。
しかし、インフラエンジニアであるにもかかわらず、システムの細かいロジックに触れることができるのは楽しみの一つでもあります。
Windowsをお使いの方なら誰でも、コマンドプロンプトにて実行できます。
そもそも、バッチ処理は夜間に利用されるものであると書きましたが、わずらわしい操作を自動化するためのツールです。
例えば、
あるプログラムが特定のユーザーでないと編集できないという時に、バッチファイルにユーザー切り替えのコードを書けば、ポチッと実行するだけで通常20秒ほどかかる作業が1秒で完了することになります。
この意味では、企業のシステム開発の現場だけでなく、個人のPC利用でも推奨されるものであると思います。
基本的な操作として、
変数設定は set 変数 = 値
出力は echo <文字列>
サービス実行 net start <サービス名>
とif文を用いた分岐の構文を駆使すれば、ほとんどどうにかなります。
応用例として、現在起動中のサービスを検索したい時には、
net start | findstr <サービス名>
とすれば検索できます。
なお、コマンドが正常に終了した場合には、
errorlevel は「0」を返します。
※リターンコードとも言われます。
コマンドが異常終了した場合には、
errorlevelは「1」以上の正数を返します。
5、最後に
皆さん、システムにおける2つの処理の違いがわかったでしょうか。
システムに携わる人なら誰しも聞く言葉ですが、携わらない人でも、バッググラウンド処理の基本的な仕組みであるバッチ処理を知れば、日々のPC生活ももっと楽にそして、楽しくなると思います。ぜひ使ってみてください。
今日も読んでいただきありがとうございました。コメント等たくさんお待ちしておりますので、よろしくお願いします。
では、また次回お会いしましょう!!