Home − 管理人からのメッセージ


            Oracle初心者の方へ   


        
わたしもOracle初心者です
私がOracle実験室を開設したきっかけは、仕事でOracleを使うようになったものの、 「一つ納得しては一つを忘れ」を繰り返していた自分にとって、勉強したことを思い出させてくれる ノートが必要だと痛感したからです。しかし一般的な紙のノートは持ち歩くのにはかさばるので、 ネットに繋がる環境ならどこからでも参照できるホームページを作ろうということになりました。 こうして始まったOracle実験室ですが、自分用の備忘録とはいえ、検索サイトを経由して不特定多数の 方が見ることを考慮し、(一応、)見易さと解かりやすさに(ある程度)配慮しています。


とっつきにくいアプリケーション
Oracleというのは、非常に「取っ付き難い」アプリケーションです。「難しい」という人もいます。 たしかに、ある程度以上にレベルの高いことをいきなりやろうとすれば「難しい」と感じるのは当然です。 しかしそれ以前に、「取っ付きにくい」のです。つまり、「簡単なのか難しいのか」すら判る手前で 門前払いを食ってしまうのです。

Oracleが取っ付きにくい理由をまとめてみました。
いろいろ書きますが、べつに、Oracleの悪口のつもりではないのでご勘弁...

         @導入にまつわる関門の数々

     a.学習できる環境の構築に一苦労
     Oracleを勉強するなら、まず触ってみようということになるわけですが、Oracleをインストールするには、 なかなか結構なスペックが要求されます。  パソコンを新規で購入するのも大変なので、まずは自分のPCに入れてみようということになるのですが、 インストールしたら再起動後にパソコンがフリーズ、しかも 「アンインストールの仕方もよくわからん!」となってしまい...

     b.ダウンロードに一苦労
     無償でダウンロードできるのは嬉しいのですが、何せ重い!  ダウンロードしたはよいが、解凍するのに一苦労、しかも、 「解凍したら2つフォルダができたけど、どうすりゃいいの?」

     c.インストーラーがまた重い
     setup.exeをダブルクリックしたら、いきなりDosBox。
「お待ちください...」とか書いてあるけれど、待って待っても始まらない....

     d.インストールのオプションがよくわからない
     いわゆる「人差し指インストール」というわけにはいかない。
「一般的にはこのオプションを選択することが多い」とか、「初心者の学習用ならこのオプションで十分」 などの情報に乏しい。

     e.前提条件のチェックではじき飛ばされる
     インストールステップがひと通り済んだと思ったら、「前提条件」チェック。
やれディスクが足りん、やれメモリが足りんと文句をつけられ、 門前払い。なんだかよく解らないので「無視」を選んで無理やりインストールを続行したらパソコンが フリーズ...

     f.「インストール」と「データベースの構築」が別作業だと気づかない
     「インストールしたけど、どうすりゃいいの?」
スタートメニューからいろいろ動かしてみたけれど、なんだかぜんぜんデータベースって感じじゃないし...

     g.データベース構築に一苦労...いや、二苦労三苦労
     「なんで管理者がこんなにたくさんいるの?」とか、
Redoってなに?」とか
「文字コードって?日本語が使えて文字バケしなければ何でもいいんだけど」、
専用サーバって?」
....「そんなのあとで勉強するから、 とりあえず普通のオプションでとっとと使ってみたい!」 という好奇心やヤル気を根こそぎ削ぎ落とす関門の数々、そしてようやく「完了」 ボタンをクリックしたらいきなりエラー。運良く構築が始まっても、 進捗インジケーターが「40%」のまま2時間が経過...

     h.リスナーを設定し忘れる
     「そんなの、インストールの時に一緒に設定できるようにしといてよ」って思ったりする。

     i.やっとOracleセットアップできたけど...
    で、どうすんの?」って感じ。
データベースだけど、 最初はデータがまったく入ってない状態だから、Selectコマンドの悦すら 味わえない。
まず、データの入れ方が解らない。
「あっ、まずテーブルを作るのね。」
「えっ? その前にスキーマ? スキーマってなに? あっ、ユーザーのことね。」
「えっ? 権限?」
「えっ? ロール?」
「えっ? GUIで設定できないの?」

