この章では、Oracleホーム・ディレクトリからすべてのOracleのデータベース、インスタンスおよびソフトウェアを完全に削除する方法について説明します。内容は次のとおりです。
関連項目: Oracle RACインストールを削除する場合、詳細はOracle Clusterwareのインストレーション・ガイドおよびOracle Real Application Clustersのインストレーション・ガイドを参照してください。個別の製品を削除する場合、要件や制限は製品固有のドキュメントを確認してください。 |
Oracleホーム・ディレクトリからすべてのOracleデータベース、インスタンスおよびソフトウェアを完全に削除する手順は、次を実行する必要があります。
Oracleホームに関連付けられているすべてのインスタンスの識別
データベースおよび自動ストレージ管理インスタンスの削除
プロセスの停止
クラスタ同期化サービス・デーモンの再構成(必要な場合)
Oracleソフトウェアの削除
削除するOracleホームに関連付けられているすべてのインスタンスを識別するには、次のコマンドを入力します。
$ more /etc/oratab
このコマンドの出力には、次のようなエントリが含まれています。
+ASM:/u01/app/oracle/product/11.1.0/db_1:N CUST:/u01/app/oracle/product/11.1.0/db_1:N
これらのエントリは、+ASM
自動ストレージ管理インスタンスとCUST
Oracleデータベース・インスタンスが/
u01/app/oracle/product/11.1.0/db_1
Oracleホーム・ディレクトリに関連付けられていることを示します。
Oracle Configuration Managerをアンインストールする手順は、次のとおりです。
$ORACLE_HOME
ディレクトリにデータベースが含まれている場合は、次のスクリプトを実行してOracle Configuration Managerユーザーと関連オブジェクトをデータベースから削除します。
SQL> $ORACLE_HOME/ccr/admin/scripts/dropocm.sql
データベースがOracle E-Business Suiteのリポジトリである場合は、SYSDBA
ユーザーとしてデータベースにログインし、次のスクリプトを実行してデータベースから余分なオブジェクトを削除します。
$ORACLE_HOME/ccr/admin/scripts/ebs_dropccr.sql Oracle_Applications_User
データベースがOracle Grid Controlのリポジトリである場合は、SYSMAN
ユーザーとしてデータベースにログインし、次のスクリプトを実行してデータベースから余分なオブジェクトを削除します。
$ORACLE_HOME/ccr/admin/scripts/dropemrep_collect.sql
スケジューラを停止し、サービスまたはcrontab
エントリを削除するには、次のコマンドを入力します。
$ORACLE_HOME/ccr/bin/deployPackages -d $ORACLE_HOME/ccr/inventory/core.jar
次のコマンドを入力し、ccr
ディレクトリを削除します。
$ rm -rf $ORACLE_HOME/ccr
Oracle Configuration Managerが正常にアンインストールされました。
この項では、データベースを削除せずに、Oracle Application Expressのスキーマ、シノニム、およびユーザーをデータベースから削除する方法を説明します。データベースを削除する場合は、次の手順を実行する必要はありません。
Oracle Universal Installerを使用してOracleホームからOracle Application Expressを削除した後、データベースからOracle Application Expressのコンポーネントを削除できます。次の手順を実行します。
注意: データベースを以前のリリースからアップグレードして、Oracle Application Expressの以前のリリースを使用する場合は、次の手順を実行しないでください。 |
次のようにSQL*Plusを使用して、権限を持つユーザーSYS
としてデータベースに接続します。
$ $ORACLE_HOME/bin/sqlplus
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
次のコマンドを実行します。
SQL> ALTER SESSION SET CURRENT_SCHEMA = FLOWS_030000; SQL> EXEC wwv_flow_upgrade.drop_public_synonyms; SQL> ALTER SESSION SET CURRENT_SCHEMA = SYS; SQL> DROP USER FLOWS_030000 CASCADE; SQL> DROP USER flows_files CASCADE; SQL> DROP USER apex_public_user CASCADE;
Oracle Databaseソフトウェアを完全に削除するには、インストールされているすべてのデータベースを削除する必要があります。Oracleデータベースを削除する手順は、次のとおりです。
注意: Oracleデータベースを削除すると、データベース内のすべてのデータが削除されます。データを保存する場合は、削除する前にデータベースをバックアップしてください。 |
oracle
ユーザーとしてログインします。
$ su - oracle
削除するデータベースの環境を設定するには、oraenv
スクリプトまたはcoraenv
スクリプトを実行してください。スクリプトの実行例は次のとおりです。
Bourne、Bash、またはKornシェルの場合:
$ . /usr/local/bin/oraenv
Cシェルの場合:
% source /usr/local/bin/coraenv
プロンプトで、削除するデータベースのSID
を入力します。
Database Configuration Assistantを起動します。
$ dbca
ようこそウィンドウが表示されます。
「次へ」をクリックします。
操作ウィンドウが表示されます。
「データベースの削除」を選択し、「次へ」をクリックします。
削除するデータベースを選択して「終了」をクリックします。
表示されるウィンドウで、データベースの削除を確認します。
Database Configuration Assistantがデータベースを削除すると、別の操作を実行するかどうかのプロンプトが表示されます。「はい」をクリックすると「操作」画面に戻ります。「いいえ」をクリックすると、Database Configuration Assistantを終了します。別のデータベースを削除する場合、「はい」をクリックし、手順6から8を繰り返します。
注意: Oracleデータベースのインストールは、Oracleデータベースの削除を実行するのと同じOracle Universal Installerセッションからは実行できません。つまり、Oracle Universal Installerを使用してOracleデータベースを削除し、別のOracleデータベースをインストールする場合、Oracle Universal Installerの新規セッションを開始する必要があります。 |
Oracleデータベース・ソフトウェアを完全に削除するには、Oracleホームで実行中のすべての自動ストレージ管理インスタンスも削除する必要があります。自動ストレージ管理インスタンスを削除する手順は、次のとおりです。
必要に応じて、oracle
ユーザーとしてログインします。
$ su - oracle
削除する自動ストレージ管理インスタンスの環境を設定するには、oraenv
スクリプトまたはcoraenv
スクリプトを実行してください。スクリプトの実行例は次のとおりです。
Bourne、Bash、またはKornシェルの場合:
$ . /usr/local/bin/oraenv
Cシェルの場合:
$ source /usr/local/bin/coraenv
プロンプトで、削除する自動ストレージ管理インスタンスのSID
を入力します。
SYS
ユーザーとして自動ストレージ管理インスタンスに接続します。
$ $ORACLE_HOME/bin/sqlplus
SQL> CONNECT SYS as SYSASM
Enter password: SYS_password
次のコマンドを入力して、自動ストレージ管理インスタンスを使用中のOracleデータベース・インスタンスがあるかどうかを判断します。
SQL> SELECT INSTANCE_NAME FROM V$ASM_CLIENT;
このコマンドを実行すると、この自動ストレージ管理インスタンスを使用中のデータベース・インスタンスがすべて表示されます。
注意: このコマンドで表示されるのは、実行中のデータベース・インスタンスのみです。この自動ストレージ管理インスタンスには、実行中でない他のインスタンスが関連付けられている可能性があります。このOracleホームからデータベースを削除しても、このコマンドの出力にこの自動ストレージ管理インスタンスが他のOracleホームにあるデータベース・インスタンスをサポートしていることが示される場合は、自動ストレージ管理インスタンスまたはOracleホームを削除しないでください。 |
自動ストレージ管理インスタンスにデータベース・インスタンスが関連付けられていない場合は、このインスタンスに関連付けられているディスク・グループを削除します。
注意: 自動ストレージ管理ディスク・グループを削除すると、ディスク・デバイスが必要に応じて他の自動ストレージ管理インスタンスで使用可能になります。ただし、そのディスク・グループのデータはすべて失われます。ディスク・グループを削除する前に、そのデータを必要とする他のデータベース・インスタンスが存在しないことを確認してください。 |
自動ストレージ管理インスタンスに関連付けられているディスク・グループを識別します。
SQL> SELECT NAME FROM V$ASM_DISKGROUP;
削除するディスク・グループごとに、次のようなコマンドを入力します。
SQL> DROP DISKGROUP name INCLUDING CONTENTS;
次のコマンドを入力し、自動ストレージ管理インスタンスを停止します。
SQL> SHUTDOWN
/etc/oratab
ファイルから、自動ストレージ管理インスタンスのエントリを削除します。
Oracle Cluster Synchronization Services(CSS)は、自動ストレージ管理インスタンスの構成時にroot.sh
スクリプトで構成されるデーモン・プロセスです。このプロセスは、システム起動時にはいつも起動するように構成されています。また、Oracle自動ストレージ管理インスタンスとデータベース・インスタンスが同期するために必要なプロセスです。Oracleデータベースのデータベース・ファイルの記憶域に自動ストレージ管理を使用している場合、このプロセスは実行中である必要があります。
注意: Oracle RACがインストールされているクラスタ・システムでは、CSSデーモンはOracle Clusterwareのインストール時に構成されます。Oracle Clusterwareを実行中のシステムで、Oracle RACまたはOracle Clusterwareを削除する方法の詳細は、Oracle Real Application Clustersのインストレーション・ガイドを参照してください。 |
Oracle Database 11gのOracleホームを削除する前に、そのOracleホームから実行しているCSSデーモンの有無、およびシステム内のOracle Database 11gの別のOracleホームの有無を確認する必要があります。
削除するOracle Database 11gのOracleホームが、システムにインストールされている唯一のOracle Database 11gインストールである場合は、CSSデーモン構成を削除できます。
削除するOracle Database 11gのOracleホームでCSSデーモンが実行中であり、システムに他のOracle Database 11gのインストールが存在する場合は、Oracle Database 11gの別のOracleホームから実行するようCSSデーモンを再構成する必要があります。
次の各項では、それぞれのタスクの実行方法について説明します。
Oracle Database 11gのOracleホーム・ディレクトリをすべて識別するには、次のコマンドを入力します。
$ more /etc/oratab
出力から、Oracle Database 11gがインストールされているすべてのOracleホーム・ディレクトリを識別します。Oracle Database 11gを含むOracleホームのパスは、通常、次のようになります。ただし、異なるパスの場合もあります。
/mount_point/app/oracle/product/11.1.0/db_n
Oracle Database 11gを含むOracleホーム・ディレクトリが1つのみの場合、Oracle CSSデーモン構成を削除する方法の詳細は、「Oracle CSSデーモン構成の削除」を参照してください。
Oracle Database 11gを含むOracleホーム・ディレクトリが2つ以上存在する場合、Oracle CSSデーモンの再構成の詳細は次の項を参照してください。
削除されないOracleホームからOracle CSSデーモンが実行されるように再構成する手順は、次のとおりです。
システム上のすべてのOracleホーム・ディレクトリにおいて、すべてのOracle自動ストレージ管理インスタンスと、データベース・ファイルの記憶域に自動ストレージ管理を使用しているすべてのOracle Databaseインスタンスを停止します。
ユーザーをroot
に切り替えます。
次のコマンドを入力し、CSSデーモンの実行に使用されているOracleホーム・ディレクトリを識別します。
# more /etc/oracle/ocr.loc
このコマンドの出力は、次のようになります。
ocrconfig_loc=/u01/app/oracle/product/11.1.0/db_1/cdata/ \ localhost/local.ocr local_only=TRUE
ocrconfig_loc
パラメータは、CSSデーモンが使用するOracle Cluster Registry(OCR)の位置を指定します。cdata
ディレクトリまでのパスは、CSSデーモンが実行されているOracleホーム・ディレクトリとなります(この例では/u01/app/oracle/product/11.1.0/db_1
)。
注意: local_only パラメータの値がFALSE の場合、このシステムにはOracle Clusterwareがインストールされています。 |
関連項目: Oracle Real Applications ClustersまたはOracle Clusterwareを削除する方法の詳細は、Oracle Real Application Clustersのインストレーション・ガイドを参照してください。 |
このOracleホーム・ディレクトリが削除対象のOracleホームでない場合は、「Oracleソフトウェアの削除」に進んでください。
ディレクトリを、削除しないOracle Database 11gインストールのOracleホーム・ディレクトリに変更します。
このOracleホーム・ディレクトリのパスを指定するようにORACLE_HOME
環境変数を設定します。
Bourne、Bash、またはKornシェルの場合:
# ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_2; # export ORACLE_HOME
Cシェルの場合:
# setenv ORACLE_HOME /u01/app/oracle/product/11.1.0/db_2
次のコマンドを入力し、CSSデーモンがこのOracleホームから実行されるよう再構成します。
# $ORACLE_HOME/bin/localconfig reset $ORACLE_HOME
このコマンドは、Oracle CSSデーモンを停止し、新しいOracleホームで再構成した後に再起動します。システムが起動すると、CSSデーモンは自動的に新しいOracleホームから起動します。
元のOracleホーム・ディレクトリを削除するには、「Oracleソフトウェアの削除」を参照してください。
Oracle CSSデーモン構成を削除する手順は、次のとおりです。
注意: 他のOracle Database 11gインストールがCSSデーモン構成を必要としていないことが明確な場合のみ、削除を実行してください。 |
このOracleホームに関連するすべてのデータベース・インスタンスまたは自動ストレージ管理インスタンスを削除します。この手順については、前項を参照してください。
ユーザーをroot
に切り替えます。
ディレクトリを、削除するOracleホーム・ディレクトリに変更します。
このOracleホーム・ディレクトリのパスを指定するようにORACLE_HOME
環境変数を設定します。
Bourne、Bash、またはKornシェルの場合:
# ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1 # export ORACLE_HOME
Cシェルの場合:
# setenv ORACLE_HOME /u01/app/oracle/product/11.1.0/db_1
次のコマンドを入力し、このOracleホームからCSSデーモン構成を削除します。
# $ORACLE_HOME/bin/localconfig delete
このスクリプトは、Oracle CSSデーモンを停止し、構成を削除します。システムが起動しても、CSSデーモンは起動しなくなります。
次の手順では、Oracle Universal Installerを使用し、OracleホームからOracleソフトウェアを削除する方法について説明します。
注意: Oracleソフトウェアの削除には、常にOracle Universal Installerを使用してください。Oracleホーム・ディレクトリを削除する前には、必ずOracle Universal Installerを使用してソフトウェアを削除してください。 |
必要に応じて、oracle
ユーザーとしてログインします。
$ su - oracle
削除するOracleホーム・ディレクトリへのパスを指定するようにORACLE_HOME
環境変数を設定します。
Bourne、Bash、またはKornシェルの場合:
$ ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1 $ export ORACLE_HOME
Cシェルの場合:
% setenv ORACLE_HOME /u01/app/oracle/product/11.1.0/db_1
このOracleホームに関連するすべてのデータベース・インスタンスまたは自動ストレージ管理インスタンスを削除し、Oracle CSSデーモンを削除または再構成します。
この手順については、前項を参照してください。
このOracleホームで実行されているすべてのプロセスを停止します。
プロセス名 | コマンド |
---|---|
Database Control | $ORACLE_HOME/bin/emctl stop dbconsole |
Oracle Netリスナー | $ORACLE_HOME/bin/lsnrctl stop |
次のとおりOracle Universal Installerを起動します。
$ $ORACLE_HOME/oui/bin/runInstaller
ようこそウィンドウで、「製品の削除」をクリックします。
「インベントリ」画面が表示され、システムにあるOracleホームがすべて示されます。
「インベントリ」画面で削除するOracleホームと製品を選択し、「削除」をクリックします。
注意: Oracle JVMの削除を選択した場合、Oracle Universal InstallerはOracle Database 11gも含めOracle JVMに依存するインストール済の製品をすべて削除します。 |
Oracle Universal Installerは、製品とその依存コンポーネントの削除を確認するウィンドウを表示します。
「はい」をクリックします。
Oracle Universal Installerは、ソフトウェアの削除中にプログレス・インジケータを表示します。
「閉じる」をクリックして「インベントリ」画面を終了します。
製品が削除された後は、「取消」をクリックしてOracle Universal Installerを終了し、「はい」をクリックします。