转载自:http://blog.csdn.net/nsj820/article/details/6573525
<一>、ORACLE数据库启动模式
1、启动SQL*PLUS不与数据库连接
SQLPLUS /NOLOG
2、以SYSDBA角色与Oracle连接
CONNECT username/password AS SYSDBA
3、启动实例
1>、启动一个实例,装配和打开一个数据库
STARTUP;
或
STARTUP PFILE='d:/oracle/admin/mydb/scripts/initMYDB.ora';
2>、启动一个实例但不装配数据库
--典型应用为数据库创建
STARTUP NOMOUNT;
3>、启动一个实例,装配数据库但不打开
--该模式下允许你执行特定的维护操作,包括
--重命名数据库、增删或重命名日志文件、启用和停用重做归档日志文件选项;
--执行完整的数据库恢复
STARTUP MOUNT;
4>、在启动时限制一个数据库的存取
--该模式使管理员可用数据库,但一般操作员不可用,应用于
--执行导入导出、执行SQL*loader的数据装载、临时阻止典型用户使用数据
--升迁或升级
--在正常模式下,有CREATE SESSION系统特权的用户可以连接到数据库
--限制模式下,同时具有CREATE SESSION和RESTRICTED SESSION两个系统特权的用户
--才可以存取数据
STARTUP RESTRICT;
--关闭限制模式
ALTER SYSTEM DISABLE RESTRICTED SESSION;
--将正在运行的正常模式改变为限制模式
ALTER SYSTEM ENABLE RESTRICTED SESSION;
5>、强制一个实例启动(用于启动时出现问题情况,少用,慎用!)
STARTUP FORCE;
6>、启动实例,装配数据库和启动完全的介质恢复
STARTUP OPEN RECOVER;
4、改变数据库可用性
1>、装配数据库
ALTER DATABASE MOUNT;
2>、打开数据库
ALTER DATABASE OPEN;
3>、以只读或只写或读写方式打开数据库
ALTER DATABASE OPEN READ ONLY;
ALTER DATABASE WRITE READ ONLY;
ALTER DATABASE OPEN READ WRITE;
<二>、ORACLE数据库关闭
1、正常关闭
SHUTDOWN NORMAL;
2、事务性关闭
--不许新连接,但等待现有的事务执行结束
SHUTDOWN TRANSACTIONAL;
3、立即关闭
SHUTDOWN IMMEDIATE;
4、强制关闭
--该模式关闭下次启动时要进行实例恢复过程
SHUTDOWN ABORT;
5、停顿数据库
--该状态下只允许DBA会话,不允许新的非DBA连接建立
ALTER SYSTEM QUIESCE RESTRICTED;
--取消停顿
ALTER SYSTEM UNQUIESCE;
--查看实例的停顿状态
--列ACTIVE_STATE说明:NORMAL未停顿QUIESCING正在停顿,但仍有非DBA会话
--QUIESCED已停顿
select ACTIVE_STATE from V$INSTANCE;
6、挂起数据库
--暂停对数据文件和控制文件的所有IO,可以在无IO干扰情况先进行备份
--挂起命令可以挂起数据库而并不指定一个实例
ALTER SYSTEM SUSPEND;
--恢复到非挂起状态
ALTER SYSTEM RESUME;
--查看挂起状态
SELECT DATABASE_STATUS FROM V$INSTANCE;