Oracle Database 26ai 完全削除手順:deinstallコマンドの使い方

26ai

Oracle アンインストールを安全かつ確実に行う方法を探していますか? rm -rf での手動削除は、設定ファイルやインベントリ情報が残留し、再インストール時のトラブル原因になります。公式ツールの deinstall を使用すれば、整合性を保ったきれいな環境リセットが可能です。

本記事では、Oracle Database 26ai Free (Linux) を例に、完全削除手順をログ付きで解説します。

Note: 本記事の手順は Oracle Database 19c / 21c / 23ai など、他バージョンでも基本的に共通です。また、本検証は 26ai Free 版で行っています。将来の正式版(Enterprise Edition 等)では、一部のパスや画面挙動が若干異なる可能性があります。

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

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

結論:Oracle Database 削除の最短ステップ

deinstall コマンドを使用した削除の全体像は以下の通りです。

  1. 事前準備: データベースおよびリスナーの停止、バックアップ取得。
  2. ツール実行: $ORACLE_HOME/deinstall/deinstall を実行。
  3. 対話入力: リスナーやデータベース名の確認に応答(基本は Enter 連打)。
  4. 事後処理: 画面指示に従い、root ユーザーで構成ファイルやディレクトリを削除。

1. deinstall ツールとは?

仕組みとメリット

deinstall は、Oracle Database 11gR2 から導入された削除専用ツールです。以前のバージョンでは OUI(Oracle Universal Installer)を使用していましたが、現在は $ORACLE_HOME 配下に配置されているこの単体ツールを使用するのが標準です。

  • 何をしてくれるか: ソフトウェアバイナリの削除、セントラルインベントリ(oraInventory)の更新、リスナー設定の削除、/etc 配下の構成ファイル(oratab 等)の削除指示。
  • 注意点: データベースファイル(データそのもの)も削除対象となるため、必要なデータは事前に必ず Data Pump (expdp)RMAN でバックアップしてください。

2. アンインストール手順と実行例

ここでは、Oracle Linux 環境上の Oracle Database 26ai Free を例に、実際のログベースで手順を解説します。

手順①:環境変数の確認とツールの起動

作業はインストール所有者(通常 oracle ユーザー)で行います。

# 1. ユーザーの確認
[oracle@19c-gg23ait ~]$ whoami
oracle

# 2. ディレクトリの移動(ORACLE_HOME配下のdeinstallへ)
[oracle@19c-gg23ait ~]$ cd $ORACLE_HOME/deinstall
[oracle@19c-gg23ait deinstall]$ pwd
/opt/oracle/product/26ai/dbhomeFree/deinstall

# 3. ツールの実行
[oracle@19c-gg23ais deinstall]$ ./deinstall

手順②:対話モードでの設定確認

ツールが起動すると、構成チェックが走り、いくつかの質問が表示されます。角括弧 [] 内がデフォルト値です。変更がなければそのまま Enter キーを押します。

実行ログの解説:

Checking for required files and bootstrapping ...
Please wait ...
Location of logs /tmp/deinstall2026-01-26_09-57-39AM/logs/

############ ORACLE DECONFIG TOOL START ############

## (中略:ホームディレクトリやインベントリの場所が自動検出されます) ##

Network Configuration check config START
# リスナーの削除確認。デフォルトで検出された [LISTENER] を削除対象とします。
Specify all Single Instance listeners that are to be de-configured. Enter .(dot) to deselect all. [LISTENER]: 
Network Configuration check config END

Database Check Configuration START
# 構成済みデータベース名のリスト。自動検出された場合はここに表示されます。
Specify the list of database names that are configured in this Oracle home []:
Database Check Configuration END

####################### DECONFIG CHECK OPERATION SUMMARY #######################
Oracle Home selected for deinstall is: /opt/oracle/product/26ai/dbhomeFree
Inventory Location where the Oracle home registered is: /opt/oracle/oraInventory
Following Single Instance listener(s) will be de-configured: LISTENER

# 最終確認です。'y' を入力して実行します。
Do you want to continue (y - yes, n - no)? [n]: y

手順③:削除処理の進行と完了

y を入力すると、リスナーの停止・削除、データベース構成の解除、ソフトウェアの削除が自動的に進行します。

De-configuring listener: LISTENER
    Stopping listener: LISTENER
...
Listener de-configured successfully.
...
Oracle database home OraDBHome26aiFree is de-configured successfully.

############ ORACLE DEINSTALL TOOL START ############
# (中略:ここからOUIによるバイナリ削除フェーズ)
Detach Oracle home 'OraDBHome26aiFree' from the central inventory on the local node : Done
Delete directory '/opt/oracle/product/26ai/dbhomeFree' on the local node : Done

