1.Shutting Down a Database
To shut down a database and instance, you must first connect as SYSOPER or SYSDBA. There are several modes for shutting down a database:
1)Shutting Down with theNORMALClause
SQL>shutdown normal; --此处的normal是可选的,如果shutdown后不跟参数,默认是normal选项关闭;
此参数关闭数据库:
不再允许新的连接到Oracle数据库实例
在数据库关闭之前,将等待其他用户到数据库的连接结束
数据库下次启动的时候不需要对数据库实例进行恢复
强制选择检查点并关闭文件
2)Shutting Down with the IMMEDIATE Clause
关闭数据库时,使用immediate主要用于以下情形:
对数据库进行自动的或无人值守的备份操作
希望对数据库快速关闭
当数据库或它的应用正在不正常的运转,用户无法将其注销
强制选择检查点并关闭文件
SQL>shutdown immediate;
此参数关闭数据库:
不再允许新的连接到Oracle实例,也不允许新的事务启动
未提交的事务将会回滚
数据库将会隐式的回滚当前事务和关闭用户实例的连接
强制选择检查点,并关闭文件
3)Shutting Down with the TRANSACTIONAL Clause
如果想要按照执行计划在事务关闭之前关闭数据库,关闭数据库时用transactionsal参数
SQL>shutdown transactional;
此参数关闭数据库:
不允许新的连接
等待事务结束,之后客户端将不再断开实例的连接
强制选择检查点并关闭文件
下次启动数据库不需要对数据库进行实例恢复
4)Shutting Down with the ABORT Clause
以下情形会用到此种关闭数据库的方式:想立即关闭数据库或是预知数据库实例启动会失败
SQL>shutdown abort
此参数关闭数据库:
不允许新的用户连接和打开事务
当前客户端进程立刻关闭
没有完成的事务将不回滚
将会隐式的关闭所有对数据库的连接
下次启动数据库需要对实例进行恢复