| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
26 | 27 | 28 | 29 | 30 | 31 | 1 | |||
2 | 3 | 4 | 5 | 6 | 7 | 8 | |||
9 | 10 | 11 | 12 | 13 | 14 | 15 | |||
16 | 17 | 18 | 19 | 20 | 21 | 22 | |||
23 | 24 | 25 | 26 | 27 | 28 | 29 | |||
30 | 1 | 2 | 3 | 4 | 5 | 6 |
1、shutdown normal
正常方式關閉數據庫。
2、shutdown immediate
立即方式關閉數據庫。
在SVRMGRL中執行shutdown immediate,數據庫并不立即關閉,
而是在Oracle執行某些清除工作后才關閉(終止會話、釋放會話資源),
當使用shutdown不能關閉數據庫時,shutdown immediate可以完成數據庫關閉的操作。
3、shutdown abort
直接關閉數據庫,正在訪問數據庫的會話會被突然終止,
如果數據庫中有大量操作正在執行,這時執行shutdown abort后,重新啟動數據庫需要很長時間
--------------------------------------------------------
shutdown abort 的時候,跟kill 進程是一樣的效果
數據庫立即關閉,這個時候文件狀態可能不一致
因為正常關閉數據庫會同步校驗各文件,使得重新啟動的時候文件時間點一致并且不用進行崩潰恢復
若檢查點信息一致,則做崩潰恢復
若檢查點信息不一致(正好在更新文件頭)則需要做介質恢復
這些問題都好處理,最怕的問題是這個時候系統有大量IO,結果這樣造成寫的突然中斷,碰巧造成文件塊的邏輯壞塊,那麻煩比較大一些,尤其是系統表空間的block損壞
雖然shutdown abort 出錯的幾率很小,1000個人可能只有一個人碰到,但是我們還是要小心。
正確的處理流程是,shutdown immediate ,若數據庫遲遲不能down下來,在os上觀察IO狀況,幾乎沒有io的時候,另開一窗口shutdown abort ,幾乎不會出問題了
--------------------------------------------------------
http://www.itpub.net/showthread.php?threadid=180315&pagenumber=
先用IMMEDIATE來DOWN,實在不行了,看一下數據庫文件上沒IO了,再用ABORT
------------------------------------------------------------------------------
你可以嘗試先在系統級殺掉非后臺Oracle進程,在連接shutdown immediate就安全多了
在Oracle8i里,當數據庫失去響應以后,你在操作系統上殺掉用戶進程后,一般數據庫就可以恢復正常了
-------------------------------------------------------------------------------
先 shutdown immediate 應該是首選
然后不行再重新shutdown abort
其實起不來也是因為os的緣故,在文件正在寫的時候出現問題導致文件不一致或者損壞……
這樣的錯誤。
mysqldump -u root -pMyPassword DbName --lock-tables=false > data.sql
SQL> startup
ORACLE instance started.
Total System Global Area 538514184 bytes
Fixed Size 451336 bytes
Variable Size 503316480 bytes
Database Buffers 33554432 bytes
Redo Buffers 1191936 bytes
Database mounted.
ORA-01113: file 26 needs media recovery
ORA-01110: data file 26: '/opt/ora9/product/oradata/NTDB/EXAMPLE02.dbf'
解決方法:
SQL> recover datafile '/opt/ora9/product/oradata/NTDB/EXAMPLE02.dbf'
ORA-00279: change 244674111 generated at 09/24/2013 15:20:41 needed for thread
1
ORA-00289: suggestion : /opt/ora9/product/oracle/dbs/arch1_1123.dbf
ORA-00280: change 244674111 for thread 1 is in sequence #1123
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
Log applied.
Media recovery complete.
SQL> alter database open;
Database altered.
oracle9i在進行數據庫全庫備份時出現如下錯誤:Connected to: Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.8.0 - Production
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set
About to export the entire database ...
. exporting tablespace definitions
EXP-00008: ORACLE error 1187 encountered
ORA-01187: cannot read from file 201 because it failed verification tests
ORA-01110: data file 201: '/opt/ora9/product/oradata/NTDB/temp1.dbf'
EXP-00000: Export terminated unsuccessfully
從上面的錯誤信息可以看出是temp臨時表空間的數據文件有問題,解決辦法:
1、刪除臨時表空間: alter database tempfile '/opt/ora9/product/oradata/NTDB/temp1.dbf' drop;
2、重建數據文件:
alter tablespace temp add tempfile '/opt/ora9/product/oradata/NTDB/temp01.dbf' size 512M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;
通過上述兩個步驟就可以解決在進行數據庫備份時出現的ORACLE error 1187 encountered錯誤。