読み取り専用 ORACLE_HOMEとは?仕組み・構成・有効化手順を図解で解説!

Oracle Master Gold

Oracle 18c以降でサポートされ、19c以降では推奨構成とされている「読み取り専用 ORACLE_HOME(Read-Only Oracle Home)」。
これは、運用効率・セキュリティ・可搬性を飛躍的に高める新しい構成です。

この記事では、読み取り専用 ORACLE_HOME の仕組み・構成例・有効化手順(DBCA使用含む)までを、初心者の方にもわかりやすく解説します。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


🔰 ORACLE_HOMEとは?

Oracle Database をインストールすると、バイナリや構成ファイルなどが格納されるディレクトリが作成されます。
これが ORACLE_HOME です。

/u01/app/oracle/product/19.0.0/dbhome_1/
├── bin/
├── lib/
├── network/
└── rdbms/

従来はこの場所で構成ファイル編集やパッチ適用などをすべて行っていました。


💡 読み取り専用 ORACLE_HOMEとは?

読み取り専用 ORACLE_HOME とは、バイナリ配下の ORACLE_HOME を変更不可(読み取り専用)にし、変更ファイルやログを別ディレクトリへ分離する構成です。


📊 図で理解する構成の違い

◆ 従来構成

ORACLE_HOME
├── バイナリ
├── listener.ora などの設定ファイル
└── ログファイルなど(すべて同居)

◆ 読み取り専用構成

ORACLE_HOME(読み取り専用)
└── バイナリのみ

ORACLE_BASE_HOME(書き込み可能)
├── network/admin/ → listener.ora
├── dbs/ → spfile/init.ora
└── diagnostics/ → アラートログ、トレース

✅ メリットまとめ

項目内容
セキュリティORACLE_HOMEの保護、誤操作防止
運用効率パッチの一元化が可能(1バイナリで複数DB)
可搬性Docker等での展開が容易
バックアップ性バイナリ部分はスナップショット可能

⚠️ 注意点・落とし穴

項目内容
一度有効化すると戻せない無効化不可。戻すには再インストール
スクリプトの配置場所変更$ORACLE_BASE_HOME 配下に配置する必要あり
一部ツールでの非対応古いスクリプトなど要確認

🛠️ 読み取り専用 ORACLE_HOMEの有効化手順【公式フローに基づく】

以下は、Oracle公式の推奨手順に準拠した、読み取り専用 ORACLE_HOME の構成手順です。


① ソフトウェアのみの Oracle Database インストールを実行

インストールオプションで「ソフトウェアのみのインストール(Software Only)」を選択します。

$ ./runInstaller
→ 「ソフトウェアのみインストール」を選択

これにより、データベースはまだ作成されず、ORACLE_HOMEの準備だけが行われます


② roohctl -enable で読み取り専用化

以下のコマンドで ORACLE_HOME を読み取り専用構成へ切り替えます。

$ORACLE_HOME/bin/roohctl -enable

✅ 成功すると、構成ファイル・ログディレクトリが $ORACLE_BASE_HOME 配下に分離されます。


③ Oracle DBCA でデータベース作成

構成が完了したら、Oracle Database Configuration Assistant(DBCA) を使ってデータベースを作成します。

$ dbca
→ 通常通りのGUIまたはコマンドラインで作成可能

このタイミングで、設定ファイル類はすべて $ORACLE_BASE_HOME に生成されます。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


📁 ディレクトリ構成の変化(具体例)

読み取り専用有効前:
/u01/app/oracle/product/19.0.0/dbhome_1/network/admin/sqlnet.ora

読み取り専用有効後:
/u01/app/oracle/homes/OraDB19Home1/network/admin/sqlnet.ora

🔍 現在の構成確認方法

$ORACLE_HOME/bin/roohctl -status

出力例:

Read-Only Oracle Home is ENABLED

📌 Tips:構成パターン例

環境読み取り専用の利点
本番環境誤操作・改ざんを防止し安定運用を実現
複数DB運用共通ORACLE_HOMEによる管理一元化
Docker環境ベースイメージ最適化・差分保存が容易

✅ まとめ

項目内容
有効化の流れソフトウェアのみ → roohctl -enable → DBCAで作成
メリットセキュリティ・可搬性・パッチ一元化
対応バージョンOracle 18c以降(19c推奨)
注意点構成変更不可・ディレクトリ構成が従来と異なる


[参考]
読取り専用Oracleホームの有効化

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

タイトルとURLをコピーしました