ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE学习之六 再谈ORACLE的启动与关闭。

ORACLE学习之六 再谈ORACLE的启动与关闭。

原创 Linux操作系统 作者:zuwenjiang 时间:2011-09-15 11:28:24 0 删除 编辑
第一篇文章中,简单写了一下一些命令,启动关闭ORACLE的,但自己实践下来,还是有些问题,花了点时间,详细了解了一下其中的过程。发现还是挺有意思的。。

在ORACLE10G刚安装完的时候,如果设置了创建数据库,则会自动启动数据库及实例,直接sqlplus ./ as sysdba连接进去,就可以做各种操作了。

但我把控制面板中的service的有关ORACLE的各项服务都设置为手动了。后面就出问题了。

第一步,先启动监听。
启动监听可以使用oracle自己带的命令,也可以使用win下的net start命令
C:\Documents and Settings\Administrator>net start OracleOraDb10g_home1TnsListenerThe OracleOraDb10g_home1TNSListener service is starting.The OracleOraDb10g_home1TNSListener service was started successfully.


或者
C:\Documents and Settings\Administrator>lsnrctl start
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 15-9月 -2011 11:41:04Copyright (c) 1991, 2005, Oracle.  All rights reserved.
启动tnslsnr: 请稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production系统参数文件为D:\oracle\product\10.2.0\db_1\network\admin\listener.ora写入D:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=nvied-ed9402501)(PORT=1521)))正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=nvied-ed9402501)(PORT=1521)))LISTENER 的 STATUS------------------------别名                      LISTENER版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
启动日期                  15-9月 -2011 11:41:05正常运行时间              0 天 0 小时 0 分 1 秒跟踪级别                  off安全性                    ON: Local OS AuthenticationSNMP                      OFF监听程序参数文件          D:\oracle\product\10.2.0\db_1\network\admin\listener.ora监听程序日志文件          D:\oracle\product\10.2.0\db_1\network\log\listener.log监听端点概要...  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=nvied-ed9402501)(PORT=1521)))服务摘要..服务 "orcl" 包含 1 个例程。  例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...命令执行成功

这两种命令在win下应该效果都是相同的,只不过后者直接把lsnrctl status也一起执行了一次,把监听状态给显示出来了。

第二步,启动oracle数据库服务。这一步和第一步,顺序上无所谓,因为是独立的命令,也是独立的进程,只不过先启动服务,而没有监听的话,也无法连接上去,所以一般来说,先启动监听。
启动服务的命令是
C:\Documents and Settings\Administrator>net start OracleServiceORCLThe OracleServiceORCL service is starting..........
The OracleServiceORCL service was started successfully.
这里需要注意的是,此处启动的是服务,而ORACLE除了服务之外,还有实例的概念,在注册表的HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1下,有个ORA_ORCL_AUTOSTART字段,可以设置实例随着服务启动或者不随着服务启动。如果是伴随启动,则服务启动完之后,就可以sqlplus / as sysdba连接进行操作,否则如果连接的话,会显示如下信息
C:\Documents and Settings\Administrator>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 9月 15 11:54:02 2011Copyright (c) 1982, 2005, Oracle.  All rights reserved.
已连接到空闲例程。

还需要以下命令,启动数据库实例,

SQL> startup
ORACLE 例程已经启动。
Total System Global Area  612368384 bytesFixed Size                 
                                              1250428 bytesVariable Size           
                                          251661188 bytesDatabase Buffers         
                                          352321536 bytesRedo Buffers               
7135232 bytes
数据库装载完毕。
数据库已经打开。

startup命令,包含了三个过程,nomount ,monut,open这三个,startup nomount只是启动了实例而没有启动数据库,startup mount启动了实例,并加载了数据库,但是数据库没有打开,startup是最全的,实例,数据库加载,数据库打开都完成。

再打开EM和ISQLPLUS工具的服务.
C:\Documents and Settings\Administrator>isqlplusctl start
iSQL*Plus 10.2.0.1.0Copyright (c) 2003, 2005, Oracle.  All rights reserved.Starting
iSQL*Plus ...iSQL*Plus started.


在启动em的时候,可能会出现如下提示:
C:\Documents and Settings\Administrator>emctl start dbconsole
Environment variable ORACLE_SID not defined. Please define it.
这时候只需要在环境变量中设置一下就OK了。

再来说下关闭。在win下,shutdown命令关闭的也是实例,而非服务,以下命令执行完之后,看控制面板service中,oracleServiceORCL的状态,仍然是started.说明,服务并未关闭。此时可以startup重新打开实例。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
再次以net stop命令来关闭服务。至此,所有跟ORACLE相关的服务和实例都被关闭了。
C:\Documents and Settings\Administrator>net stop OracleServiceORCL
The OracleServiceORCL service is stopping.The OracleService
ORCL service was stopped successfully.




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21143887/viewspace-707475/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-18

  • 博文量
    13
  • 访问量
    22636