程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle中手動刪除數據庫教程,oracle數據庫教程

Oracle中手動刪除數據庫教程,oracle數據庫教程

編輯:Oracle教程

Oracle中手動刪除數據庫教程,oracle數據庫教程


在很多情況下,或無法使用dbca工具的時候,我們需要手動來刪除數據庫。對此,可以借助drop database命令來實現,下面的描述中給出手動刪除數據庫。

的具體步驟,包含文件系統數據庫以及ASM數據庫。環境:Oracle Enterprise Linux 5.4 + Oracle 10g R2 .
 
一、手動刪除文件系統數據庫
 
    1.停止監聽與OEM

     復制代碼 代碼如下:
        $ lsnrctl stop listener_name
        $ emctl stop dbconsole
       

    2.獲得數據文件,日志文件及控制文件的相關信息,包含歸檔

     復制代碼 代碼如下:
        $ sqlplus / as sysdba
        SQL> select status,name from v$controlfile;   --獲取控制文件的位置信息
        SQL> select * from v$dbfile;                  --獲取數據文件的位置信息
        SQL> select * from v$logfile;                 --獲取日志文件的位置信息
        SQL> archive log list;                        --查看歸檔的sequence及位置信息
        SQL> shutdown abort;                          --因數據不再需要,直接shutdown abort
       

    3.啟動到 mount 狀態(使用exclusive restart)

    復制代碼 代碼如下:
        SQL> startup mount exclusive restrict;
       

    4.修改參數為允許受限的會話模式

    復制代碼 代碼如下:
        SQL> alter system enable restricted session;
       

    5.使用drop database命令來清除數據庫

    復制代碼 代碼如下:
        SQL> drop database;
        SQL> exit
       

    6.手動清除相關文件

    復制代碼 代碼如下:
        $ echo $ORACLE_SID    --確認當前的ORACLE_SID
        $ rm -rf $ORACLE_BASE/admin/$ORACLE_SID         --刪除oracle base目錄下的$ORACLE_SID的所有內容
        $ rm -rf $ORACLE_BASE/oradata/$ORACLE_SID       --oradata下的數據文件,根據前面的查詢,注意要刪除不同路徑下的數據文件
        $ rm -rf $ORACLE_BASE/arch/$ORACLE_SID          --清除歸檔日志,注意歸檔路徑的正確性
        $ rm -rf $ORACLE_BASE/flash_recovery_area/$ORACLE_SID   --清除閃回區的內容
        $ rm -rf $ORACLE_HOME/dbs/*$ORACLE_SID*                 --清除參數文件     */
       

    7.清除監聽相關文件(建議)

    復制代碼 代碼如下:
        $ rm $TNS_ADMIN/*.ora    --如果設定了$TNS_ADMIN變量,否則刪除默認路徑下的監聽文件   */
        $ rm $ORACLE_HOME/network/admin/*.ora            */
      
    8.修改oratab文件以及.bash_profile
     復制代碼 代碼如下:
        $ vi /etc/oratab        --去掉實例相關的設置
        $ vi ~/.bash_profile    --去掉實例相關的設置
   

二、清除ASM數據庫

    對於ASM數據庫的刪除與文件系統數據庫的不同之處在於數據文件,控制文件,日志文件,參數文件等都是存放在ASM系統中,因此需要在ASM實例中做相應
    的動作來徹底清除數據庫。
  
    1.執行文件系統數據庫清除步驟3-4步(先要shutdown)
  
    2.使用drop database命令來清除數據庫(該命令將清除數據文件,日志文件,temp文件)
     復制代碼 代碼如下:
        SQL> drop database;
        SQL> exit
      
    3.連接到ASM實例
 復制代碼 代碼如下:
        $ export ORACLE_SID=+ASM
        $ sqlplus / as sysdba
   

4.清除殘余文件

        復制代碼 代碼如下:
        SQL> select name,file_number,group_number,file_incarnation from v$asm_alias; --查看文件,注意group_number表示位於不同的磁盤組
        SQL> alter diskgroup DG1 drop directory '+DG1/asmdb/file_name';              --可以使用方式來刪除需要刪除的文件
        SQL> alter diskgroup REV drop directory '+REV/asmdb/file_name';
        SQL> select name,file_number,group_number,file_incarnation from v$asm_alias;     --驗證刪除後的結果
       
        也可以使用下面的方式(asmcmd命令)來刪除殘余文件
        復制代碼 代碼如下:
        $ export ORACLE_SID=+ASM
        $ asmcmd
        ASMCMD> ls -l
        State    Type    Rebal  Unbal  Name
        MOUNTED  EXTERN  N      N      DG1/
        MOUNTED  EXTERN  N      N      REV/
        ASMCMD> ls -s
        Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Name
           512   4096  1048576      3067     2974                0            2974              0  DG1/
           512   4096  1048576      2047     1996                0            1996              0  REV/
        ASMCMD> cd +DG1
        ASMCMD> ls
        ASMDB/
        ASMCMD> rm -rf ASMDB
        ASMCMD> ls
        ASMCMD> cd +REV
        ASMCMD> pwd
        +REV
        ASMCMD> ls
        ASMCMD> cd +  
        ASMCMD> ls -s
        Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Name
           512   4096  1048576      3067     3016                0            3016              0  DG1/
           512   4096  1048576      2047     1996                0            1996              0  REV/
      
        對於直接位於磁盤組下的文件則同樣可以使用rm命令來直接刪除文件 

 5.清除其它文件

        盡管數據文件,歸檔日志,聯機日志,臨時文件,參數文件都存放在ASM磁盤中,但dump文件,告警日志依然位於磁盤,需要手動清除
       
       復制代碼 代碼如下:$ echo $ORACLE_SID    --確認當前的ORACLE_SID
        $ rm -rf $ORACLE_BASE/admin/$ORACLE_SID         --刪除oracle base目錄下的$ORACLE_SID的所有內容
        $ rm -rf $ORACLE_HOME/dbs/*$ORACLE_SID*         --清除參數文件          */
        
6.執行文件系統數據庫清除步驟7-8步


oracle中怎刪除數據庫的實例

想徹底刪除的話,建議你還是用DBCA,這樣刪除的比較徹底,
跟這個實例相關的內容都會被刪除的!

開始——程序——Oracle10g——配置和移植工具—DBCA

進入DBCA後,選擇刪除數據庫,就會顯示你機器上的
所有實例數據庫,選擇要刪除的就OK
 

linux下怎手動刪除oracle數據庫

dbca有個裡面有個刪除數據庫的選項,用那個就可以!完全滿足! 而後我不知道你所說的不留痕跡是什麼需求! 你可以具體說一下嘛?
 

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