読者です 読者をやめる 読者になる 読者になる

09

再起動したらOracleが上がってこない・・・。

Cent OS 6.5 にインストールしていた Oracle 11g xe が再起動後復帰しない。

なんだかごたごたやったので経緯をめも。

VMを一度落として再起動したらOracleのインスタンスが起動していない
  1. そもそも XE ってどうやって起動するんだっけと思っていたら initd で管理しているみたいだったので、おもむろにservice oracle-xe status とやってみる。その結果に起動しているサービスが表示されるようなんだけど、いくつか起動しているのがいいるみたいだけどDBのインスタンスがない。
  2. Oracleのインスタンスって概念よく理解してないんだけど、「Oracle インスタンス 起動」とかでぐぐって出てきた方法でやってみようとするも、接続するだけでなにやらエラーをはく。確かストレージがいっぱいで監査ログが吐けないみたいな感じ。
ディスクが足りない
  1. df とか打って見ると使用率 100% なんで、仕方ないディスク拡張するかとなる
  2. vmware esxi 上で動いているものなので、esxiの管理画面上からディスクを増やす。しかしOS内から見て増えているわけではない。当然パーティションを拡張する必要がある。
  3. LVMとかいうので近頃は楽になってるんじゃないの?ということでやり方を探す。手順的には以下のようになるらしい
    • fdiskでLinux LVM の 追加パーティションをきる
    • LVMの物理ボリュームを上記のパーティションに作成する
    • 現在使用している論理ボリュームのボリュームグループに上記のボリュームを追加する
    • これで論理ボリュームは増えるので、ファイルシステムを増えたサイズに合わせて拡張する

まあ何とかなった

Oracleのユーザのパスワード期限が切れているとか言われる
  1. いつもSQL Develoer使っているんだけど、突然「200日以上前にsystemのパスワード有効期限切れてるぞ」といわれる。SQL Develoerからは変更させてくれないっぽい。多分前から切れてたんだろうけどなんでこのタイミングで怒られるのかはわからない。
  2. Application Express(Webから各種管理できるやつ)がなぜか起動できない・あるはリモートからアクセスできない
  3. 仕方ないのでターミナルでログインして、ORALCE_HOMEやらORACLE_SIDやらの環境変数を設定してsqlplusでログイン
  4. めでたくパスワード変更完了

多分パスワードの有効期限はインストール時に何とかしておいたほうが良いですね。いや、もちろん運用環境とかだとまた話は違うだろうけど(にしたってAPサーバなどからアクセスするアカウントに有効期限とか切られても困る気はするが)、開発用などの場合最初に設定する手順に含めておいたほうがよさそう。