服務器宕機後確保事件:
1. 開機正常
2. 數據庫、tomcat、其他服務正常啓動
3. 防火牆開放服務端口
4. 接口正常訪問
5. 網站正常登錄
一、Linux服務器
1.開機正常(不幸中的萬幸)
2.數據庫、tomcat、其他服務正常啓動
2.1. 啓動數據庫服務
(1)su - oracle
使用oracle用戶登錄Linux
(2)lsnrctl status
查看Oracle監聽器運行狀況
(3)lsnrctl start
lsnrctl stop
啓動/關閉oracle監聽服務
(4)sqlplus / as sysdba
使用SQL*Plus工具登錄Oracle
(5)startup
shutdown
啓動/關閉oracle實例
(6)ps -ef|grep oracle
查看數據庫進程是否開啓
(7)netstat -antup|grep PID
利用(6)得到PID確認進程使用的端口號1521
(7)lsof -i:port端口
端口被哪個進程使用
(8)service iptables status
查看防火牆狀態確認確認端口是否開放,未運行防火牆則不用設置開放端口。
(8)chkconfig iptables on
chkconfig iptables off
啓動/關閉防火牆
(8)iptables -A INPUT -p tcp --dport 1521 -j ACCEPT
防火牆開放指定端口命令
(8)iptables -A INPUT -p tcp --dport 1521 -j DROP
防火牆關閉指定端口命令
(8)service iptables save
保存設置
(8)service iptables restart
重啓防火牆
(9)telnet ip地址 port端口
在其他服務器cmd使用telnet訪問端口確認是否開放
(9)其他服務器創建連接到這數據庫服務器。
2.2. 啓動Tomcat服務
(1)locate catalina.sh
全局搜索服務文件確定存放路徑
(2)cd /severs/apache-tomcat-7.0.92/bin
進入tomcat的bin
目錄下
(3)./startup.sh
./shutdown.sh
啓動/關閉tomcat服務
(4)ps -ef|grep tomcat
查看tomcat進程是否開啓
(5)netstat -antup|grep PID
利用(4)得到PID確認進程使用的端口號8080
(5)lsof -i:port端口
端口被哪個進程使用
(6)service iptables status
查看防火牆狀態確認確認端口是否開放,未運行防火牆則不用設置開放端口。
(6)chkconfig iptables on
chkconfig iptables off
啓動/關閉防火牆
(6)iptables -A INPUT -p tcp --dport 1521 -j ACCEPT
防火牆開放指定端口命令
(6)iptables -A INPUT -p tcp --dport 1521 -j DROP
防火牆關閉指定端口命令
(6)service iptables save
保存設置
(6)service iptables restart
重啓防火牆
(7)telnet ip地址 port端口
在其他服務器cmd使用telnet訪問端口確認是否開放
(7)其他服務器訪問Tomcat上的網站。
問題一:命令執行了,進程啓動了,但訪問服務時掛掉了。
1、已知信息:啓動時無報錯,不能正常訪問。
2、原因:查看服務目錄`webapps`,沒有發現項目包,顯然不是在tomcat服務`bin`目錄下啓動服務,後續發現是另外寫了腳本調用啓動tomcat。
3、解決步驟:
(1)cd /項目路徑
(2)./start.sh 啓動服務
(3)./stop.sh 關閉服務
注:apache-tomcat-7.0.92/conf/server.xml 端口一般在該文件中配置
2.3. 啓動Redis服務
(1)locate redis
全局搜索服務相關文件確定存放路徑
(2)./redis-server
redis前臺啓動,ctrl+C退出窗口,進程不在。
(2)./redis-server &
redis後臺啓動,ctrl+C退出窗口,進程還在。
(2)./redis-server .../conf/redis.conf
redis指定配置啓動,ctrl+C退出窗口,進程還在。
(3)./redis-cli
再輸入shutdown
關閉關閉redis服務
(4)ps -ef|grep redis
查看tomcat進程是否開啓
(5)netstat -antup|grep PID
利用(4)得到PID確認進程使用的端口號6379
(5)lsof -i:port端口
端口被哪個進程使用
(6)service iptables status
查看防火牆狀態確認確認端口是否開放,未運行防火牆則不用設置開放端口。
(6)chkconfig iptables on
chkconfig iptables off
啓動/關閉防火牆
(6)iptables -A INPUT -p tcp --dport 1521 -j ACCEPT
防火牆開放指定端口命令
(6)iptables -A INPUT -p tcp --dport 1521 -j DROP
防火牆關閉指定端口命令
(6)service iptables save
保存設置
(6)service iptables restart
重啓防火牆
(7)telnet ip地址 port端口
在其他服務器cmd使用telnet訪問端口確認是否開放
(7)其他服務器訪問Tomcat上的網站,並查看日誌看是否有redis異常信息。
注:啓動後會打印warning信息,這無傷大雅,正常現象。
問題一:命令執行了,進程啓動了,但訪問服務時掛掉了。
1、已知信息:啓動時無報錯,卻不能正常訪問。
2、原因:使用的配置文件不對。
3、解決步驟:
(1)locate redis.conf 全局定位配置文件位置
(2)./server ../../redis.conf 使用正確配置啓動服務
一、Windows服務器
1.開機正常(不幸中的萬幸)
2.數據庫、tomcat、其他服務正常啓動
2.1. 啓動數據庫服務
(1)啓動數據庫監聽、實例服務:win鍵 》右鍵 》計算機管理 》服務和應用程序 》服務
(2)確認oracle數據庫服務是否啓動:任務欄 》右鍵 》任務管理器 》服務
(3)驗證連接:sql developer客戶端 登錄 數據庫實例
(4)確認數據庫服務使用的端口號(1521):第一種:win鍵+r 》Net Manager。 第二種:查看tnsnames.ora文件。
(5)確認該端口的PID(1848):第一種:netstat -aon|findstr 1521
。
(5)確認該端口是哪個進程使用:第一種:tasklist|findstr "PID"
。第二種:任務管理器 》進程 》有個PID列(如果沒有,右鍵勾選)。
(6)根據PID確認進程使用端口號:netstat -ano
(7)檢查服務器入站規則:右下角網絡 》右鍵 》打開網絡和Internet設置 》Windows防火牆 》高級設置 》入站規則。
(8)新建入站規則:(7)窗體右邊 》新建規則 》選“端口” 》選“TCP”、“特定本地端口”、填寫端口 》選“允許連接” 》默認勾選 》填寫規則名稱、描述
(9)telnet ip地址 port端口
在其他服務器使用telnet訪問端口是否開放
(9)其他服務器創建連接到這數據庫服務器。
問題一:數據庫監聽、實例服務啓動後登錄oracle實例報錯
1、錯誤信息:ora-01033:ORACLE initialization or shutdown in progress...
ORACLE正在初始化或關閉。
2、原因:由於突然停電宕機,數據庫日誌文件寫入丟失,日誌文件損壞。
3、解決步驟:
(1)win鍵+r 》cmd
(2)set ORACLE_SID=實例名
(3)sqlplus "/as sysdba"
(4)shutdown immediate
(5)startup
報錯: ORA-00742: 日誌讀取在線程 1 序列 631225 塊 40649 中檢測到寫入丟失情況
ORA-00312: 聯機日誌 1 線程 1: '\oracle\oradata\REDO01.LOG'
(6)shutdown immediate
(7)startup mount
(8)recover database using backup controlfile
指定日誌:...
這時要手動輸入報錯日誌路徑:S:\路徑\oracle\oradata\REDO01.LOG
Enter
(9) alter database open resetlogs
顯示:數據庫已更改。
完事!
2.2. 啓動Tomcat服務
(1)tomcat
全局搜索服務文件確定存放路徑
(2)/severs/apache-tomcat-7.0.92/bin
進入tomcat的bin
目錄下
(3)startup.bat
shutdown.bat
啓動/關閉tomcat服務
(4)確認Tomcat服務使用的端口號(8080):apache-tomcat-7.0.92/conf/server.xml
端口一般在該文件中配置。
(5)確認該端口的PID(1848):第一種:netstat -aon|findstr 8080
。
(5)確認該端口是哪個進程使用:第一種:tasklist|findstr "PID"
。第二種:任務管理器 》進程 》有個PID列(如果沒有,右鍵勾選)。
(6)根據PID確認進程使用端口號:netstat -ano
(7)檢查服務器入站規則:右下角網絡 》右鍵 》打開網絡和Internet設置 》Windows防火牆 》高級設置 》入站規則。
(8)新建入站規則:(7)窗體右邊 》新建規則 》選“端口” 》選“TCP”、“特定本地端口”、填寫端口 》選“允許連接” 》默認勾選 》填寫規則名稱、描述
(9)telnet ip地址 port端口
在其他服務器使用telnet訪問端口是否開放
(9)其他服務器創建連接到這數據庫服務器。
問題一:服務器窗口報異常。
1、已知信息:連接池異常。
2、原因:後續發現配置文件application.properties丟失。
3、解決步驟:
(1)拷貝一份application.properties放入目錄\apache-tomcat-8.5.40\webapps\Project\WEB-INF\classes中。