三、关闭数据库与实例
关闭数据库与实例也分为3步:关闭数据库-->实例卸载数据库--->终止实例
关闭模式分为以下几种:
1.Nomal(正常关闭方式) 建议使用这种方式进行数据库的关闭操作。
命令:shutdown nomal
正常方式关闭数据时,Oracle执行如下操作:
(1)阻止任何用户建立新的连接。
(2)等待当前所有正在连接的用户主动断开连接
(3)一旦所有的用户都断开连接,则立即关闭、卸载数据库,并终止实例。
2.Immediate(立即关闭方式)
命令:shutdown immediate
立即关闭数据时,Oracle执行如下操作:
(1)阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。
(2)Oracle不等待在线用户主动断开连接,强制终止用户的当前事务,将任何未提交的事务回退
(3)直接关闭、卸载数据库,并终止实例。
3.Transactional(事务关闭方式)
命令:shutdown transactional
这种方式介于正常关闭方式跟立即关闭方式之间,响应时间会比较快,处理也将比较得当。执行过程如下:
(1)阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。
(2)等待所有未提交的活动事务提交完毕,然后立即断开用户的连接。
(3)直接关闭、卸载数据库,并终止实例。
4.Abort(终止关闭方式)
命令:shutdown abort
这是比较粗暴的一种关闭方式,当前面3种方式都无法关闭时,可以尝试使用终止方式来关闭数据库。但是以这种方式关闭数据库将会丢失一部份数据信息,当重新启动实例并打开数据库时,后台进程SMON会执行实例恢复操作。一般情况下,应当尽量避免使用这种方式来关闭数据库。执行过程如下:
(1)阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。
(2)立即终止当前正在执行的SQL语句。
(3)任何未提交的事务均不被退名。
(4)直接断开所有用户的连接,关闭、卸载数据库,并终止实例。
cmd页面,输入set ORACLE_SID=(你的数据库实例名),回车,执行
继续输入‘sqlplus/nolog’,敲击回车键
sql输入栏,输入‘conn /as sysdba’,回车
sql输入栏,继续输入‘startup;’,回车,可以看到启动成功