重启命令

(1) 以oracle身份登录数据库,命令:su - oracle  
(2) 进入Sqlplus控制台,命令:sqlplus /nolog  
(3) 以系统管理员登录,命令:connect /as sysdba  
(4) 如果是关闭数据库,命令:shutdown immediate
(5) 启动数据库,命令:startup   
(6) 退出sqlplus控制台,命令:exit  
(7) 进入监听器控制台,命令:lsnrctl 
(8) 启动监听器,命令:stop  
(9) 启动监听器,命令:start  
(10) 退出监听器控制台,命令:exit  
(11)重启数据库结束

数据库重启失败的话:

shutdown immediate
startup mount
recover database using backup controlfile;
alter database open resetlogs
shutdown immediate
startup

启动命令区别:

startup nomount 只是启动了实例而没有启动数据库,startup mount 启动了实例,并加载了数据库,但是数据库没有打开,startup 是最全的,实例,数据库加载,数据库打开都完成。

停止命令区别:

1、shutdown normal

正常方式关闭数据库。

2、shutdown immediate

立即方式关闭数据库。

在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,

而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源),

当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。

3、shutdown abort

跟kill 进程是一样的效果,直接关闭数据库,正在访问数据库的会话会被突然终止

如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间

shutdown abort 的时候,数据库立即关闭,这个时候文件状态可能不一致,因为正常关闭数据库会同步校验各文件,使得重新启动的时候文件时间点一致并且不用进行崩溃恢复

若检查点信息一致,则做崩溃恢复

若检查点信息不一致(正好在更新文件头)则需要做介质恢复

这些问题都好处理,最怕的问题是这个时候系统有大量IO,结果这样造成写的突然中断,碰巧造成文件块的逻辑坏块,那麻烦比较大一些,尤其是系统表空间的block损坏

虽然shutdown abort 出错的几率很小,1000个人可能只有一个人碰到,但是我们还是要小心。

停止正确的处理流程是:

shutdown immediate ,若数据库迟迟不能down下来,在os上观察IO状况,几乎没有io的时候,另开一窗口shutdown abort ,几乎不会出问题了