当前位置: 首页 > 图文教程 > 数据库 > Oracle > Oracle9i数据库异常关闭后的启动

Oracle
oracle下加密存储过程的方法
浅谈LogMiner的使用方法
oracle 下WITH CHECK OPTION用法
在Oracle中向视图中插入数据的方法
DBA_2PC_PENDING 介绍
在Oracle PL/SQL中游标声明中表名动态变化的方法
DB2和 Oracle的并发控制(锁)的比较
Oracle 下的开发日积月累
Oracle下时间转换在几种语言中的实现
查看Oracle的执行计划一句话命令
Oracle 下医嘱执行函数
oracle应用程序实现打包 的方法
新Orcas语言特性-查询句法
oracle下实现恢复一个丢失的数据文件的代码
oracle命令行删除与创建用户的代码
oracle的一些tips技巧
oracle下巧用bulk collect实现cursor批量fetch的sql语句
ORACLE LATERAL-SQL-INJECTION 个人见解
Oracle入侵常用操作命令整理
oracle chm帮助文件下载

Oracle9i数据库异常关闭后的启动


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 46 ::
收藏到网摘: n/a

正在看的ORACLE教程是:Oracle9i数据库异常关闭后的启动。Oracle shutdown的时候突然断电,导致使用sql/plus启动时无法连接到数据库,具体描述为:

  connection can not permitted, shut in progress.

  到dos 提示符 键入:

  c:\> sqlplus /nolog

  显示:

sql/plus: Realease9.0.2……..all rights reserved

sql> connect /as sysdba

  显示已连接至空闲例程

sql>startup 显示shutdown in progress.

  到sqlplus 里面连接:

sys/manager@orcl92 显示信息连接成功。

Sql: select * from tab;

  显示norows selected;

  表明:没有启动数据库。 后来查阅相关资料:得出解决方法:

  到dos 提示符 键入:

c:\> sqlplus /nolog

  显示 sql/plus: Realease9.0.2……..all rights reserved

sql> connect /as sysdba

  显示已连接至空闲例程

sql> startup force

  显示:已启动。数据库已正常启动。

  也可以先将 windows services中将oraclehome92 service 停止,再启动oracle enterprise manager console,选择独立启动,选择数据库,点击orcl(全局数据库名),弹出对话框,输入用户名system密码password,连接身份:sysdba,选择例程,配置,在一般信息标签下将例程状态先改为关闭,在打开。如果提示oraclehome92 service 停止,则将这个服务启动起来,再启动数据库,也可解决问题。

  附:startup force 强制启动一个没有关闭或没能正常启动的数据库;过程:先关闭实例,再启动。

  Startup restrict 以限制模式启动数据库,从而限制访问数据库,只有具有 restricted session 权限的用户能与数据库连接

  alter system [enable/disable] restricted session 在数据库打开后,该语句启动或关闭访问限制功能。如果相对主结构做更改或想得到导出一致性,应将数据库设置为限制模式。 只有具有alter system权限,才可以用alter system [enable/disable] restricted session 命令改变数据库的可用性。

  当一个实例以nomount状态启动时,只能访问sga读取数据的视图。关于 v$thread,v$controlftle等信息从sga 读取数据的词典视图。当数据库被装配时,关于 v$thread,v$controlftle等信息从控制文件中被读出。

  分析,当数据库异常关闭时,shutdown在程序里没有退出,因此启动实例时检测到shutdown,则系统报错。因此需要先关闭数据库,再启动数据库。