今天建庫時選擇了OMF方式,結果文件名稱采用Oracle自動命名的方式,看不懂啊,於是乎決定刪除再重建。
Oracle提供了刪除數據庫的指令:drop database。
需要數據庫處於mount狀態,然後alter system enable restricted session;,網上有帖子說還需要exclusive,由於我是VM裝的,用戶只有我一個,所以不用可以。由於當前處於open狀態,需要改為mount,執行:
SQL> alter database close;
alter database close
*
ERROR at line 1:
ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected
原因是有個session仍連接,退出後再次執行,
SQL> alter database close;
Database altered.
SQL> select status from v$instance;
STATUS
------------
MOUNTED
SQL> alter system enable restricted session;
System altered.
SQL> select status from v$instance;
STATUS
------------
MOUNTED
SQL> drop database;
Database dropped.
此時alert.log記錄信息:
Create Relation ADR_CONTROL
Create Relation ADR_INVALIDATION
Create Relation INC_METER_IMPT_DEF
Create Relation INC_METER_PK_IMPTS
USER (ospid: 8748): terminating the instance
Instance terminated by USER, pid = 8748
Deleted Oracle managed file /opt/app/ora11g/oradata/BISAL/controlfile/o1_mf_9x4fgq77_.ctl
Deleted Oracle managed file /opt/app/ora11g/flash_recovery_area/BISAL/controlfile/o1_mf_9x4fgypb_.ctl
Completed: drop database
Shutting down instance (abort)
License high water mark = 2
Fri Jul 25 19:09:26 2014
Instance shutdown complete
到oradata路徑下看已經沒有任何文件了,那麼認為這個數據庫已經被刪除。
但再次執行dbca,企圖創建相同實例的庫時報錯:
雖然和bisal實例關聯的數據文件、日志文件等已經物理刪除了,但和這實例相關的配置文件沒有刪除,因此不能再次創建相同實例的庫。
此時需要手工刪除實例相關的配置:
1、刪除$ORACLE_BASE/admin/$ORACLE_SID所有目錄。
2、刪除$ORACLE_HOME/dbs下和SID相關的文件和參數文件,包括hc_bisal.dat,init.ora,lkBISAL,orapwbisal。
3、刪除/etc/oratab中和實例相關的部分。
4、可以在$ORACLE_HOME中執行find . -name bisal,刪除所有和實例相關的文件。
再次執行dbca,就可以創建相同實例名稱的數據庫了。