Oracle中手動刪除資料庫教程_oracle

來源:互聯網
上載者:User

在很多情況下,或無法使用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步

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.