|
何故USBを差し替える だけでバックアップ できるのか? |
|
|
|
|
|
|
オラクル(Oracle)DB自動実行レポート
もしアナタが、 「DBのデータを自動的に変更・削除するシステム をつくってくれ」と上司に言われたら、どうしますか? 簡単そうですが、意外と難しいですよ。 実際の現場では、 DB(Oracle)のデータを毎日自動的に削除・更新・挿入する必要がありますね。 例えば、ログデータや履歴データの(論理)削除など。 そんなDB(Oracle)への 自動バッチ処理を速攻で作り、アナタの技術を向上したいなら、 この手紙を読み進めてください。 「プロシージャ+シェル」で楽勝と思いました 私がこの課題を与えられた時、はっきり言って楽勝かなあと思いました。 すぐに、こんな3ステップのイメージがわきました。(イメージは確かに正しかった・・・・) PL/SQL(プロシージャ)でDB処理を行う プロシージャをシェルで呼ぶ シェルをCRONに登録する で、私は試しに、データをアップデートするサンプルプロシージャを作ってみました。 ↓のような感じです。
オラクルのデフォルトユーザー(SCOTT/TIGER)で動かす単純なプロシージャです。 もちろん動きます。楽勝です。 で、このプロシージャを呼ぶシェルを作って適当に加工すれば、なんとかなるだろうと思ったのです。 しかし・・・・甘かった。 この後、私は一気に ドツボにはまりました。 何故なら、問題が次から次へ出てきたからです。 そこでアナタにもお聞きしたいのです。 アナタは、以下の疑問に答えられますか? 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コマンドをある程度知っていることを前提に書いています。すみません。 Linuxコマンドを知らない方は、私のメルマガに登録いただけば、いつの日か初心者講習を行いますので、お待ちください。 ちなみに、コマンドは知っているがシェルは全然書けないなら、大丈夫です。 レポートにきっちりとシェルが書いてあるので、しっかりコピペだけできれば動くからです。 SQLを全く知らない DB(Oracle)の検索(select)、挿入(insert)、削除(delete)、更新(update)を全く知らない状態だと、無理です。 せめて、この4つのSQLくらいは覚えておきましょう。 ちなみに、プロシージャは作成できなくても、大丈夫です。 レポートにきっちりとプロシージャが書いてあるので、しっかりコピペだけできれば動くからです。 まあ、突撃してみるのも手です もしアナタが、「Linuxコマンド」「SQL」を全く知らないなら、ご遠慮したほうがいいと述べました。 でも、知らなくても無理やりレポートに沿って勉強してしまうのも手です。 わからないところを片っ端から勉強してしまえば、 最初は苦しいかもしれませんが、必ず身につきます。短時間で技術が向上します。 まあ、人間はムチャやったほうが成長すると思いますが、 そのへんはアナタの感覚でお考えくださいね。 私も、アナタの感覚には責任はとれないですが、(笑)、 もし、アナタにこのレポートが全然あわなかったら返金はできますので、存分に突撃してみてください。 結局、こんなメリットもあります 色々と説明してきましたが、結局のところこんなメリットもあるでしょう。 <Linuxコマンドが少しできるのにシェルが全然書けないなら・・・ <SQLが少しできるのにプロシージャが全然できないなら・・・・ <手動で動かしたシェルが何故かCronで動かない・・・・ <DB(オラクル)のヘルスチェックやってくれ・・・ <上司に同じような仕事を頼まれたら、・・・・ システムに携わっている限り、DB自動実行の仕事は必ず発生します。その時アナタはチャンスです。待ってましたとばかりに、この仕事を引き受けましょう。はっきり言って楽勝で終わります。時間が節約できるので、3日休んでもおつりがきます。 <未熟な後輩に渡しても・・・・ <アナタが教育担当になったとしても・・・・ では、だいぶ長くなってしまいましたが、最後に私からあなたへのメッセージです。 システムに関わっていたら、このシェルは必ず必要です。上記のような要件で本気でつくるとなると、1日や2日どころか、テストまで含めたら1週間くらいかかります。 忙しいあなたにとっては、このレポートを手に入れてしまった方が効率的だと思いますし、時間も努力も節約できます。言葉は悪いかもしれませんが、時間を多少のお金で買って頂ければ、という感じです。だから、私は、このレポートをあなたにおススメしたいと思います。 しかし、もちろん、それを 決めるのは、あなたです 私は、おススメはしますが、あなた自身が、このレポートを購入するかどうかをお決めください。「そのくらいのシェル、自分で書ける」と思われるかもしれませんし、他の参考書のほうが優れていると思われるかもしれません。絶対に必要ない場合もあるかもしれませんので。 でも、実際に書くのが面倒だというような場合や、私がどのようなシェルを書いているか勉強しようと思われるなら、やはり、おススメということになります。どうぞ、あなた自身が、今後の必要性に応じてご検討くださいね。 おススメしますが、 このレポートは、 6ヶ月の完全返金保証で、 お届けしています。 あなたがこのレポートを購入して、「こんなレポート必要なかった」と後悔して欲しくありません。 もし、後悔された場合は、6ヶ月の返金保証をしております。 ただし、カード決済の場合は、手数料がありますので1割手数料負担ください。 方法は簡単です。あなたが 気にいらない場合は、特定商取引法の表示のメールアドレスに、 返金要求してください。 アナタのご指示通りの口座に返金いたします。 では、お値段です。 オラクルDB自動実行レポート 5,000円 では、 お申し込みは、こちらです。 カード決済なので、すぐにダウンロードすることができます。 否定されることに悩むより、すぐに勉強することをお奨めします。 返金保証もありますし。 特定商取引法の表示 |