服务器宕机后确保事件:
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中。