顺序是:先关闭数据库,再关闭系统。若直接关闭系统,可能会无法正常启动oracle。
一. 关闭数据库的过程
需切换到oracle用户下关闭oracle
A.AP和DB在同一机器上
Xshell> telnet 10.10.10.1
# su – oracle (注:切换到oracle用户下)
Oracle $ sqlplus ’/as sysdba‘
Sql> shutdown immediate (关闭数据库)
B.若AP和DB不在同一机器上,则(连接到DB的服务器)登陆DB主机关闭数据库,过程和上面一样
意外:运行shutdown immediate时间太久没有反应处理:
关于SHUTDWON IMMEDIATE关闭数据库方式:
立即关闭方式(IMMEDIATE)
立即关闭方式能够在尽可能短的时间内关闭数据库,以立即方式关闭数据库时,Oracle将执行以下一些操作:
*阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事物。
*任何未提交的事物均被回退。
*ORACLE不再等待用户主动断开连接,而是直接关闭、卸载数据库,并终止实例。
方法1:
此时可以通过下面命令Kill掉系统中(LOCAL=NO)的ORACLE进程
[oracle@DB-Server ~]$ ps -ef|grep ora|grep -v grep|grep -v ora_|grep LOCAL=NO|awk '{print $2}'
[oracle@DB-Server ~]$ ps -ef|grep ora|grep -v grep|grep -v ora_|grep LOCAL=NO|awk '{print $2}'|xargs kill
此时可以顺利关闭数据库。
方法2:
使用CTRL+C取消操作,然后使用shutdown abort命令关闭数据库。当然生产环境还是慎用shutdown abort命令,使用它往往是在没有办法的情况下。因为
shutdown abort 执行后,所有正在运行的SQL语句都将立即中止。所有未提交的事务将不回滚。Oracle也不等待目前连接到数据库的用户退出系统。下一次启动数据库时需要实例恢复,因此,下一次启动可能比平时需要更多的时间。
方法3:网上比较通用的方法
1 :首先停应用服务。
2 :其次停止监听服务(listener)
3 :间隔一段时间后,运行自己写的脚本去检查一下还有没有用户进程,如有, KILL.
4 :shutdown immediate;
当然,有时候实际情况往往有些出入,例如步骤1,DBA没有应用服务器的权限。无法停止应用服务。当然也不妨碍后面步骤的执行。
二. 关闭系统
用root用户关闭系统
判断当前用户是否为 root
#id
[root@ tiptoperp]# shutdown –h now 或init 0 (关机,需要手动重启)
[root@ tiptoperp]# reboot 或init 6(重新启动)
三. 启动系统
(1)查看oracle监听是否启动
若未启动则用oracle用户启动监听
</u2/oracle/11g> lsnrctl start (启动监听)
(2)查看oracle是否启动,如图
[oracle@iptoperp]$ps –ef|grep ora
A.未启动
未启动,则用oracle用户启动oracle
</u2/oracle/11g>sqlplus “/as sysdba”
Sql>startup
B.已启动
C.启动
(3)查看licence是否激活
< genero-topprod :/u1/topprod/tiptop>fglWrt -a info
(4)查看apache是否启动
[root@inform1 ~]# ps -ef|grep httpd
A.apache未启动
B.已启动
C.如未启动,在root用户下启动apache
[root@sales2 etc]# /etc/init.d/httpd start或 service httpd start
D.查看gasd是否启动
若未启动,说没apache没有配置成功,需要重新设置
转载请注明:赫非域 » tiptop服务器关机及重启过程