Windows System
environment variable is not used for oracle variables in 11G.
Instead, variables such as ORACLE_SID and ORACLE_HOME_NAME are
stored in registry.
Oracle 11G uses windows services. Batch file can be utilized to
start or stop Oracle services in Windows OS. A sample bat file is
provided in this article, tested in Windows 7 and Oracle 11G
Release 2 environment.
Oracle 11G在windows 7系统上不需要设置系统环境变量。
在命令行环境中运行命令: echo %ORACLE_SID% 可以看到此变量并不存在。
也可以到注册表验证:
HKEY_CURRENT_USER\Environment
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Environment
两处均没有Oracle所需变量。
在windows系统下,oracle
11G将ORACLE_SID和ORACLE_HOME_NAME等重要变量存放在注册表中。如果安装多个oracle,那么只有最后安装的这个会存放在注册表中。手动运行set命令可以临时覆盖变量值。
oracle环境变量可通过注册表查看:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_$$$$
下有Oracle的系列变量值。其中$$$$为ORACLE_HOME_NAME。
也可以用Oracle Assistant for Windows Properties查看:在树形目录中打开Oracle
Homes下的列表,然后右键点击其中的Oracle Home即可查看此Oracle Home的变量值。
Oracle 11G在windows中采用了service,这些服务可以设成关闭模式,手动开启模式,或者开机自动开启模式。11G有以下service:
1 Oracle #### VSS Writer Sewrvice
2 OracleDBConsole####
3 OracleJobScheduler####
4 OracleMTSRecoveryService
5 Oracle$$$$ClrAgent
6 Oracle$$$$TNSListener
7 OracleService####
其中####为ORACLE_SID,$$$$为ORACLE_HOME_NAME
以上service中,1用于Windows操作系统专用的备份和恢复服务;2 用于企业管理器Oracle Enterprise
Manager的使用;3用于Oracle外部的定时任务;4是为了使用微软的MTS(Microsoft Transaction
Server), 即使用
如OO4O,OCI,ADO, OLE
DB等功能;5是控制多线程extproc代理;6是开启网络连接和监听;7是数据库主服务。也就是说,最少只要启动第7项,即可使用数据库;再开启第6项,即可从通过网络连接数据库;再开启第2项,即可使用OEM。这3项是最常用的服务。
基于以上信息,我们可以编写自己的批处理命令文件控制数据库的启动和关闭。手动命令永远是最容易控制和管理的。
示例:
environment variable is not used for oracle variables in 11G.
Instead, variables such as ORACLE_SID and ORACLE_HOME_NAME are
stored in registry.
Oracle 11G uses windows services. Batch file can be utilized to
start or stop Oracle services in Windows OS. A sample bat file is
provided in this article, tested in Windows 7 and Oracle 11G
Release 2 environment.
Oracle 11G在windows 7系统上不需要设置系统环境变量。
在命令行环境中运行命令: echo %ORACLE_SID% 可以看到此变量并不存在。
也可以到注册表验证:
HKEY_CURRENT_USER\Environment
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Environment
两处均没有Oracle所需变量。
在windows系统下,oracle
11G将ORACLE_SID和ORACLE_HOME_NAME等重要变量存放在注册表中。如果安装多个oracle,那么只有最后安装的这个会存放在注册表中。手动运行set命令可以临时覆盖变量值。
oracle环境变量可通过注册表查看:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_$$$$
下有Oracle的系列变量值。其中$$$$为ORACLE_HOME_NAME。
也可以用Oracle Assistant for Windows Properties查看:在树形目录中打开Oracle
Homes下的列表,然后右键点击其中的Oracle Home即可查看此Oracle Home的变量值。
Oracle 11G在windows中采用了service,这些服务可以设成关闭模式,手动开启模式,或者开机自动开启模式。11G有以下service:
1 Oracle #### VSS Writer Sewrvice
2 OracleDBConsole####
3 OracleJobScheduler####
4 OracleMTSRecoveryService
5 Oracle$$$$ClrAgent
6 Oracle$$$$TNSListener
7 OracleService####
其中####为ORACLE_SID,$$$$为ORACLE_HOME_NAME
以上service中,1用于Windows操作系统专用的备份和恢复服务;2 用于企业管理器Oracle Enterprise
Manager的使用;3用于Oracle外部的定时任务;4是为了使用微软的MTS(Microsoft Transaction
Server), 即使用
如OO4O,OCI,ADO, OLE
DB等功能;5是控制多线程extproc代理;6是开启网络连接和监听;7是数据库主服务。也就是说,最少只要启动第7项,即可使用数据库;再开启第6项,即可从通过网络连接数据库;再开启第2项,即可使用OEM。这3项是最常用的服务。
基于以上信息,我们可以编写自己的批处理命令文件控制数据库的启动和关闭。手动命令永远是最容易控制和管理的。
示例:
:: OraService.bat - When prompted, enter start or stop
set /p action=Start or stop oracle services?
if /I %action%==START goto :SERVICE
if /I %action%==STOP goto :SERVICE
goto :END
:SERVICE
set OHOME=$$$$
set OSID=####
echo Processing Oracle Database, TNS Listener and DB Console
services ......
net %action% OracleService%OSID%
net %action% Oracle%OHOME%TNSListener
net %action% OracleDBConsole%OSID%
:: net %action% OracleVssWriter%OSID%
:: net %action% OracleJobScheduler%OSID%
:: net %action% OracleMTSRecoveryService
:: net %action% Oracle%OHOME%ClrAgent
:END
echo Finished
pause 将以上内容保存为批处理文件OraService.bat,运行时输入start启动Oracle服务,输入stop则停止Oracle服务。本例启动了3个最常用服务,可根据需要自由修改。注意将其中####改为你的实际ORACLE_SID值,$$$$改为你的实际ORACLE_HOME_NAME值。Windows
7中运行net start/stop命令需要系统权限,否则产生access
denied错误。可以右键点击此批处理文件选择以管理员身份运行。也可以建立一个此文件的快捷方式,然后将快捷方式的属性修改为以管理员身份运行。
set /p action=Start or stop oracle services?
if /I %action%==START goto :SERVICE
if /I %action%==STOP goto :SERVICE
goto :END
:SERVICE
set OHOME=$$$$
set OSID=####
echo Processing Oracle Database, TNS Listener and DB Console
services ......
net %action% OracleService%OSID%
net %action% Oracle%OHOME%TNSListener
net %action% OracleDBConsole%OSID%
:: net %action% OracleVssWriter%OSID%
:: net %action% OracleJobScheduler%OSID%
:: net %action% OracleMTSRecoveryService
:: net %action% Oracle%OHOME%ClrAgent
:END
echo Finished
pause 将以上内容保存为批处理文件OraService.bat,运行时输入start启动Oracle服务,输入stop则停止Oracle服务。本例启动了3个最常用服务,可根据需要自由修改。注意将其中####改为你的实际ORACLE_SID值,$$$$改为你的实际ORACLE_HOME_NAME值。Windows
7中运行net start/stop命令需要系统权限,否则产生access
denied错误。可以右键点击此批处理文件选择以管理员身份运行。也可以建立一个此文件的快捷方式,然后将快捷方式的属性修改为以管理员身份运行。