命令行下管理本机或远程主机服务的工具 - SC命令简介
序言
上周因为重装系统,在装Oracle数据库时遇到了问题,Windows 2003系统在打上冲击波补丁后无法自动启动Oracle服务,OracleServiceORCL服务始终是“启动”状态,而“所有任务”菜单中的“启动”、“停止”与“暂停”均被禁止,无法操作。因为这个问题折腾了很久,最终决定删除Oracle,但是卸载很不彻底,这个服务始终还存在,无法删除,于是到网上一阵狂搜,终于找到解决办法,很简单的一句命令:SC Delete OracleServiceORCL,呵呵!原来使用SC命令这么简单啊!当然我删除Oracle的做法是不明智的,后来知道可以使用:
Svrmgrl
Connect internal
Startup
Exit
来手工启动Oracle数据库,不过通过这件事也使自己学到了SC命令的一些基本用法,因此整理出来供大家参考:
SC命令简介
你可以在命令行下键入SC或者SC.exe获得帮助. 我们以在本机为例.
1. SC的基本格式
sc server [command] [service name] option1 option2
这是他的基本格式,在管理远程主机时只需在SC后加上IP地址
sc 192.168.0.42 query eventlog
2. 查看一个服务的运行状态
sc query 服务名
如:在命令行方式下敲入sc query OracleServiceORCL命令结果如下:
SERVICE_NAME: OracleServiceORCL 显示的服务名
TYPE : 10 WIN32_OWN_PROCESS
STATE : 4 RUNNING 运行的状态
(STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN) 下面讲
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
运行的状态有 stopped(停止) running(运行) start_pending(等待启动)等状态
(STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)
这个信息显示此服务可以接受的控制命令,上面这个就是允许停止允许暂停接受关机。
3. 查看一个服务的配置信息
sc qc 服务名
如:sc qc OracleServiceOrcl命令结果如下:
[SC] QueryServiceConfig 成功
SERVICE_NAME: Oracleserviceorcl
TYPE : 10 WIN32_OWN_PROCESS
START_TYPE : 2 AUTO_START 启动类别
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : d:/oracle/ora81/bin/ORACLE.EXE ORCL 启动文件路径
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : OracleServiceORCL
DEPENDENCIES :
SERVICE_START_NAME : LocalSystem
启动类别包括auto_start(自动)DEMAND_START(手动)DISABLED(禁止)
4. 启动一个服务
sc start 服务名
如:SC Start OracleServiceORCL
5. 暂停一个服务
sc pause 服务名
如:SC Pause OracleServiceORCL
6. 继续一个服务
sc continue 服务名
如:SC Continue OracleServiceORCL
7. 停止一个服务
sc stop 服务名
如:SC Stop OracleServiceORCL
8. 禁止一个服务
sc 服务名 config start= disabled
如:SC OracleServiceORCL Config Start=Disabled
9. 将一个服务设为自动运行
sc 服务名 config start= auto
如:SC OracleServiceORCL Config Start=Auto
10. 将一个服务设为手动运行
sc 服务名 config start= demand
如:SC OracleServiceORCL Config Start=Demand
11. 在注册表和服务数据库中创建服务项。
sc <server> create [服务名] [binPath= ] <option1> <option2>...
选项:
注意: 选项名称包括等号。
type= <own|share|interact|kernel|filesys|rec> (默认 = own)
start= <boot|system|auto|demand|disabled> (默认 = demand)
error= <normal|severe|critical|ignore> (默认 = normal)
binPath= <BinaryPathName>
group= <LoadOrderGroup>
tag= <yes|no>
depend= <依存关系(以 / (斜杠) 分隔)>
obj= <AccountName|ObjectName> (默认 = LocalSystem)
DisplayName= <显示名称>
password= <密码>
12. 删除一个服务
sc delete 服务名
如:我们在最开头所使用的命令:SC Delete OracleServiceORCL
13. 查看所有的已运行的服务
sc query
14. 查看所有的services & drivers服务
sc Query State= All
注意:state与=之间没有空格,而=与all之间有一个空格。
15. 查看未运行的服务
sc query state= inactive
16. 从指定索引号恢复查看
sc query ri= 索引号
17. 锁住服务数据库
sc lock
后记
sc.exe还有其他许多查询和设置的功能,比如查看服务依存关系等等;
还可修改更细的服务配置,如修改服务描述服务角色等等;
具体请查看sc.exe的帮助,里面写的很详细
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/happywqw/archive/2005/10/26/517156.aspx