| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
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 | 31 | 1 | |||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
1、shutdown normal
正常方式關(guān)閉數(shù)據(jù)庫(kù)。
2、shutdown immediate
立即方式關(guān)閉數(shù)據(jù)庫(kù)。
在SVRMGRL中執(zhí)行shutdown immediate,數(shù)據(jù)庫(kù)并不立即關(guān)閉,
而是在Oracle執(zhí)行某些清除工作后才關(guān)閉(終止會(huì)話(huà)、釋放會(huì)話(huà)資源),
當(dāng)使用shutdown不能關(guān)閉數(shù)據(jù)庫(kù)時(shí),shutdown immediate可以完成數(shù)據(jù)庫(kù)關(guān)閉的操作。
3、shutdown abort
直接關(guān)閉數(shù)據(jù)庫(kù),正在訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的會(huì)話(huà)會(huì)被突然終止,
如果數(shù)據(jù)庫(kù)中有大量操作正在執(zhí)行,這時(shí)執(zhí)行shutdown abort后,重新啟動(dòng)數(shù)據(jù)庫(kù)需要很長(zhǎng)時(shí)間
--------------------------------------------------------
shutdown abort 的時(shí)候,跟kill 進(jìn)程是一樣的效果
數(shù)據(jù)庫(kù)立即關(guān)閉,這個(gè)時(shí)候文件狀態(tài)可能不一致
因?yàn)檎jP(guān)閉數(shù)據(jù)庫(kù)會(huì)同步校驗(yàn)各文件,使得重新啟動(dòng)的時(shí)候文件時(shí)間點(diǎn)一致并且不用進(jìn)行崩潰恢復(fù)
若檢查點(diǎn)信息一致,則做崩潰恢復(fù)
若檢查點(diǎn)信息不一致(正好在更新文件頭)則需要做介質(zhì)恢復(fù)
這些問(wèn)題都好處理,最怕的問(wèn)題是這個(gè)時(shí)候系統(tǒng)有大量IO,結(jié)果這樣造成寫(xiě)的突然中斷,碰巧造成文件塊的邏輯壞塊,那麻煩比較大一些,尤其是系統(tǒng)表空間的block損壞
雖然shutdown abort 出錯(cuò)的幾率很小,1000個(gè)人可能只有一個(gè)人碰到,但是我們還是要小心。
正確的處理流程是,shutdown immediate ,若數(shù)據(jù)庫(kù)遲遲不能down下來(lái),在os上觀(guān)察IO狀況,幾乎沒(méi)有io的時(shí)候,另開(kāi)一窗口shutdown abort ,幾乎不會(huì)出問(wèn)題了
--------------------------------------------------------
http://www.itpub.net/showthread.php?threadid=180315&pagenumber=
先用IMMEDIATE來(lái)DOWN,實(shí)在不行了,看一下數(shù)據(jù)庫(kù)文件上沒(méi)IO了,再用ABORT
------------------------------------------------------------------------------
你可以嘗試先在系統(tǒng)級(jí)殺掉非后臺(tái)Oracle進(jìn)程,在連接shutdown immediate就安全多了
在Oracle8i里,當(dāng)數(shù)據(jù)庫(kù)失去響應(yīng)以后,你在操作系統(tǒng)上殺掉用戶(hù)進(jìn)程后,一般數(shù)據(jù)庫(kù)就可以恢復(fù)正常了
-------------------------------------------------------------------------------
先 shutdown immediate 應(yīng)該是首選
然后不行再重新shutdown abort
其實(shí)起不來(lái)也是因?yàn)閛s的緣故,在文件正在寫(xiě)的時(shí)候出現(xiàn)問(wèn)題導(dǎo)致文件不一致或者損壞……
這樣的錯(cuò)誤。
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在進(jìn)行數(shù)據(jù)庫(kù)全庫(kù)備份時(shí)出現(xiàn)如下錯(cuò)誤: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
從上面的錯(cuò)誤信息可以看出是temp臨時(shí)表空間的數(shù)據(jù)文件有問(wèn)題,解決辦法:
1、刪除臨時(shí)表空間: alter database tempfile '/opt/ora9/product/oradata/NTDB/temp1.dbf' drop;
2、重建數(shù)據(jù)文件:
alter tablespace temp add tempfile '/opt/ora9/product/oradata/NTDB/temp01.dbf' size 512M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;
通過(guò)上述兩個(gè)步驟就可以解決在進(jìn)行數(shù)據(jù)庫(kù)備份時(shí)出現(xiàn)的ORACLE error 1187 encountered錯(cuò)誤。
[oracle@readhatAS53 etc]$ cat /etc/oratab
#
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by the Database Configuration Assistant when creating
# a database.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively. The third filed indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
ORCL:/u01/oracle/product/ora10g:Y
當(dāng)$ORACLE_SID:$ORACLE_HOME:<N|Y> 設(shè)置為Y時(shí),允許實(shí)例自啟動(dòng),當(dāng)設(shè)置為N時(shí),則不允許自啟動(dòng)。 這個(gè)文件里的配置僅僅起一個(gè)開(kāi)關(guān)的作用,其并不會(huì)具體的執(zhí)行啟動(dòng)和關(guān)閉,具體的操作由$ORACLE_HOME/bin/dbstart和dbshut 腳本來(lái)實(shí)現(xiàn)。 這2個(gè)腳本在執(zhí)行時(shí)會(huì)檢查/etc/oratab 文件里的配置,為Y時(shí)才能繼續(xù)執(zhí)行。因此只要將ORCL:/u01/oracle/product/ora10g:N修改為Y就行了。
2、使用root用戶(hù)在/etc/rc.d/rc.local這個(gè)文件中添加如下內(nèi)容:
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
su - oracle -c'lsnrctl start'//啟動(dòng)oracle數(shù)據(jù)庫(kù)監(jiān)聽(tīng)
su - oracle -c'/u01/oracle/product/ora10g/bin/dbstart start'//啟動(dòng)oracle數(shù)據(jù)庫(kù)實(shí)例
su - oracle -c'/opt/tomcat/apache-tomcat-6.0.20/bin/startup.sh'//啟動(dòng)tomcat服務(wù)器的配置。
3、reboot系統(tǒng),oracle數(shù)據(jù)庫(kù)與tomcat服務(wù)器就可以自動(dòng)啟動(dòng)了。