Oracle 表空間清理 及 數據庫重裝

本地創建數據庫的表空間過大,磁盤空間不足,需要刪除用戶和表空間後進行重建:

首先導入每個用戶下的對象和對應的數據:

exp 用戶名/用戶密碼@實例名file= E:\xxx.dmp

使用exp命令導出的文件中,如果表爲空表,則不會導出,所以最終重新導入後,會缺表。

所有需要首先在PLSQL>tools下,導出所有的用戶對象,創建時,也首先創建用戶用戶,然後再導入數據,會避免少表的問題。

  1. 刪除用戶
DROP USER XXX CASCADE ;

DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
  1. 本地有有三個用戶,其中一個刪除時報錯,另外兩個正常,報錯信息爲,無法刪除當前連接的用戶。如圖:

 

處理步驟如下:

先查詢對應的會話ID

Select username ,sid ,serial# from v$session;

 

 

然後找到想要刪除的用戶:

Alter system kill session ‘92,225’;


 

再次執行用戶刪除命令,可以成功執行:

 

刪除掉對應的表空間後,數據庫的根目錄只減少了一半,仍有10多G,此時只能卸載重裝。

本機爲win10,在搜索框中輸入universal Installer ,找到oracle的卸載程序,進入刪除產品頁面:

 

執行,報錯,提示需要到對應的目錄下執行刪除功能:

 

找到11g對應的deinstall.bat 腳本,執行,中間會有詢問,一直回車:

 

 

運行完後,執行手動刪除app根目錄,卸載完成。

 

  1. 重新安裝數據庫,並創建用戶,導入數據:

需要首先看導入的用戶對象中,用到的表空間是否是系統表空間,如果不是系統表空間,需要首先創建表空間後,再用PLSQL的command 界面執行sql文件。

創建表空間:

create tablespace tablespace_name

logging

datafile

'D:\app\Administrator\oradata\實例名\tablespace_name.DBF'

size 50m -- 根據文件數據量進行調整

autoextend on 

next 50m

extent management local ;

導入sql文件:

 

完成。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章