前因:Oracle数据库(版本11g)单体测试时需要关闭数据库。执行了shutdown immediate命令后,命令窗口只有光标在闪,没有其他反应,强制把命令窗口给关了。想再次连接数据库时,连接失败。
报:ORA-01090: shutdown in progress - connection is not permitted~~好像是这个错误,当时没有及时记录。
问题:是因为在执行shutdown immediate后,没有等它关闭成功,而强制把命令窗口给关了的原因吗?
解决:
重启电脑------------->登录sqlplus------------>报日志文件full-------------->删除日志文件------------------>接下来:
重新登录进sqlplus窗口(在cmd窗口输入命令:sqlplus sys as sysdba;并输入密码后)
shutdown abort -- 强制关闭
startup --自动进行实例恢复
再重新连接。~~~OK
附:
SHUTDOWN有四个参数:NORMAL、TRANSACTIONAL、IMMEDIATE、ABORT。缺省不带任何参数时表示是NORMAL。
SHUTDOWN NORMAL:不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
SHUTDOWN TRANSACTIONAL:不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
SHUTDOWN IMMEDIATE:不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。
启动时不需要实例恢复。
SHUTDOWN ABORT:不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时自动进行实例恢复。
STARTUP有7个参数: OPEN、MOUNT、NOMOUNT、PFILE= filename、FORCE、RESTRICT 、RECOVER。缺省不带任何参数时表示是OPEN。
STARTUP OPEN:STARTUP缺省的参数就是OPEN,打开数据库,允许数据库的访问。当前实例的控制文件中所描述的所有文件都已经打开。
STARTUP MOUNT:MOUNT数据库,仅仅给DBA进行管理操作,不允许数据库的用户访问。仅仅只是当前实例的控制文件被打开,数据文件未打开。
STARTUP NOMOUNT:仅仅通过初始化文件,分配出SGA区,启动数据库后台进程,没有打开控制文件和数据文件。不能任何访问数据库。
STARTUP PFILE= filename:以filename为初始化文件启动数据库,不是采用缺省初始化文件。
STARTUP FORCE:中止当前数据库的运行,并开始重新正常的启动数据库。
STARTUP RESTRICT:只允许具有RESTRICTED SESSION权限的用户访问数据库。
STARTUP RECOVER:数据库启动,并开始介质恢复。