AIX 6.0 OSで作成されたoracleインスタンス(oracle 10.2.0.4.0)を削除したい。ターミナルですべてのdbfファイルとctlファイルを削除できることはわかっていますが、これは最善の方法ではないと思います。私はそれを行うためのよりクリーンな方法である必要があると思います。
前もって感謝します。
AIX 6.0 OSで作成されたoracleインスタンス(oracle 10.2.0.4.0)を削除したい。ターミナルですべてのdbfファイルとctlファイルを削除できることはわかっていますが、これは最善の方法ではないと思います。私はそれを行うためのよりクリーンな方法である必要があると思います。
前もって感謝します。
回答:
ほとんどの処理を行うDBCAを使用してデータベースを削除できます。
または、以下のようにすることもできますが、これはデータファイル、REDOログ、制御ファイルを手動で削除するのと同じです。
sqlplus / as sysdba
startup mount exclusive restrict
exit
rman target /
drop database including backups noprompt;
exit
この後も、データベースに属するエントリを/ etc / oratabから削除し、init.ora / spfile、パスワードファイルを$ ORACLE_HOME / dbsから削除し、ログディレクトリ(adump、bdump、cdump、udump)をクリーンアップする必要があります。
DBCAを使用してデータベースを削除する場合は、次のようにします。
Oracle 10.2gインスタンスをOracleホームディレクトリから完全に削除する場合は、最初にoratabファイルでインスタンスを識別する必要があります。たとえば、このエントリは、testdb Oracleデータベースインスタンスが次のORACLE_HOMEに関連付けられていることを示しています。
testdb:/u01/app/oracle/product/11.2.0/db_1:Y
mydb:/u01/app/oracle/product/10.2.0/db_1:N
次に、削除するデータベースの環境を設定する必要があります。次に例を示します。
/usr/local/bin/oraenv
ORACLE_SID = [testdb] ? mydb
これで、Database Configuration Assistant(DBCA)を開始できます。
dbca
次に、削除するデータベース(mydb)を選択し、[完了]をクリックします。
サイレントモードで DBCAを使用してデータベースを削除することもできます。たとえば、単一インスタンスデータベースの場合:
dbca -silent -deleteDatabase -sourceDB <Oracle_Sid>
Oracleデータベースを削除すると、データベース内のすべてのデータが削除されます。たとえば、とりわけ、このアクションは以下を削除します:
1)このクエリの結果であるすべてのファイル(mydbの場合):
SELECT name FROM v$datafile
UNION
SELECT name FROM v$controlfile
UNION
SELECT name FROM v$tempfile
UNION
SELECT member FROM v$logfile
2)oratabの mydbに関連付けられたエントリ
3)listener.oraおよびtnsnames.oraの mydbに関連付けられたエントリ
このデータを保持する場合は、削除する前にデータベースをバックアップしてください。
Oracle Database 11gリリース2(11.2)から、deinstallコマンドを利用できます。