RESETRICT 模式:表示启动数据库实例到限制模式,此时只有管理员和具有restricted session权限的用户可以登录数据库,一般用于普通户内部数据维护时使用
SQL> startup restrict
ORACLE instance started.
Total System Global Area 4275781632 bytes
Fixed Size 2260088 bytes
Variable Size 905970568 bytes
Database Buffers 3355443200 bytes
Redo Buffers 12107776 bytes
Database mounted.
Database opened.
在Oracle中有启动就用关闭,下面就来说一说Oracle中的关闭,关闭时所使用的参数如下:
SHUTDOWN [normal|transactional|immediate|abort]
NORMAL 方式:正常的关闭方式,期间阻止任何新的连接、等待当前所有用户的session主动断开,等所有用户的session断开后关闭数据库,做一个检查点并关闭数据文件,重新启动时不需要实例恢复
SQL> shutdown normal
Database closed.
Database dismounted.
ORACLE instance shut down.
TRANSACTIONAL 方式:事务关闭方式,期间阻止任何新的连接、不等待所有用户的session断开,等所有用户的事务提交结束后,做一个检查点并关闭数据文件,重新启动时不需要实例恢复
SQL> shutdown transactional
Database closed.
Database dismounted.
ORACLE instance shut down.
IMMEDIATE 方式:顾名思义立即关闭,这种方式下能尽可能短的关闭数据库,期间阻止任何新的连接、不等待所有用户的session断开,不等所有用户的事务提交结束,未结束的事务rollback回滚,做一个检查点并关闭数据文件,重新启动时不需要实例恢复
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
ABORT 方式:终止关闭方式,期间阻止任何新的连接、不等待所有用户的session断开,不等所有用户的事务提交结束,不做检查点且没有关闭数据文件,启动时自动进行实例恢复,该方式具有一定的破坏性,有可能会丢失部分数据,在平时应该尽量避免使用
SQL> shutdown abort
ORACLE instance shut down.
在这里需要注意的是如果是使用ABORT 方式关闭数据库时,虽然说下一次重启时会自动进行实例恢复,但是不能保障在重启的期间出现其他问题所以如果使用ABORT 方式关闭数据库后建议再用MOUNT模式启动后再用IMMEDIATE方式关闭数据库用来修复数据库,如下
SQL> shutdown abort
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 4275781632 bytes
Fixed Size 2260088 bytes
Variable Size 905970568 bytes
Database Buffers 3355443200 bytes
Redo Buffers 12107776 bytes
Database mounted.
SQL> shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.