A2oz

How to Delete an Oracle Database in Linux?

Published in Database Management 3 mins read

Deleting an Oracle database in Linux involves a few steps to ensure a clean and complete removal. Here's a breakdown of the process:

1. Stop the Oracle Instance

Before you can delete the database, you need to stop the Oracle instance associated with it. You can do this by using the srvctl command:

srvctl stop database <database_name>

Replace <database_name> with the actual name of your database.

2. Delete the Database Files

Once the instance is stopped, you can delete the database files. These files are typically located in the ORACLE_BASE/oradata/<database_name> directory. You can use the rm command to remove them:

rm -rf $ORACLE_BASE/oradata/<database_name>

This command will recursively delete all files and directories within the oradata directory for your database.

3. Drop the Database

After deleting the files, you need to drop the database from the Oracle instance. You can do this using the SQL*Plus command-line tool:

sqlplus / as sysdba
DROP DATABASE <database_name> INCLUDING CONTROLFILE;
EXIT;

This will remove the database definition from the Oracle instance.

4. Delete the Database Control File

The database control file is typically located in the ORACLE_BASE/admin/<database_name>/pfile directory. You can delete it using the rm command:

rm -rf $ORACLE_BASE/admin/<database_name>/pfile/init<database_name>.ora

5. Delete the Oracle Home Directory

After deleting the database files and control file, you can delete the entire Oracle home directory. However, this is not recommended unless you are completely removing Oracle from your system.

6. Restart the Oracle Instance

Finally, you can restart the Oracle instance to ensure that the database is completely removed.

srvctl start database <database_name>

Important Notes:

  • Always make a backup of your database before attempting to delete it.
  • This process assumes you have the necessary permissions to delete the database files and perform the required commands.
  • If you are unsure about any of these steps, consult the Oracle documentation or contact an Oracle support professional.

Example:

Let's say your database name is mydatabase. The commands would look like this:

srvctl stop database mydatabase
rm -rf $ORACLE_BASE/oradata/mydatabase
sqlplus / as sysdba
DROP DATABASE mydatabase INCLUDING CONTROLFILE;
EXIT;
rm -rf $ORACLE_BASE/admin/mydatabase/pfile/initmydatabase.ora
srvctl start database mydatabase

Related Articles