気まぐれオラクル備忘録<!-- --> | <!-- -->塩焼き太郎のブログ♪
塩焼き太郎のブログ♪

気まぐれオラクル備忘録

Posted: September 4, 2014

である。

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

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

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

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

「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からデータベースを起動する際の

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

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