気まぐれオラクル備忘録

である。

 

このブログで技術的なネタは正直ほとんど書いてこなかったので

そろそろ技術ネタというか、自己研鑽的に気まぐれに綴っていこうと思う。

正直、かなり初歩の初歩である。

 

今回の備忘録のタイトルは

「OEMからデータベース起動しようとしたら上手くいかなかったでござる」

 

はてさて、はじめていこう。

OEMからデータベースを起動しようとすると、以下の情報が求められる

  • ホストOSのユーザ名とパスワード
  • データベースの管理ユーザの名前とパスワード

これらを入力しokしたら以下のエラーが出た
RemoteOperationException: ERROR: NMO not setuid-root (Unix-only)

ぐぐってみると、どうやらソフトウェアをインストールした際に、インストール後半に実行するroot.shが正常に実行されていなかったか何かでNMOファイル所有者がrootになっていないのが原因みたい。

 

解決の流れ

1:root.shを再実行

2:nmoの所有者がrootに変更されたことを確認

3:OEMから起動

 

とまあ解決できた。ついでに、root.shってそもそも何するやつだっけと思い調べてみた。


■root.shの役割

・oratabファイルの作成

・oraenv,coraenvのコピー

■oraenvについて
複数のバージョンのデータベース、複数インスタンス複数oracle_homeなどが同じホストに存在する場合に、環境変数の切り替えを行う際に使用する
■oraenvとcoraenvの違い
oraenv : Bourne、BashまたはKornシェルの場合に使用
coraenv : Cシェルの場合に使用

■oratabファイル
oratabファイルにはデータベースごとに、Oracleソフトウェアを格納するディレクトリ、dbstartとdbshutスクリプトによる起動と停止の対象にするかどうかを指定する。
oratabファイルの中の記述
<ORACLE_SID>:<ORACLE_HOME>:[Y/N]

 

引用元
http://docs.oracle.com/cd/E16338_01/server.112/b56317/admin_ora.htm

 

という感じで、書生はOEMからデータベースを起動する際の

ちょっとしたトラブルシュート能力を身につけたのであった。

 

つづく(のだろうか。。。)