在Windows上要把oracle启动到nomount状态,于是在没用启动oracle服务的情况之下,输入下述命令:

C:\>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 10月 14 16:28:13 2011
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> connect / as sysdba
ERROR:
ORA-12560: TNS: 协议适配器错误
SQL>

于是启动监听服务(命令: lsnrctl start   也可以启动服务,而且能显示监听器监听的 IP地址 和 Port 端口号):

net    start    oracleoradb10g_home1tnslistener

监听服务启动成功。但是发现在sqlplus里再次输入connect命令时,还是出现同样的错误。

在网络上找了一下,发现很多人也碰到了这个问题,如果你也碰到了类似的问题,下面的方法可以试一下:

1、在Windows下,当我们启动数据库服务时,数据库会自动到Open状态。现在要启动到nomount状态,必需修改注册表,把键值:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1下ORA_ORCL_AUTOSTART值修改为 FALSE,修改之后就不会自动启动到Open状态了,这样就有机会启动到nomount状态了。

下面首先会启动服务,然后再连接。

C:\>net start OracleServiceOrcl
OracleServiceORCL 服务正在启动 .
OracleServiceORCL 服务已经启动成功。
C:\>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 10月 14 17:08:14 2011
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> connect / as sysdba
已连接到空闲例程。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area  603979776 bytes
Fixed Size                  1250380 bytes
Variable Size             213912500 bytes
Database Buffers          381681664 bytes
Redo Buffers                7135232 bytes
SQL>

那么接下去可以修改数据库到mount,open状态。

SQL> alter database mount
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL>

2、直接启动数据库的服务,然后连接数据库,shutdown,然后再启动到nomount状态。

为什么要这么做呢? 主要是还是上面说的,如果不修改oracle在注册表里的启动参数的话,一旦启动服务,那么数据库就处于open状态,也就不可能在转到nomount状态了。

所以反其道而行之,这个时候数据库已关闭、数据库已卸载、实例已关闭,同时服务还是启动的,也就是说在任务管理器里oracle.exe进程还在,同时发现oracle占的内存很少,因为此时已经释放了SGA系统全局区的内存了。

C:\>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 10月 14 17:24:59 2011
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> connect / as sysdba
已连接到空闲例程。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area  603979776 bytes
Fixed Size                  1250380 bytes
Variable Size             218106804 bytes
Database Buffers          377487360 bytes
Redo Buffers                7135232 bytes
SQL>
SQL> alter database mount
2  ;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL>

另外,当关闭数据库,又重新启动到open状态时,下面显示了关闭数据库的顺序(数据库已经关闭、已经卸载数据库、ORACLE 例程已经关闭)、启动的顺序(ORACLE 例程已经启动、数据库装载完毕、数据库已经打开)。

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup open;
ORACLE 例程已经启动。
Total System Global Area  603979776 bytes
Fixed Size                  1250380 bytes
Variable Size             218106804 bytes
Database Buffers          377487360 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL>

还有,如果直接启动到nomount状态,那么就不能再启动到mount状态(除非先shutdown),只能通过alter database mount语句,修改数据库的状态为mount,同理对open状态也是一样的,也就是说只能是:

第一种 :

startup nomount;

alter database mount;

alter database open;

第二种:

startup nomount;

alter database open;

第三种:

startup open;

像下面这样:

startup nomount;

startup mount;                             会导致ora_01081错误。

ORACLE启动到NOMOUNT状态相关推荐

  1. 【Oracle】手工建库时启动到nomount状态时错误ORA-09925,ORA-01017

    配置好pfile和口令文件后启动数据库到nomount状态下出现错误: [oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2 ...

  2. oracle启动报参数不正确,【oracle】模拟故障 - 参数修改导致无法启动oracle

    问题:把spfile中的processes参数改成10,后出现无法启动oracle数据库. SQL> alter system set processes = 10 scope=spfile; ...

  3. oracle几个状态,oracle启动的四个状态

    1:oracle启动文件的优先顺序: 1:spfileSID.ora 2:Default SPFILE -->spfile.ora 3: initSID.ora 4: DEFAULT PFILE ...

  4. oracle中的open,oracle数据库启动从nomount到open

    oracle数据库启动从nomount到open oracle数据库启动过程中的3种状态: ■ nomount ■ mount ■ open 下面详细介绍oracle数据库从nomount到open的 ...

  5. oracle startup mount nomount 区别

    看oracle入门书,其中一句话说,使用startup nomount 命令启动例程,不可以和mount open 和exclusive一起使用,这个命令适用于建立数据库或是维护数据库时使用. 于是查 ...

  6. Oracle中含有recover 状态的数据文件环境中,做异机恢复

    背景: 我们在一些恢复测试案例中,会经常遇到一些奇怪的问题,其中有的是源端数据文件不规范而导致恢复过程出错,比较常见的错误有: 数据文件名称重复(如:/oradata1/user01.dbf 和 /o ...

  7. oracle启动或关闭数据库实例

    1.oracle启动数据库步骤 1.1.启动实例.为实例创建后台服务进程,并在内存中创建SGA区等内存结构,在实例启动中只会使用到初始化参数文件,无论数据库是否存在. 1.2.为实例加载数据库.打开数 ...

  8. oracle经常开关好吗,oracle启动和关闭

    1.oracle启动和关闭(只有管理员才可以) 开启: su - oracle;sqlplus /as sysdba SQL 启动后,还需要执行 lsnrctl start 关闭: 先执行 lsnrc ...

  9. oracle启动文件是什么意思,Oracle数据库的启动——口令文件的作用

    在Oracle 10g之前,启动到Mount状态,数据库需要具备的另外一个重要文件是口令文件,在Unix/Linux上,该文件位于$ORACLE_HOME/dbs目录下,缺省的名称为orapw. 而在 ...

最新文章

  1. mysql phpmyadmin 修改下一个自增值的开始位置 计数重置
  2. java泛型反映调用方法体内类型引用问题
  3. Python学习笔记:常用内建模块4:hmac
  4. 搜索引擎优化的关键字工具
  5. python 什么是原类_Python 什么是元类(metaclasses)?
  6. 静态内部类、局部内部类、匿名内部类、lamda表达式
  7. JMETER SLAVE和MASTER 分布式启动压测
  8. [转载] R语言read.table函数
  9. 关于mac下连接mysql和mysql workbench连接mysql的异常
  10. 浅析MySQL中exists与in的使用
  11. 51nod1649齐头并进-Dijkstra
  12. 商业智能—概念与主要理论
  13. froala 的使用
  14. 【死代码】(Dead Code)和【夸夸其谈未来性】(Speculative Generality)-如何解决被遗弃不用的代码以及暂时未被使用,但之后存在规划的代码?
  15. 项目日志20190704
  16. 初入Linux——软件安装
  17. elasticsearch-数据聚合
  18. 《Internet 路由结构(第2版•修订版)》一7.6 参考资料
  19. 6.计算机网络与因特网发展简史
  20. 搜狗日志Hive数据分析

热门文章

  1. c语言字母中取模是什么意思,c语言如何取模运算
  2. Java 里的异常(Exception)详解
  3. 软件开发之版本管理Versioning
  4. Atom编辑器中使用Hydrogen切换Python虚拟环境
  5. MT8735和MT6735处理器的区别解析
  6. dz.4oq.co index.php,dz论坛Discuz_X3.4最新网站漏洞
  7. 新中国建国以来汇率的变化追踪
  8. 一个新的App该如何推广?
  9. win32 c语言创建线程,【原创】win32线程及线程内核对象
  10. MTCNN移植java_MTCNN移植安卓并检测视频中人脸