启动数据库时可以启动到不同的状态:
START NOMOUNT:根据初始化参数建立SGA。
START MOUNT:根据初始化参数建立SGA。读取控制文件信息,加载数据库。
START:等价于STARTUP OPEN根据初始化参数建立SGA。读取控制文件信息。打开所有数据文件,加载数据库,数据库可以进行访问。
START RESTRICT:打开数据库,但是只有具有RESTRICTED SESSION系统权限的用户可以登陆。
STARTUP FORCE:等价于SHUTDOWN ABORT + STARTUP。
STARTUP OPEN READ ONLY:以只读方式打开数据库。
关闭数据库的不同方法:
SHUTDOWN:等价于SHUTDOWN NORMAL不允许新的会话登陆,等所有的连接都退出后关闭数据库。
SHUTDOWN TRANSACTIONAL:不允许新的会话登陆,当所有当前事务结束时,断开所有连接用户。
SHUTDOWN IMMEDIATE:不允许新的会话登陆,所有没有提交的事务全部回滚,断开所有连接用户。
SHUTDOWN ABORT:不允许新的会话登陆,当前运行的SQL语句立即中止,没有提交的事务不进行回滚,断开所有连接用户。下次重起时,Oracle自动进行实例恢复(instance recovery)。
数据库的不同状态:
QUIESCED状态:当sys或system用户发出ALTER SYSTEM QUIESCE RESTRICTED语句,所有的非DBA用户在当前会话状态变为inactive时,进入到停顿状态。当执行ALTER SYSTEM UNQUIESCE,其他用户的会话恢复。
注意:只有SYS和SYSTEM用户有ALTER SYSTEM QUIESCE RESTRICTED的权限。其实是由于DBA角色的其他用户也没有这个权限。
执行这个操作的前提是:自从本次数据库启动以来,必须一直设置着资源限制。
SUSPEND状态:发出ALTER SYSTEM SUSPEND语句后,任何I/O操作都被停止,直到发出ALTER SYSTEM RESUME语句。
对数据库状态的查询:
SQL> select database_status from v$instance;
DATABASE_STATUS
-----------------
SUSPENDED