1、已启动/不装载(NOMOUNT)。启动实例,但不装载数据库。
该模式用于重新创建控制文件,对控制文件进行恢复或重新创建数据库。
2、已装载(MOUNT)。装载数据库,但不打开数据库。
该模式用于更改数据库的归档模式或执行恢复操作,数据文件的恢复。
3、打开(OPEN)。
4、关闭。
关闭数据库:
1、shutdown normal
oracle不再接受新的连接,数据库会一直等待当前连接到数据库的用户都断开连接后,再关闭数据库实例。
2、shutdown immediate
数据库将不允许建立新的连接,也不允许开始新的事务。所有未提交的事务都会被执行回滚操作。
3、shutdown transactional
数据库将不允许建立新的连接,也不允许开始新的事务。在完成事务处理后断开所有已连接的用户,然后关闭数据库。
4、shutdown abort
不允许建立新的连接,也不允许开始新的事务。所有正在执行的客户端SQL语句将被立即中止,没有提交的事务也不回滚,立即切断所有在线用户的连接。
限制模式启动数据库:startup restrict
1、执行数据导入和导出
2、使用SQL*Loader提取外部数据库中的数据
3、需要暂时拒绝普通用户访问数据库
4、进行数据库移植或升级操作
(quiesce)停顿数据库:
此状态下,只允许具有DBA权限的用户执行事务、查询和更新语句等。
1、切换数据库为停顿状态
alter system quiesce restricted;
2、从停顿恢复正常
alter system unquiesce;
3、查看实例活动状态
SQL> select active_state from v$instance;
ACTIVE_ST
---------
NORMAL
v$blocking_quiesce.SID=v$session.SID查看被停顿操作阻塞的会话信息
SQL> desc v$blocking_quiesce
Name Null? Type
---------- -------- ----------------------------
SID NUMBER
SQL> desc v$session
Name Null? Type
----------------------------------------- -------- ----------------------------
SADDR RAW(8)
SID NUMBER
SERIAL# NUMBER
AUDSID NUMBER
PADDR RAW(8)
USER# NUMBER
USERNAME VARCHAR2(30)
COMMAND NUMBER
挂起(suspend)数据库:
所有到数据文件和控制文件的I/O被中止,对数据库新的访问将被切换至停顿状态。
1、挂起数据库
alter system suspend;
2、恢复正常
alter system resume;
3、查看数据库状态
SQL> select database_status from v$instance;
DATABASE_STATUS
-----------------
ACTIVE