1 QUIESCE
QUIESCE(静默)数据库是指数据库处于一种仅仅DBA事务、查询数据、执行PL/SQL语句的且SYS、SYSTEM用户登陆的状态。 该模式可用于限制非SYS、SYSTEM用户登陆或其他操作;
1.1 启动静默模式
ALTER SYSTEM QUIESCE RESTRICTED;
查询此时数据库状态:
SELECT INSTANCE_NAME,VERSION,STATUS,ACTIVE_STATE FROM V$INSTANCE;

ACTIVE_STATE存在3种值:
NORMAL:非静默模式
QUIESCED:没有非DBA会话、不允许其他用户登陆
QUIESCING:静默状态,其他用户非DBA用户依然保持连接
静默状态时使用CONN SCOTT/PASSWORD@ORCL登陆命令会悬挂无法执行
撤销QUIESCE模式:
ALTER SYSTEM UNQUIESCE;
查询此时数据库状态:
SELECT INSTANCE_NAME,VERSION,STATUS,ACTIVE_STATE FROM V$INSTANCE;

2 SUSPEND
SUSPEND数据库:处于此种状态的数据库会停止对数据文件和控制文件的输入输出操作,即无法对这些文件进行读写操作,包括文件头信息和文件数据的访问,这种状态使得数据库备份不受I/O影响,提高了备份效率。使用SUSPEND命令在RAC环境下对所有实例都有效,该指令发出后,内部锁机制会向集群种所有实例发出HALT请求,进行悬挂。但是新加入的实例不受影响。
设置SUSPEND模式:
ALTER SYSTEM SUSPEND;
查看此时数据库状态:
SELECT INSTANCE_NAME,VERSION,DATABASE_STATUS,ACTIVE_STATE FROM V$INSTANCE;
此时数据库无法读取数据文件头部信息:
SELECT FILE#,CHECKPOINT_CHANGE# FROM V$DATAFILE_HEADER;
该查询被悬挂,无法执行
使用ALTER SYSTEM RESUME;撤销SUSPEND状态
可以使用新的会话来撤销SUSPEND状态,但必须时SYSDBA角色登陆
再次查询数据库状态显示为ACTIVE:
SELECT INSTANCE_NAME,VERSION,DATABASE_STATUS,ACTIVE_STATE FROM V$INSTANCE;