せっかくここまで来たのに、挫折というか、面倒くさくなってそのまま放置というケースが多い。
(Oracle実験室ではサンプルデータベースが用意されてますのでそちらをどうぞ。)


Aなかなか触らせてもらえない
     仕事上、やむを得ずOracleをやる羽目になったものの、Oracleが 入っているのは本番機か、共用の評価機だけ。本番機を触るのは怖すぎるし、 みんなが使っている評価機をいじり倒して勉強しようなんて言語道断。

Bマニュアルが解読不能
     「マニュアル読んで勉強しろ」って先輩に言われたけど、Oracleが発信している膨大な量の ドキュメントは初心者が読んだってよく解らない。コレを読んで 理解できるヤツは初心者じゃねぇだろって思ったりする。

だって、 一体誰がこんなのを見てSQLの構文を学ぼうと思いますかね。


どこから読んでよいやら、一体何のことが書いてあるのやら、 GoogleでたまたまヒットしたOracleのページを見ても、よーく見ると、ページの左上に自分が使う バージョンと違うバージョン番号が....

CGUIじゃない
     これは、特にAccessとかSQLServerなどのMicrosoft製品から脱皮しようとしている人には 致命的。
まず、「取り敢えず触れる」ものがないから、何をとっかかりに進めてよいのかまったく 解らない。
えっ? SQL*Plusっていうのがあるの? じゃぁ起動してみよう
 ...  起動したよ。でっ、どうするの?


D職場の教育環境がなってない
     忙しいのか、意地が悪いだけなのか、いつもOracleを触っている先輩もちゃんと教えてくれない。
「マニュアルよく読め」、
「手順書通りに」、
「グーグル先生に聞いてみろ」
が口癖。しまいには、
教えてくれとか言ってないで、 この壁を突破しろ
とかの根性論に走ったり、
「こんなのが解らないSEはいない(いらない)」
という暴言を口走ったりする。
        
 いかがですか? Oracleにチャレンジしたことがある人ならば、上記のような経験をした人も多いと思います。 これらの数々の関門にぶち当たっているうちに力尽きてしまい、「使い始める」ところまで辿りつかないのです。 いったん使い始めれば、多くのwebサイトや巷に溢れる参考書に書いてある内容が、「何を言っているのか」が 次第に解かるようになってきます。そうなれば、「難しい」という意識は次第に薄れていくはずです。
Oracle社も、「2日でデータベース管理者」など、解りやすいシリーズを出しています。 そうしたものを手がかりに、なんとか「使い始める」ところまで たどり着きたいものです。


誰のせい?
なかなかOracleを理解できないからといって落胆する必要はありません。マニュアルを読んでも 理解できないからといって自分を責める必要はありません。 Oracleをなかなか理解できないのは、そのアーキテクチャのあまりの壮大さのせいであり、 マニュアルを読んでも理解できないのは、そのマニュアルを書いている人が 初心者だった頃の疑問や不安や迷いを忘れてしまっているからです。だからといって、 マニュアルの執筆者を恨むのも筋違いというものです。人は忘れます。新しい知識がどんどん入ってくる 過程の中で、昔の苦労の感覚など忘れ去られてしまうのです。
もっともよろしくないのは、「マニュアルに書いてある日本語が 理解出来ないとは、お前は相当重症だ」という先輩やベテラン面した上司の言葉に耳を貸してしまう ことです。
「マニュアルに書いてある」−よく質問投稿掲示板に見られる言葉です。言ってはいけない言葉ではない のですが、この一言だけであれば、これほどの無責任、あるいは意地の悪い言葉もありません。 「マニュアルのここに書いてある」、あるいは、「この文章をよんで、どこが解らなかった?」 という言い回しが普通であり、これができないようであれば意地悪か皮肉以外の何ものでもありません。 質問に答える権利がないどころか、人間としての資質に欠けています。
ベテランがマニュアルを読めるのは、その人のアタマが良いからではなく、 数多くの専門用語やOracleユーザーならよくするような曖昧な言い回しなどに慣れてしまっていて、 何の気もなしにその文をスルーできるからです。


このホームページはOracleの学習サイトではありません、が...
このホームページはOracleの学習サイトではありませんが、上記のような経験をしながら5年以上 もの間、Oracleの門前で足踏みをしていた私がようやく動き出すことが できた瞬間のコツや手順、段取りなどの経験を残してあります。これらの経験が 私と同じような思いをしている人たちの役に立てれば幸甚です。


