Oracle 关闭数据库(续)
shutdown normal | immediate | transactional
在关闭过程中:
把数据缓存区得数据写到磁盘文件中
没有提交的事物回滚
释放资源
启动过程:
不需要instance recovery
normal模式:
未建立新连接
Oracle服务器等待所有用户断开后才开始关闭
数据库和重做缓存区中的数据已写入磁盘
后台进程已终止,SGA从内存中删除
下次启动不需要instance recovery
immediate 模式
Oracle服务器不等待当前连接到数据库的用户断开
Oracle回退活动的事物并断开所有连接用户
Oracle在关闭instance前将关闭并卸载数据库
下次启动不要求instance recovery
transactional模式
desc v$transaction
select addr,status form v$transaction;
所有事物都已经完成后关闭
client结束正在进行的事物时,断开client
下次启动不要求instance recovery
------------------------------------------------
不一致的数据库(脏数据)
shutdown abort ,instance 启动失败,强制启动期间
abort模式
在关闭过程中:
发生修改的缓存区数据不写入数据文件
不回退未提交的事物
启动过程
使用重做日志重写应用修改
释放资源
下次启动要求恢复instance
数据库不关闭或卸载
未提交的事物不回退
数据库和联机重做缓存区得内容不写入磁盘
不等待当前连接数据库的用户断开
正在执行的SQL语句立即终止