オラクルをシェルとクロンで動かすレポート
Linux+Oracleのシステムで、
DBデータを自動的に変更・削除するシステム
すぐに作れますか?

簡単そうですが、意外と難しいですよ。

実際の現場では、
DB(Oracle)のデータを毎日
自動的に削除・更新・挿入する必要がありますね。

例えば、ログデータや履歴データの(論理)削除など。


そんなDB(Oracle)への
自動バッチ処理を速攻で作り、アナタの技術を向上したいなら、
この手紙を読み進めてください。





「プロシージャ+シェル」で楽勝と思いました
私がこの課題を与えられた時、はっきり言って楽勝かなあと思いました。
すぐに、こんな3ステップのイメージがわきましたから。

1.PL/SQL(プロシージャ)でDB処理を行う
2.プロシージャをシェルで呼ぶ
3.シェルをCRONに登録する

まずは試しに、データをアップデートするサンプルプロシージャを作ってみました。
↓のような感じです。
PL/SQLプロシージャのサンプル
CREATE OR REPLACE procedure DEPT_UP is
begin
update DEPT set LOC='HAWAII' where DEPTNO='10';
commit;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
end;
/

で、このような(サンプル)プロシージャを呼ぶシェルを作って、
適当に加工すれば、なんとかなるだろうと思ったのです。



しかし・・・・甘かった。

この後、私は一気に
ドツボにはまりました。

何故なら、問題が次から次へ出てきたからです。
そこでアナタにもお聞きしたいのです。




アナタは、以下の疑問に答えられますか?

Q1:シェルからプロシージャをどうやって起動する?
プロシージャはできました。
でも、これをシェルからどうやって起動するのでしょうか?

まあ、知っている人には簡単でしょうが、ちょっと調査が必要でしょう。
私は、30分ほど悩みましたが、まあ、なんとか出来ました。



Q2:エラー(ORA-XXXXX)をどうやって捕捉する?
ほっとしたのも束の間です。次の疑問がわきました。

もし、プロシージャにエラーが発生した場合はどうするのでしょうか?
当然ですが、(メインプログラムの)シェルで、エラーを捕捉する機能が絶対に必要ですね。

さて、アナタは、どうしますか?


Q3:エラー発生時にログを残せる?
(メインプログラムの)シェルで、エラーを捕捉した場合は、障害対応したいですね。
しかし、そのエラーメッセージが何も残ってないと、どうしようもないです。
エラーメッセージをログに残す機能、アナタはすぐに作れますか?



Q4:パラメータがある場合は、どうする?
ところで、上で示したプロシージャのサンプルは、パラメータがありません。
でも、通常はプロシージャはパラメータを持ちます。

アナタは、パラメータつきのプロシージャをシェルからキックする方法を知っていますか?



Q5:プロシージャが削除されてしまったら?
このシステムは、メインがシェルでサブがプロシージャになります。

プロシージャが存在しないような異常事態(削除されたしまった等)でも、
きっちりとシェルで捕捉し、ログに残す機能、アナタはすぐにできますか?



Q6:そもそもDBが落ちているときは、どうするのか?
さらに、もっと異常事態も想定しておきましょう。
DB(Oracle)が起動していない、DB側の電源が落ちている、そんな場合です。

この異常事態、ログに残す機能を、アナタは作れますか?


Q7:Cronで動きますか?
上記のような問題を解決して、初めて実際に使えるシステムになります。