手順④:rootユーザーによる残骸のクリーンアップ(重要)

プロセスの最後に、権限不足で削除できなかったディレクトリや、システム全体の設定ファイルの削除指示が表示されます。これらは root ユーザーで手動実行する必要があります。

ログに出力される指示:

Run rm -r /etc/oraInst.loc as root on node(s) 19c-gg23ais at the end of the session.
Run 'rm -r /opt/ORCLfmap' as root on node(s) '19c-gg23ais' at the end of the session.
Run 'rm -r /etc/oratab' as root on node(s) '19c-gg23ais' at the end of the session.
Review the permissions and contents of '/opt/oracle' on nodes(s) '19c-gg23ais'.
If there are no Oracle home(s) associated with '/opt/oracle', manually delete '/opt/oracle' and its contents.

実際の実行コマンド: 別のターミナルを開くか su - して実行します。

[oracle@19c-gg23ais deinstall]$ su -
Password: 
[root@19c-gg23ais ~]# rm -rf /etc/oraInst.loc
[root@19c-gg23ais ~]# rm -rf /etc/oratab
[root@19c-gg23ais ~]# rm -rf /opt/ORCLfmap
# /opt/oracle 配下が空、または不要であることを確認して削除
[root@19c-gg23ais ~]# rm -rf /opt/oracle

注意: /opt/oracle を削除する際は、同一サーバー内に他の Oracle 製品(Clientなど)がインストールされていないことを必ず確認してください。

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

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

3. トラブルシューティング (ORAエラーなど)

アンインストール中に発生しやすい問題と対処法です。

エラー・現象原因と対処
Failed to delete directory …権限不足またはファイル使用中。多くの場合は root 権限が必要なファイルが含まれているためです。ツール終了後に root ユーザーで手動 rm すれば問題ありません。
Device or resource busyプロセスが残っている。fuser -u /u01/app/oracle 等でアクセス中のプロセスを特定し、kill してから再試行してください。
リスナーが停止しないlsnrctl stop コマンドで手動停止してから deinstall を再実行してください。

4. 参考:Windows 環境での削除手順

Windows の場合も基本的な流れは同じですが、コマンドや事前準備が異なります。

  1. 事前準備:
    • データベースを停止します。
    • Windows の「サービス」管理ツール(services.msc)から、Oracle 関連サービスOracleServiceORCLOracleOraDB...TNSListener 等)をすべて停止します。
  2. ツールの起動:
    • コマンドプロンプトを「管理者として実行」で開きます。
    • cd %ORACLE_HOME%\deinstall に移動します。
    • deinstall.bat を実行します。
  3. 実行:
    • Linux 版と同様に対話モードが進みます。
    • 最後にレジストリキーやサービスの削除も自動で行われます。
  4. 残骸処理:
    • サーバー再起動後、C:\Program Files\Oracle%ORACLE_HOME% フォルダが残っている場合は、エクスプローラから手動で削除します。

5. FAQ:よくある質問

Q1. インストールに失敗した環境でも deinstall は使えますか?

A. はい、使えます。 インストールが途中終了した場合でも、oraInventory に情報が書き込まれている場合があります。手動でフォルダを消す前に、まず deinstall の実行を試みてください。これによりクリーンな状態に戻せます。

Q2. 削除中に「指定されたホームにデータベースが見つかりません」となります。

A. /etc/oratab の登録を確認してください。 手動でデータベースを作成した場合など、oratab にエントリがないとツールが DB を認識しないことがあります。その場合はプロンプトでデータベース名を明示的に指定するか、バイナリ削除のみを進めてください(データファイルは後で OS コマンドで削除)。

Q3. Client(クライアント)の削除手順も同じですか?

A. 基本的に同じです。 Oracle Client の場合も $ORACLE_HOME/deinstall/deinstall を実行します。データベース削除のプロセスがスキップされるだけで、流れは共通です。

まとめ

Oracle Database の削除は、必ず deinstall コマンド を起点に行いましょう。

  1. $ORACLE_HOME/deinstall/deinstall を実行する。
  2. 対話モードで y を回答し、自動削除を待つ。
  3. 最後に表示されるパスを root ユーザーで手動削除する。
  4. /etc/oratab/etc/oraInst.loc の削除を忘れない。

この手順を守ることで、次回のインストール時に「以前の設定が邪魔をしてエラーになる」という事態を防ぐことができます。

[参考]
Oracle削除ツール(deinstall)

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

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

コメント

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