本地創建數據庫的表空間過大,磁盤空間不足,需要刪除用戶和表空間後進行重建:
首先導入每個用戶下的對象和對應的數據:
exp 用戶名/用戶密碼@實例名file= E:\xxx.dmp
使用exp命令導出的文件中,如果表爲空表,則不會導出,所以最終重新導入後,會缺表。
所有需要首先在PLSQL>tools下,導出所有的用戶對象,創建時,也首先創建用戶用戶,然後再導入數據,會避免少表的問題。
- 刪除用戶
DROP USER XXX CASCADE ;
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
- 本地有有三個用戶,其中一個刪除時報錯,另外兩個正常,報錯信息爲,無法刪除當前連接的用戶。如圖:
處理步驟如下:
先查詢對應的會話ID
Select username ,sid ,serial# from v$session;
然後找到想要刪除的用戶:
Alter system kill session ‘92,225’;
再次執行用戶刪除命令,可以成功執行:
刪除掉對應的表空間後,數據庫的根目錄只減少了一半,仍有10多G,此時只能卸載重裝。
本機爲win10,在搜索框中輸入universal Installer ,找到oracle的卸載程序,進入刪除產品頁面:
執行,報錯,提示需要到對應的目錄下執行刪除功能:
找到11g對應的deinstall.bat 腳本,執行,中間會有詢問,一直回車:
運行完後,執行手動刪除app根目錄,卸載完成。
- 重新安裝數據庫,並創建用戶,導入數據:
需要首先看導入的用戶對象中,用到的表空間是否是系統表空間,如果不是系統表空間,需要首先創建表空間後,再用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文件:
完成。