oracle資料庫斷電後不能開啟的解決

2021-12-30 11:17:03 字數 2062 閱讀 2009

oracle資料庫斷電後不能開啟的解決

資料庫突然斷電後,不能開啟。或者偶爾能開啟,但是很快就關閉。

原因可能很多。但是解決問題只有一種辦法:看trace日誌,alert錯誤日誌

簡單寫下我的解決過程:

1,在alert日誌中:

www.2cto.com  

錯誤如下兩種:

ora-00600: internal error code, arguments: [4193], [1526], [1543], , , , ,

ora-00600: internal error code, arguments: [4194], [151], [543], , , , ,

2,檢視alert日誌:

[html] 

errors in file e:\oracle\product\10.2.0\db_1\admin\orcl\udump\orcl_ora_2540.trc:  

ora-00600: 內部錯誤**, 引數: [4194], [37], [26], , , , ,  

3,去檢視orcl_ora_2540.trc日誌檔案,

通過錯誤資訊確定當前出錯的回滾段:0~10,

4,修改pfile(注意儲存以前pfile):

加入如下**:

[html] 

*.undo_management='manual'(將auto修改為manual)  

_corrupted_rollback_segments=(_syssmu1$,_syssmu2$,_syssmu3$,_syssmu4$,_syssmu5$,_syssmu6$,_syssmu7$,_syssmu8$,_syssmu9$,_syssmu10$)  

5,現在輸入命令:

sql>startup;

就可以看到資料庫正常啟動了。

6,新建新的undo表空間

[html] 

create undo tablespace undotbs2  datafile 'd:\oracle\product\10.0.2\oradata\orcl\undotbs2.dbf';(自己的目錄)  

7,重定位到新的表空間:

[html] 

alter system set undo_tablespace=undotbs2;  

8,刪除舊的表空間:

[html] 

drop tablespace undotbs2;  

9,修改pfile,將undo_management 由手動改回自動,修改undo_tablespace指向新的表空間,去掉

www.2cto.com  

[html] 

_corrupted_rollback_segments=(_syssmu1$,_syssmu2$,_syssmu3$,_syssmu4$,_syssmu5$,_syssmu6$,_syssmu7$,_syssmu8$,_syssmu9$,_syssmu10$)  

修改如下:

[html] 

*.undo_management='auto'  

*.undo_tablespace='undotbs2'  

*.user_dump_dest='e:\oracle\product\10.2.0\db_1/admin/orcl/udump'  

10,輸入命令:

[html] 

startup pfile='.....ora'  

11,create spfile from pfile (注意備份)。( spfile = e:\oracle\product\10.2.0\db_1\dbs\spfileorcl.ora)

12,shutdown immediate;

13,startup ;ok

www.2cto.com  

一些有用的命令:

host lsnrctl status;檢視當前例程狀態

show parameter undo; 檢視當前使用的undo表空間

select segment_name, owner, tablespace_name, status  from dba_rollback_segs; 

ODBC API不能釋放Oracle資料庫連線

odbc api開啟資料庫連線,一般用 sqldriverconnect 關閉資料庫連線用 sqldisconnect 但是要精細控制,需要設定連線資料庫handle的屬性,比如比較普通的有版本號,超時時間等等。最近程式設計發現,用關閉資料庫還不能釋放。看樣子是釋放成功了,但用oracle的管理工具...

伺服器斷電,Oracle資料庫無法啟動解決方案

資料庫沒有備份的情況下,資料庫所在伺服器由於意外斷電,導致伺服器啟動之後,oracle資料庫startup報錯.1.資料庫沒開歸檔模式 2.無備份 解決方案 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 sql startup...

伺服器斷電,Oracle資料庫無法啟動解決方案

資料庫沒有備份的情況下,資料庫所在伺服器由於意外斷電,導致伺服器啟動之後,oracle資料庫startup報錯.1.資料庫沒開歸檔模式 2.無備份 解決方案 12 3456 78910 1112 1314 1516 1718 1920 2122 23sql startup mount sql rec...