会社のサーバーでORCLEを使用しています。
WORD、EXCEL等しか使ったことのない私にORACLEを勉強するよう指示を受けました。個人のPCで勉強したいのですが、どのようにしたらよいのか教えて頂けないでしょうか。
特に、
1. 個人のメインPCでORACLEの勉強は可能か?
(サーバーじゃないとダメなど。Windows Vista・XPなら可など。個人のメインPCでは非常に重たくなるため避けるなど。)
2.お勧めの教科書やテキストは何か?
3. お勧めのアプリケーションは何か?(Editionで可など。)
また、どのようなアドバイスでも構いませんので、情報をお願いします。
たとえば、
『10日でおぼえるOracle データベース 10g 入門教室』はどうとか。
『Bronze Oracle Database 10g(DBA10g)編』は、『同【SQL基礎I】編』をマスターしてから、とか、その逆とか。これらは、個人PCでは勉強できないとか、アプリのないpcは無理とか。実は、アプリは付属。とか。
何卒、よろしくお願いいたします。
DB の設計やチューニングを行うというレベルでしたら、実際のデータベースバージョンまで意識した
良いと思いますが、SQL を一から勉強するというレベルの話であれば、乱暴な話、他のDBでも構わない
と思います。
どんなDBでも、”SELECT * FROM table”は動きますから。
ただDBによって、関数やプロシージャは異なっているので、このレベルを扱うようになったら、同じDB
の方が良いとは思います。
あるDBを覚えてから他のDBへ移行する際に、その部分の違いを覚えればよいので、基本さえ押さえれば、
複数のDBを覚えるのはそうたいした話ではありません。
まぁ、最初から Oracle と分かっているのですから、あえて他のDBから入る必要はありませんが、
Oracleであれば 9i でも 10g でも、学習用途であれば、そう差異はないと思います。
私自身複数のDBを扱っていますが、一つ覚えれば複数扱うのはそうたいした話ではありません。
メモリが十分にある状態ならそれほど負荷として感じたことはありません。
現に今使っているマシーンはWindows Vista上でメモリ3.3GB、Core2Quad Q6600ですが特に問題は感じません。
心配ならばOracleを使ってないときはOracleのサービスを停止させることで対応すればよいかと思います。
Oracle10g XEでいえば普通にインストールするとOracleServiceXEとOracleXETNSListerという二つのサービスが実行中となるはずですので、これを停止させることでよいと思います。
もちろん、Oracleを使うときには逆に実行状態にする必要があります。
『例えば10g使うなら10g用の物を読む。』
『ORACLEはレジストリ汚しがひどいので、9i入れた、DB作った->やっぱり10gだった、って時に、9iをアンインストールすればいいかっていうと大間違いで、手作業であっちゃこっちゃ触らなければいけない羽目に陥ります。』
という点。危うく、いきなり混乱するところでした。
本日、こちらのシステムを作っている会社さんに確認しましたところ、10gとのことでしたので、
10g Expressをインストールしてみます。
『クライアントのインストールくらい管理者さんにやってもらっちゃだめですか?っていうか、マニュアルある気がします。CDもね。』こちらの件、私の会社のPCに導入しても良いのか確認してみます。(アカウントにお金がかかる云々言われるかもしれません。)
また、仮想デスクトップを使って、普段は操作をしていると言われたのですが…。
他社システムを解析する目的はないのですが、他社システムですので、触るのが恐ろしくなりました。
なお、このシステムを導入するのに、丸1日~2日ぐらいかかると言われていますため、簡単にシステムを導入するのは、難しそうです。
いろいろと教えていただきまして、ありがとうございます。
●社内に、システム管理部門は、恐らくあるのですが、私はその一員ではありません。
●会社にあるアプリは、社内に管理者がいるかは、不明です。
情報ネットワークさんの業務支援システム(アプリというのか、パッケージというのか、シ ステムというのか…。)ですので、もしかしたら社内にはいないかもしれません。
●ソフトサポートが何を指しているのか分からないのですが、その業務支援システムでは、サポートを受けています。
ご紹介、ありがとうございます。
会社で使用しているものが、ORACLE10g ということが分かりましたため、
早速導入を検討してみます。
ちなみに、最近、個人のPCを買い替えたのですが、(OSはwindows vistaです。)これをインストールしたことによって、このアプリを使用していないときにも動作が遅くなるのは、極力避けたいのですが、やっぱり動作は重たくなるものでしょうか。
まずは、管理者に頼んでOracle Clientをインストール可能か聞いてみます。
Accessは、ほとんど触ったことがないのですが、日経BPで勉強をしたことがあります。
http://ec.nikkeibp.co.jp/msp/TXT/title/access.shtml
書籍のお勧めありがとうございます。
まずは、入手してみます。
ただ、個人pcで自宅で勉強したいので、他にも良い図書があれば、
お勧めいただけると幸いです。
よろしくお願いいたします。
Oracle 10g XEはほかのエディションと比較するとフォルダー構成とかインターフェース周りが異なっているように見えます。
たまたま、自分の使っているOracleDatabaseの細かいバージョンが違っているのでそう見えるだけかもしれませんが……。
もっとも、データベースのエンジンとしてはほぼ同じようですのでたとえば、SQLDeveloperなどのツールを使ってデータベース操作する分には違いは意識する必要がなさそうです。
SQLDeveloperは同じくオラクルのOTNから無償ダウンロード可能です。とりあえず、純正のツールとして使ってみるとよいでしょう。細かい使い勝手でよくない部分もありますがデータベースの中身を参照したりデータを挿入したりという操作やSQLを発行するなどたいていのことはできます。
マシーンスペックですがCPUについてはデータ量が多くなければそれほど必要ないですがメモリについては積めるだけ積んでおいた方がよいでしょう。メモリ搭載量にもよりますが100MB近く持ってかれることを想定した方がよいでしょう。SQLDeveloperやほかのソフトも起動することを考慮すれば1GB以上にはしておきたいところです。
4年ほど前にPentium4 2.4GHz,512MBのマシーンでOracle 9iを手元のマシーンに入れてデバッグしたこともあるのでこれ以下でも動かないということはないですが大変不快です。
OSについてはWindows2000以降くらいならば問題ないはずです。実際にWindows2000Pro,XP Pro,Vista Ultimateで使ったことあります。
↑と基本的には同意見。
で、さらにそもそもの話で、
要するに、あなた以外のメインの担当がいて、現在「会社にあるアプリのDBがからデータを引っ張る事」がうまく回っている状態で「ORACLEを勉強しとけ」と言われたのなら、今後業務に携わる上での「ORACLEの基礎知識」を要求されているわけなので、他の方が回答しているようにExpress Editionと『10日でおぼえるOracle データベース 10g 入門教室』などの本またはWebサイトで学習するのがいいと思います。
ただ、そうでない場合、「会社にあるアプリのDBがからデータを引っ張る事」をあなたがメインで担当するのはかなり危険だと思います。
社内管理者や社外のサポート担当がいるのであれば、ますその人に「ある程度安全にデータが触れるような環境」を用意してもらう必要がありますし、そうでないならやろうとしていること自体無謀としか思えません。
というか、私自身そういうソフトサポートしてるのですが、勝手にそういうことやられると正直かなり迷惑ですし。
目的をお聞きする限り、データベースそのものの管理や開発ではなさそうなので、SQLをマスターすればよさそうです。
ですから、「ORACLE SQL入門 Oracle hand books 」はバッチリですが、
…これ、9iですよ?(しかもORACLE7の改題改訂版…)
SQLの本としては全然かまいませんが、例えば10g使うなら10g用の物を読むに越したことはありません。
ORACLEのHPは結構親切です。トピックスなんかも豊富。
でも、HP自体が読みづらい
http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpag...
そして簡単な講座ならネット上にもごろごろ転がっていたり。
http://jibun.atmarkit.co.jp/lskill01/rensai/bronzesql01/bronzesq...
…ですが、そもそも、目的は「会社にあるアプリのDBがORACLEで、そこからデータを引っ張る事」ですよね?
はたしてMOTONORIさんのPC単体にORACLEを導入し、勉強目的のDBを構築するのが良い方法なのでしょうか?
それよりは、どうせクラアイントをセットアップして、既存のDBのデータ見るのですから、
そちらに集中した方が早い&効率がいいのでは?
あと、下手にバージョンの違うORACLEは導入しない方がいいです。
ORACLEはレジストリ汚しがひどいので、9i入れた、DB作った->やっぱり10gだった、って時に、9iをアンインストールすればいいかっていうと大間違いで、手作業であっちゃこっちゃ触らなければいけない羽目に陥ります。
(それでも最近はのはまだマシです…8iのインストールがうまくいかず、システムから5回も入れなおした事もありました)
まずは、会社のシステム管理者にORACLEのバージョンを確認。これ最重要。(別に10g->9iに接続とかも可能ですけど)
そして、ORACLEの(サーバーでもいいけど)クライアントをセットアップ。
この「ORACLEのインストール」もまだのようですが、SQLでデータを触るのが目的なら、そこに力入れなくてもいいんじゃ…
クライアントのインストールくらい管理者さんにやってもらっちゃだめですか?っていうか、マニュアルある気がします。CDもね。
あと把握しなければいけないのってSQLを叩くためのデータの構造ですよね?
更にデータの内容を把握するためにはアプリ側の動きも知らなければいけない。
SEさんなら仕様を要求…となりますが、SEさんではないようなので、
アプリ(画面や帳票)を見て、ORACLEでデータを見て、と直接見比べるのが一番簡単。
会社のアプリが動く端末=ORACLEのクライアントが入っているのではないでしょうか。
SQLの勉強っても、いきなりテーブル作ったりUPDATEなんぞしないと思うので、SELECT叩くくらいなら既存のクライアントからでダメでしょうかね。
iSQL使ってもいいし、なんだったらDOSの画面からSQLPLUSでもいいし。
でも、いずれにせよDBにアクセスするサービスの設定やパスワードやユーザ名が必要。
やっぱりこれもシステム管理者に問い合わせなきゃいけないですよね。
更に一番気になったのが
>登録されているデータに誤りがあった場合、一括変換等できるようにする
アプリからではなく、DBを直接触るという事は、それを想定した造りでない限り(ガッチガチに外部キーで固めるとか)チェック機能が働きません。
例えば、電話番号を一括変換した時に、間違った変換をしてX-XXX-XX XXX…なんてなっちゃった。
UPDATEで一気に一括変換したから、どれがおかしいのかもうわからない。
画面から入力するときはXX-XXXXX-XXXXと自動で変換&おかしければチェックしてくれるけど、
手動で変なデータにしちゃったら、もう画面に表示もしてくれなくなっちゃった…
リアルタイムで運用しているDBにバックアップを戻せる訳もない…
…なんて事になりかねません。
こうした取り返しのきかない事にならないよう、テーブルの仕様&何を触ってよいのかを知っておく必要があります。
テーブルを直接触ってよいものか、はたまたビューで管理しているのか、権限はどうなっているのか、項目と項目の関連は…
目的であるDBを操作するために知っておかなければならない事が沢山あるかと思います。
まさか、そういった部分をブラックボックスのまま触らせよう…なんて事はないと思いますが…
他社システムを解析する目的とかでないかぎり、社内で入手できるはずです。
結局、どれだけSQLの構文を学ぼうとも、データの構造が知らなければ使えませんからね。
もし、ものすごくフリーに情報が入手できるなら、DBのバックアップや構築用のSQLをもらっちゃって、
自分の端末にプチサイズでDBを作っちゃう、というのが理想ではないでしょうか。
まあ、SQLだけだと結局「練習」するためには膨大なデータを自分で作らなくてはならなくて…なんて
直接実データを使った方が何倍も楽で効率が良い事になりますが;
会社の自分のPCからサーバにアクセス可能なら管理者に頼んで
Oracle Clientをインストールしてサーバにアクセスできるようにしてもらって
中を覗いてみるといいと思います
時間があればOTNで会員登録するとマニュアルがダウンロードできるので「Generic Doc」は目を通しておくのいいかと。MSより日本語がちゃんとしています
http://www.oracle.com/technology/global/jp/documentation/product...
OfficeのAccessを使用されたことがありますか?軽い作業であればOracleにリンクテーブルを作成して作業することも可能です。また、開発ではなく管理ということですがOracleはRDMBSですので概念としてSQLの理解をしておくことは無駄にならないと思います。個人PCにOracleをインストールしなくてもデータ操作の勉強はAccessでも十分可能です。
(デザインビューではなくSQLビューを使用)
SQLの勉強は↓の本がおすすめです
http://www.amazon.co.jp/%E6%94%B9%E8%A8%82%E6%96%B0%E7%89%88-SQL...
ありがとうございます。
こちらの情報は、概ね把握しておりました。
実は、こちらの図書を購入し、早速読み始めたところ、アプリすらついておらず、わたくしのPCには、ORACLEが入っていないことに気が付きました。
http://www.bk1.jp/product/02307845
そして、何をどうしたらよいのか、わからなくなってしまいました。
そこで、Oracle Database 10g Express Edition が最適なのかどうなのか、迷っているところなのです。
また、他に良い本があれば、ご紹介いただけると幸いです。
よろしくお願いいたします。
早速の回答ありがとうございます。
ORACLEについてですが、すでにDBは設計され、運用が各事業所で行われています。
そこで、そのORACLEを使う業務分野での管理者として(本社で勤務しているため、各事業所がシステムを使う際に困ったことをフォローする立場として、また集計・取りまとめする立場として、)ORACLEについて知っておき、ORACLEについて一般的な知識を蓄え、すでに登録してあるデータ全体を読めるようにすること。
可能であれば、そのシステムに標準で付いているものとは別に、自分のほしい形でデータをダウンロードすること、加工すること。
さらには、登録されているデータに誤りがあった場合、一括変換等できるようにすること
などが挙げられます。
何卒、よろしくお願いいたします。
ORACLEを勉強するよう指示――目的は何でしょう?
ORACLEの運用? DB設計? アプリ設計/製造? DB最適化?
「会社のサーバーでORCLEを使用」するアプリ運用を習得することが目的のような気もしますが‥‥
ともかく、これはビジネスの一環ですから、目的がはっきりしないと時間の浪費になります。
は無料で使えるので、自分のPCにインストールして好きなように試してみれば良いです。
http://journal.mycom.co.jp/news/2005/10/31/004.html
早く理解するには、とにかく自分で手を動かしていろいろと試してみることです。
データの集計、追加、更新、削除に関してはある程度操作できるレベルになると思いますが、
ローカルで学習するのであれば、テーブルの作成・削除、バックアップ、リストアといった
処理を実習してみた方がよいでしょう。
これによって、データの管理方法とその重要性に関しても、理解することができると思います。
蛇足ですが、最終的に実運用DBにアクセスする際には、操作範囲を含めて管理者に確認を取っておいた
方が良いかと思います。
特にデータの更新は、そのデータの影響範囲がどこまであるかを理解せずに修正を行うと、データとして
破綻する可能性もありますし、変更によってプロシージャが稼働する場合、予想しない影響もあり得ます。