一、錯誤分析 1、首先本人在出現這種情況的背景是執行如下SQL語句後生成的表空間 但!!!有時候因為你的表空間名和文件名不那麼友好。這時候你很愉快的使用shirt+delete永久刪除(當然,這是我的習慣,如果刪除回回收站直接還原就沒有那麼多麻煩事了)。 那如果這樣子你會發現你再次重新連接回Orac ...
一、錯誤分析
1、首先本人在出現這種情況的背景是執行如下SQL語句後生成的表空間
1 --自定義表空間 數據表空間 臨時表空間 2 CREATE TEMPORARY TABLESPACE HOUSE_TEMP 3 TEMPFILE 'D:\OracleData\HOUSE_TEMP.DBF' 4 SIZE 32M 5 AUTOEXTEND ON 6 NEXT 32M 7 MAXSIZE 2G 8 EXTENT MANAGEMENT LOCAL; 9 10 CREATE TABLESPACE HOUSE_DATA 11 LOGGING 12 DATAFILE 'D:\OracleData\HOUSE_DATA.DBF' 13 SIZE 32M 14 AUTOEXTEND ON 15 NEXT 32M 16 MAXSIZE UNLIMITED 17 EXTENT MANAGEMENT LOCAL;
但!!!有時候因為你的表空間名和文件名不那麼友好。這時候你很愉快的使用shirt+delete永久刪除(當然,這是我的習慣,如果刪除回回收站直接還原就沒有那麼多麻煩事了)。
那如果這樣子你會發現你再次重新連接回Oracle的時候,恭喜你,遇到好東西,報錯——ORA-01033: ORACLE initialization or shutdown in progress
如果出現這個錯誤,如果你是大牛,你很淡定的解決掉了。可是!!!!你如果跟我一樣是一個剛入門的菜鳥,你會緊張到懷疑人生,畢竟對於Oracle配置的錯誤,你只能說OMG。
別慌,小志帶你上車,親測有效。
2、解決辦法
a:首先嘗試使用Oracle的例用線程操作資料庫
1 #此為cmd命令,使用管理員運行 2 sqlplus /nolog
b:使用sysdba角色連接
1 SQL> user/ui as sysdba
c:使用如下命令刪除你的表空間
1 SQL> alter database datafile 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/TSTEST001.DBF' offline drop; 2 SQL> alter database open; 3 SQL> drop tablespace CTBASEDATA;
d:使用以上指令重覆使用直到提示你的那個數據文件不存在
e:在使用這個常式後記得退出你的常式,不然你就gg
SQL > exit
3、再次連接後發現你能夠連接資料庫了,是不是很嗨森,別急,你查看下你的原來的文件夾,雖然刪除了你的數據文件,但是你的臨時文件還存在。帶有*temp.DBF的文件,這是你創建的臨時表空間,記得同時刪除掉,在命令行使用如下指令刪除
SQL > alter database tempfile '你臨時文件路徑' drop including datafiles
4、刪除完最好重啟下電腦,這樣Oracle就可以安全使用了,最後囑咐大家,數據有風險,建表需謹慎。
附:
創建用戶指令
--創建用戶 CREATE USER HOUSE IDENTIFIED BY HOUSE_DATA DEFAULT TABLESPACE HOUSE_DATA TEMPORARY TABLESPACE HOUSE_TEMP;
修改用戶密碼指令
alter user 用戶名 identified by 新密碼