在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_MACHINESOFTWAREORACLEKEY_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中Insert语句的总结PL/SQL连接Oracle时的问题相关资讯 Oracle数据库 Oracle入门教程 oracle数据库教程
- Oracle数据库全球化 (03月01日)
- Oracle数据库日期过滤方法性能比较 (02/02/2015 13:20:26)
- Oracle数据库安装中端口被占用问题 (10/29/2014 07:42:24)
| - 在CentOS 6.6上搭建C++运行环境并 (10/10/2015 19:44:40)
- Oracle数据库无法使用localhost和 (11/14/2014 16:39:10)
- 使用SQLT来构建Oracle测试用例 (08/28/2014 06:17:41)
|
本文评论 查看全部评论 (0)