「経験のコンテキスト」
マニュアルが理解できないのは、あなたの能力が欠けているからではありません。 説明する側の日本語の 表現力のなさ、説明の段取りの悪さ、図式化・視覚化のセンスのなさや怠慢が原因であることが殆どです。 どうすれば理解できるのか? このサイトで重要視しているのは、「経験のコンテキストを積み上げること」です。
例えば、あなたがINSTR関数について勉強しようとしているとします。 多くの本やwebサイトには、こう書かれています。
  INSTR ( string , substring [, position [, occurence]] )
しかしOracle実験室のサイト内には、このような構文や一般式のようなものはほとんど見当たりません。 実際にコマンドを打ち、どのような結果になったかを見てみるという経験を重視しています。構文や一般式で 勉強したいという人はよそでやってください。 だいたい、ダラダラとした長い説明の中にボソッと書かれている例文やコマンドをそのまま使っても、 大概うまくいきません。大切な前提が抜け落ちていることが多いのです。
良い例があります。Oracleのセキュリティ機能のひとつに監査証跡というのがあります。 Oracleデータベースを操作した記録を残す機能ですが、これにはいくつかのオプションがあり、 ログ(記録)をデータベースに残すか、ファイルに出力して残すかの設定を管理者が行わなければなりません。
例えば現在、監査記録(ログ)がファイルに保続されるようになっているとして、 これをデータベースに残すように設定変更するように言われたとしましょう。あなたは、webサイトや 参考書をひっくり返し、次のようなコマンドの発行をすれば良いという記事を発見しました。

  ALTER SYSTEM SET audit_trail=db

これを読んだあなたは、早速これを試してみます。するとどうでしょう。

SQL> ALTER SYSTEM SET audit_trail=db; ALTER SYSTEM SET PROCESSES=400 * 行1でエラーが発生しました。: ORA-02095: 指定した初期化パラメータを変更できません。 SQL>


こんな調子です。「なんだ、できないじゃん」となります。 じつは、これには工夫が必要で、実際には次のようにします。

SQL> ALTER SYSTEM SET audit_trail=db SCOPE=SPFILE; システムが変更されました。 SQL>


これだとうまくいきます。しかし、ここまで触れてくれる解説は稀です。
なんだ、できないじゃん」 となる。だから、実際の経験に 基づいた記録が、私には必要だったのです。
「結果を焦ってはならない」とか、「意味もわからずコマンドを発行してはならない」といった説教には、 (時と状況にもよりますが)耳を貸してはなりません。 やってみるところからスタートするのです。


永遠に初心者で
いかにも順調に、すらすらとOracleを習得してきたような顔をして、 なかなか部下にコツや使い勝手を伝授しようとしない上司や先輩たちの心境を察しましょう。 彼らには彼らなりの事情やポリシーってものがあるのです。 たぶん。 
    しかし我々はよく肝に銘じましょう。
    □ ベテラン面した時点で、すでに成長が止まっていると理解しましょう。
    □ Oracleを始めたときの不安や迷いを忘れないようにしましょう。
    □ 後輩に対しては、ただの「教えてくん」なのか、「とっかかりを掴ませる必要があるだけ」なのか見極めましょう。
    □ その上で、惜しみなく教えましょう。相手の不安を取り除きましょう。
    □ 慢心に陥るまいと自分に常に言い聞かせましょう。
    □ 慢心に陥らないようにするために、常に「私は初心者だ」とも言い聞かせましょう。
    □ 嫌いな先輩を反面教師にしましょう。そう考えれば、誰にでも存在する価値があるのだと判ります。
    □ 解けたときの、理解に到達した瞬間の喜びを素直に表現しましょう。 忘れないために。

 まず、入門前で足踏みしている人は、このサイトの実験番号No007〜0009、0013を参考にOracle構築し、 このページのスクリプトでデータベースにデータを投入してください。 もっともつらいのは、入門のその瞬間です。

あなたのOracleを使った業務の成功と、あなたとあなたの顧客の幸運を祈ります。
dicdicより



Home − 管理人からのメッセージ

© 2011-2011   Amateur Laboratory of ORACLE
inserted by FC2 system