程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 如何徹底刪除Oracle數據庫,以創建相同實例名稱的庫

如何徹底刪除Oracle數據庫,以創建相同實例名稱的庫

編輯:Oracle教程

如何徹底刪除Oracle數據庫,以創建相同實例名稱的庫


今天建庫時選擇了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,就可以創建相同實例名稱的數據庫了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved