本日は、Oracleの話である。

久しぶりにOracleを使うことになった。現在では、開発者用に「無料」で配布されている。バージョンは、11g。
Oracleのサイトに行ってみると、Express Editionがあったので、まずは、こいつをインストール。
Oracleのインストールは、なんだかんだで、えらく時間がかかるものと思っていたが、Express Editionは、30分くらいで、インストールできてしまった。いいね。

Oracleのダウンロード(Oracle11g Express)
http://www.oracle.com/technetwork/jp/database/express-edition/downloads/index.html

Oracleをインストールしたのは、VirtualBoxで動いているWindows XP。実メモリが4G。で仮想PCに割り当てたメモリが1.6G。Oracleってメモリをバカみたいに喰うので、大丈夫かなぁと心配していたが、Expressなら余裕で入るっぽい。
よし、よし、ともらってきたデータベースダンプをインポートすると...
あらら、エラーになってしまった。
なんか、列の大きさ以上にデータが入っているらしい。
えー、なんで?
Express Editionは、Charsetが「UTF-8のみ」になっている。ダンプデータはSJIS。なのでインポートするときに、SJIS->UTF-8変換が行われる。SJISをUTF-8に変換すると、データ量が増える。列がNCHARで定義されていればOKだったのだが、そうなってはいなかった。
うーん。残念。
Oracle10gのExpressだと、裏技でCharsetを変更できるらしいが、Oracle11g Expressでは無理っぽい。
しょうがないので、Oracle11gの方を入れる。

Oracleのダウンロード(Oracle11g)
http://www.oracle.com/technetwork/jp/database/enterprise-edition/downloads/index.html

相変わらず、重たいインストーラーだなぁこれ...。かれこれ、30分近くインストールが続いている。Expressならもう終わっている時間だが...
おお。ディスクが足りないエラーになってしまった。
なんだよ。始めっから計算しといてくれよ。
VirtualBoxに仮想HDDを追加する。40Gあればいいでしょ。
中途半端になったのは、どうすればよいのじゃ。まぁいいや、ほっておいて、Dドライブに入れてしまおう。
半日かけて、ようやくインストールできた。
はぁ。
いろいろあったが、インポートもできた。やはりCharset変換の問題であったか。
しかし、外部から接続できない、tnsnames.oraなどをいじくってみるものの、接続できる感じがない。前にインストールしたのがポート1521で、後でインストールしたのが、1522になっちゃっているのか...
直してみるが、一向に変化なし。ポート番号を変えて接続してみてもだめ。
あーん。ぐちゃぐちゃになってきた。
一度全部消して、もういちどクリーンインストールしないとだめか。
トホホ。
インストール中に冷静になって考えてみたら、接続できないのは、ファイアウォールじゃないの?
ということに気付いた。
Windows XPだから、当然ファイアウォール入っている。ホストOSの方のLinuxは内部サーバなので、ファイアウォールは外しているが、ゲストOSのWindows XPは普通にインストールしただけなので、ファイアウォールあり。
これか。
あー、結構大変。
Expressじゃない方のOracle11gはやはり重たい。メモリ1.6Gだとやはりつらいか。
インストールはなんとかできたものの、なかなか起動しない。どうもOracleDBConsoleがめちゃくちゃ重たい。perlやらjavaやらたくさんのプロセスを走らせている。何をそんなにやっているのだか...
OracleDBConsoleのサービスを停止させたところ、割と短時間で起動するようになった。
しかし、メモリももう少し増やしたいなぁ... Visual Studioもけっこうメモリ喰うのよねぇ... Oracle+Visual StudioでASP.NETってどんだけメモリ喰うのよ。勘弁して。
実メモリは4G積んでいるが、3Gしか認識していない。PAEのカーネルにしてみたがこれでもだめ。さらにPAEカーネルにすると、VirtualBoxが使えない(多分、インストールし直せばOKだと思われるが)
チップセットの限界で4G以上はメモリを積めない。マザー交換して、メモリを8Gくらい積んで64ビットのLinuxを入れるか。結構大変だなぁ。

WITH句と再帰クエリーの話【SQLで階層構造を扱う】

本記事は旧ブログ記事を再編集したものです。 WITH句 少し前から、WITH句というものが使えるようになっている。Oracleだと9iから使えるのか。割と昔からあるじゃない。 WI…

ProxmoxにOracle23cを入れてみる【OL9には入らない】

えーと今回はRDBMSにおける正規表現をやろうかと思ったのだが、Oracle入れないと動作検証できないなぁ... Oracle Cloudしばらく使ってないからデータベースインスタンス停…

投稿者プロフィール

asai
asai
システムエンジニア
喋れる言語:日本語、C言語、SQL、JavaScript