※以下の内容はがんばって動かそうとしたログ、なのですが、最終的にはちゃんとは動きませんでした。どういう理由だったかは詳しく覚えてなくて申し訳ないです。かなり惜しいところまで行ったんですが。もし、DBD::OracleをMacで動かす件、うまく行った方がいらっしゃったら、ご連絡ください。よろしくお願いします。
あとでかく。ほんとにかく。
passwd
しなくてもsudo su - oracle
としてログイン可能だけど、システム環境設定のアカウントで見えない。ユーザーの削除が面倒なのでpasswd
した方が良さそう。
- なんでdsclしてるのかというと、uidとgidを600にしたいから、なのね。
- /etc/sysctl.confを作る。これは申し訳ないがコピペ。
- 以上の作業をして、reboot。起動時にカーネルパラメータが変更される。結構起動に時間がかかって焦るけど昼飯に行くなどするとよい。
sudo su - oracle
として、oracleユーザーになる
- .bash_profileを書いて、
. .bash_profile
として読み込む。
- ダウンロードしたdb.zipを
sudo chown oracle:oinstall db.zip;mv db.zip ~oracle
として、oracleのホームディレクトリに持ってくる。そしてインストーラ起動。これでGUIのインストーラが起動する。
- GUIでのインストール時にDBも一緒に作るように書いてあったんだけど、後で作った方がいい気がした。どうにも作ったDBが起動出来なかったもんでな。
- GUIの最後に
/Users/oracle/oracle/product/10.2.0/db_1/root.sh
をrootで実行しろといわれるので、そうする。これでソフトウェアのインストールは完了。
- DBのインストールを始める。その前に環境変数をセット。.bash_profileに追記して
. .bash_profile
する。
dbca
として、database configuration assistantを起動する
- 気をつけるのは、
- グローバル・データベース名: orclとすると、SIDがorclと自動で埋まるけど、どうも不整合が起きるっぽいので、SIDはORCLと大文字にしておく
- データベース・キャラクタ・セットをAL32UTF8にしておく
- デフォルト言語を英語にしておく(日本語だとsqlplusで入った時に文字化けた)
- 出来上がったらパスワードの設定をしろと言われるので、参考にしたページと同様、hrユーザーだけロックを外してパスワードをhrにした。
lsnrctl start
として、リスナーを起動する。
- $ORACLE_HOME/network/log/listener.logを眺めて、以下のような行が出てくるまで待つ。出てこなかったらなにかがおかしい。
- service_registerが走ったら接続可能なので、
sqlplus hr/hr@127.0.0.1:1521/orcl
のようにして接続する。
- SQL>のプロンプトが出たら接続成功。
select table_name from tabs;
でテーブル名の一覧が見える。これはサンプルのスキーマについてきたやつ。うむ。うまくいった。exitで終了。
- lsnrctl stopでリスナーを停止。
- インスタンスを落とす。
- これで一旦終了。もういちど立ち上げるときは、以下の手順。
- .zshenvでORACLE_HOMEとDYLD_LIBRARY_PATHをセットして
source .zshenv
する
- この状態でmake testするとt/01base.tがOKになっていて、モジュール自体は使えることが分かる。接続出来てないからテストがこけてる。
- こけた。。。でもまぁ、接続出来てる訳だし、いいじゃんすか。
- あれ、Looks like you planned 383 tests but ran 382とな。planを間違えたかskipを間違えたか、みたいな話か。無視しよう。
- make installで完了。
- すると、こんなのがかける。
- ぐぐると、ふるいバージョンではDBD::OracleはMacには入らない的なことが言われてるのがたくさん見つかるけど、そんなことなかった。結構あっさり。
- 嵌ったのは、むしろDBの再起動の辺り。
- たぶん正しくない手順でやってる部分もありそうなので、突っ込みプリーズです。