でも、最後の難関があります。
一般的に、シェルは手動で動いても、日次バッチ(Cron)では動くと断言できません。
(いや、たぶん動かないでしょう

何故なら、シェルにはOracle用の環境設定が必要になるからです。
この環境設定はどうするのか、アナタはご存知ですか?





実際に現場で使い、お客さんに納品するシステムなら、
上記のQを全部解決する必要がありますね。

私は、3日間試行錯誤して、
上記のQを全て解決しました。


そのレポートを今からご提供いたします。

もちろん、アナタがご自分でシェルをパッパと書けるなら必要ありません。
ですが、そうでなければ、「あーだ」「こーだ」やって作るよりも、
手に入れておいて使ったほうが絶対にいいです。

時間も節約できますし、技術力の向上にもなります。
システムに関わっているなら、いつかは必要になります。

ということで、
興味のある方は、↓の説明をよくお読みください。




アナタにお届けするレポートの説明

提供ファイルは5つです
今回、アナタにお届けするファイルは、以下の5つです。

・dept_in.sh
・common_func.sh
・dept_in.sql
・create_dept_table.sql
・使い方説明書.PDF


dept_in.sh がメインのシェルです。
このシェルが、共通関数(common_func.sh)を使って実行される。そんな形になります。

dept_in.sql は、dept_in.sh に呼び出されて実行されるプロシージャです。
このプロシージャは、Oracle 側にセットされます。
create_dept_table.sql は、dept_in.sql を実行するために必要なテーブルを作成します。

このように、テーブル作成文、プロシージャ、シェル、共通関数が、一つのセットになっていて、
説明書.PDFで使用方法を解説しています。



使い方説明書の目次です



まず手動で動かす
上記目次に従って、まずは実際にアナタの環境でプログラムを動かします。
テーブル作成文、プロシージャ作成文、初期設定変更、ほとんどコピペで動きますので、
Linux+Oracle環境があれば、5分で実行できます。

この作業を手動で行うことで、アナタは基本を理解できます。



Cron(自動バッチ)でも動かしてみます
手動で動かした後は、Cron(自動バッチ)で動かしてみます。
もちろん、この説明も以下のように例をあげて説明しているので、基本的にはコピペでOKです。




説明は図解していきます
説明にあたっては、
図、コマンド、ソース、実行結果、テーブルのデータ変更点を図解してみました。

↓のようなかんじで解説していますので、わかりやすいです。




エラーをわざと発生させます
正常の動作を確認した後は、
わざとエラーを発生させています。エラーを発生させる手順も説明してあります。


エラー発生時の対処をリアルに理解できます。


応用すれば必ず現場で対応できます
一通りの動作、エラー発生を確認した後は、応用編に入ります。

別プロシージャを呼ぶには?
パラメータを変更するには?
プロシージャのメッセージを取得するには?


提供したサンプルファイルを基にすれば、アナタには必ず現場で応用できる実力がつくことでしょう。





こんな場合は、まだ無理かも

ちなみに、もしアナタの技術が以下のような場合は、
まだ「今回のご提供レポート」を使いこなすことは無理かなあと思います。



Linuxコマンドを全く知らない
もし、Linuxコマンドを全く知らない状態でしたら、使いこなすには大変です。
私も、Linuxコマンドをある程度知っていることを前提に書いています。すみません。

ちなみに、コマンドは知っているがシェルは全然書けないなら大丈夫です
レポートにきっちりとシェルが書いてあるので、しっかりコピペだけできれば動くからです。



SQLを全く知らない
DB(Oracle)の検索(select)、挿入(insert)、削除(delete)、更新(update)を
全く知らない状態だと、無理です。せめて、この4つのSQLは覚えておきましょう。

ちなみに、プロシージャは作成できなくても、大丈夫です
レポートにきっちりとプロシージャが書いてあるので、しっかりコピペだけできれば動くからです。



まあ、突撃してみるのも手です
もしアナタが、「Linuxコマンド」「SQL」を全く知らないなら、ご遠慮したほうがいいと述べました。

でも、知らなくても無理やりレポートに沿って勉強してしまうのも手です。

わからないところを片っ端から勉強してしまえば、
最初は苦しいかもしれませんが、必ず身につきます。短時間で技術が向上します。

まあ、人間はムチャやったほうが成長すると思いますが、
そのへんはアナタの感覚でお考えくださいね。

私も、アナタの感覚には責任はとれないですが、(笑)、
もし、アナタにこのレポートが全然あわなかったら返金はできますので、
存分に突撃してみてください。




結局、こんなメリットもあります

色々と説明してきましたが、結局のところこんなメリットもあるでしょう。

<Linuxコマンドが少しできるのにシェルが全然書けないなら・・・
シェルの基本が勉強できます>

もし、アナタがシェルが全然書けないということでしたら、このレポートをみて、その基本を覚えることができるでしょう。レポートには、とにかく動くものがあって、基本的なお作法がわかるようになっています。アナタは、サンプルのシェルをみて、コマンドを足していけば、今後も立派なシェルを書けることになります。


<SQLが少しできるのにプロシージャが全然できないなら・・・・
プロシージャの基本が勉強できます>

プロシージャを書いたことがなくても、まずはサンプルで学ぶことができます。プロシージャは基本的に、定義、動作、エラー処理にわかれていますので、サンプルをみて、その基本を学ぶことができます。今後複雑なプロシージャが必要になっても、アナタは肉付けをしていくだけです。


<手動で動かしたシェルが何故かCronで動かない・・・・
毎回こんなことで悩まなくてすみます>

一般的に、手動で動くものはCronでも動きます。Cronが動かない場合の90%以上は、環境設定が原因です。今回のサンプルを見ることで、Cronで動かすための環境設定を学ぶことができるでしょう。


<DB(オラクル)のヘルスチェックやってくれ・・・
難しそうですが実は超簡単の種明かしをします>

DBが生きているのか?死んでいるのか?をチェックすることは、システムにとって必須要件の場合が多いです。そのDBチェックを、ヘルスチェックといいますが、今回のレポートで、DBのヘルスチェックの種明かしをします。


<上司に同じような仕事を頼まれたら、・・・・
「待ってました」と5日間かかるところを3時間で仕上げることができます>

まあ、これはあまり大きな声で言えませんが・・・・・

システムに携わっている限り、DB自動実行の仕事は必ず発生します。その時アナタはチャンスです。待ってましたとばかりに、この仕事を引き受けましょう。はっきり言って楽勝で終わります。時間が節約できるので、3日休んでもおつりがきます。


<未熟な後輩に渡しても・・・・
すぐに一人前のシステムをつくれます>

もし、アナタが忙しいのなら、このレポートを後輩に渡してしまえばいいでしょう。レポートを見れば、まあ何も問題なくできるように詳しく説明が書いてあります。後輩を使ってもOKでしょう。


<アナタが教育担当になったとしても・・・・
すぐに教育資料を作ることができます>

シェル+PL/SQL(プロシージャ)は、IT技術者にとっても必要な知識がぎっしり詰まっています。レポートは、この知識をぎゅっと濃縮してあります。もし、アナタが教育担当になったら、この資料を使って教育資料を作れば、非常にわかりやすいものができるでしょう。


レポート内容の保証
以上のようなレポートになります。
私は、アナタにとって役に立つレポートになると思います。

しかし、最終的に

役に立つかどうかを決めるのは、アナタです。

(もし、アナタの役に立たないのに、代金をいただくのは、私の本意ではありません。)


従って、このレポートは、
6ヶ月の完全返金保証を行います。
6ヶ月間、いつでも返金要求できます。


返金要求方法は簡単です。アナタが
気にいらない場合は、申込されるとメールが届きますので、
そのまま返金要求してください。
謹んで返金させていただきます。




では、お値段です。
オラクルをシェルとクロンで動かすレポート
6,000円です。

たぶん、私のように3日間悩みそうだったら購入されたほうがいいです。




お申し込みはこちらです。
<カード決済>か<銀行振込>どちらかでお申込みください。
<カード決済>今すぐレポートをダウンロードできます。

<初めての場合>

姓(必須)
メールアドレス(必須)
決済パスワード※
利用規約に同意(必須)
都道府県
(何かあれば)
メッセージ等
※決済パスワードを入れておくと、次回から、
本サイトでのカード番号入力を省略できます

<パスワードをお持ちの場合>

メールアドレス(必須)
決済パスワード(必須)
利用規約に同意(必須)
(何かあれば)
メッセージ等


<銀行振込>入金後(48h以内に)レポートを送ります。
銀行振込み口座は下記に登録したメールアドレスにお送りします。お申込み後、5日以内にお振込みください。
姓(必須)
メールアドレス(必須)
利用規約に同意(必須)
都道府県
(何かあれば)
メッセージ等

追伸

後悔しないためのポイント

Linux+Oracleのシステムに関わっていたら、このシェルは必ず必要です。

何故なら、上記のような要件で本気でつくるとなると、
1日や2日どころか、テストまで含めたら1週間くらいかかります。

たぶん、「シェルでDBを叩けばいいんだろ」くらいに考えていると痛い目にあいます。
私もそうでした(苦笑)。

そりゃ、正常系では(簡単に)動くのでしょうが、
異常時(特にDB側で発生したエラーメッセージをシェル側で捕捉する)の対処方法は、
なかなか難しいです。

そのへんのシェルをしっかりできるのか?
何時間かかるのか?

その辺が、このレポートをおとりよせする目安になると思います。
もし自信が無ければ、このレポートを手に入れた方が効率的ですし、
時間も努力も節約できます。
言葉は悪いかもしれませんが、時間を多少のお金で買って頂ければ、という感じです。

もし、「そのくらいのシェル、自分で書ける」と思われたり、
他の参考書のほうが優れていると感じる場合は、
購入しないほうがいいかもしれません。

もちろん、私がどのようなシェルを書いているかを勉強したい場合は、
おススメですからね(笑)。

アナタ自身の状況に応じてご検討くださいね。

では、またお会いしましょう。
ありがとうございました。

サーチマン佐藤




特定商取引法の表示