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 コマンドを使用した削除の全体像は以下の通りです。
- 事前準備: データベースおよびリスナーの停止、バックアップ取得。
- ツール実行:
$ORACLE_HOME/deinstall/deinstallを実行。 - 対話入力: リスナーやデータベース名の確認に応答(基本は Enter 連打)。
- 事後処理: 画面指示に従い、
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 の場合も基本的な流れは同じですが、コマンドや事前準備が異なります。
- 事前準備:
- データベースを停止します。
- Windows の「サービス」管理ツール(
services.msc)から、Oracle 関連サービス(OracleServiceORCL、OracleOraDB...TNSListener等)をすべて停止します。
- ツールの起動:
- コマンドプロンプトを「管理者として実行」で開きます。
cd %ORACLE_HOME%\deinstallに移動します。deinstall.batを実行します。
- 実行:
- Linux 版と同様に対話モードが進みます。
- 最後にレジストリキーやサービスの削除も自動で行われます。
- 残骸処理:
- サーバー再起動後、
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 コマンド を起点に行いましょう。
$ORACLE_HOME/deinstall/deinstallを実行する。- 対話モードで
yを回答し、自動削除を待つ。 - 最後に表示されるパスを
rootユーザーで手動削除する。 /etc/oratabや/etc/oraInst.locの削除を忘れない。
この手順を守ることで、次回のインストール時に「以前の設定が邪魔をしてエラーになる」という事態を防ぐことができます。
[参考]
Oracle削除ツール(deinstall)
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?



コメント