Windows上的Oracle检查列表。 (文档ID 443813.1)

适用于

Oracle数据库 - 企业版 - 版本9.2.0.1到10.2.0.1 [版本9.2到10.2]

Oracle数据库 - 企业版 - 版本11.2.0.1至11.2.0.1 [版本11.2]

z * OBSOLETE:Microsoft Windows Server 2003

z * OBSOLETE:Microsoft Windows XP

Microsoft Windows XPMS Windows 2003

微软Windows Vista

***在2013年12月22日检查相关性***

目标

本笔记提供了Windows注册表,服务和过程的概述以及它与Oracle的关系。

解答

WINDOWS注册表

=================

Windows将系统的整个配置信息保存在注册表中。 没有注册表,Windows不能运行。 注册表是键,子键和条目的分层数据库。 这些组件在注册表结构中显示为文件夹。 实际数据存储在条目中,即注册表的最下面的元素。

注册表主要由两个子树组成:

HKEY_LOCAL_MACHINE

HKEY_USERS。

但为了便于查找特定的子树,它们在注册表编辑器中显示为五个子树,其中三个实际上是其他子树的别名

HKEY_LOCAL_MACHINE:(命令行符号:HKLM)

存储有关硬件,操作系统和其他信息(如设备驱动程序和本地计算机的启动配置)的信息。

HKEY_CLASSES_ROOT :(命令行符号:HKCR)

包含各种对象链接和嵌入(OLE)技术和文件类关联使用的信息。

HKEY_CURRENT_USER :(命令行符号:HKCU)

包含当前登录用户的配置文件。

HKEY_USERS :(命令行符号:HKU)

包含有关所有用户配置文件和计算机上的默认配置文件的信息。 远程连接的用户配置文件不包含在此子树中。

HKEY_CURRENT_CONFIG :(命令行符号:HKCC)

包含有关本地计算机启动时加载的硬件pro-file的信息。

Windows注册表将密钥的值存储为数据。 数据类型定义了注册表中可以存储哪种数据。 有五种主要的数据类型:

注册表键值数据类型和定义

REG_BINARY:将值存储为0和1的二进制数据,但以十六进制格式显示

REG_DWORD:将数据表示为四字节数字,通常用于布尔值

REG_EXPAND_SZ:一个可变长度的数据字符串。 它们在使用这些数据时被应用程序或服务取代。 该值通常包含与应用程序或服务关联的文件路径。

REG_MULTI_SZ:用于表示包含列表或多个值的值的多个字符串

REG_SZ:一个标准

(注意:Microsoft建议您不要编辑注册表,除非您没有改变系统配置的其他方式,您可以使用其他方法执行大多数配置更改。错误地编辑注册表可能会导致系统不稳定,或系统甚至无法启动。)

获取有关指定子密钥的信息

Reg Query命令允许您获取有关指定子项及其中的条目的信息。

该命令的语法是:

Reg  Query  KeyName  [{/v ValueName  | /ve}] [/s] [/f Data] [{/k | /d}] [/c] [/e] [/t Type]

该命令默认在本地计算机上运行.KeyName参数必须是有效的根密钥名称,例如HKLM,HKCR,HKCU,HKU或HKCC。 在远程计算机上使用时,此参数的有效值仅限于HKLM和HKU。

注册表和ORACLE

====================

在Windows中安装oracle时,注册表项将在密钥下进行

"HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE"

对于Oracle9i及更早版本:

HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE \ ALL_HOMES <key>

有一些名为ID1,ID2的键,其中数字代表ORACLE_HOME号码。

对于10g以上:

HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE \ KEY_<ORACLE_HOME>

例如:

如果您的Oracle Home被称为OraHome10g,那么您将删除名为的密钥

HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE \ KEY_OraHome10g。

获取中央库存指针的值(inst_loc)

以下命令将显示中央库存指针(orainst_loc)键和值。

C:\>reg query HKLM\SOFTWARE\ORACLE /v inst_loc

! REG.EXE VERSION 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
inst_loc REG_SZ C:\Program Files\Oracle\Inventory

在Oracle下获取所有子项

以下命令将显示键ORACLE下的子项。

C:\>reg query HKLM\SOFTWARE\ORACLE

REG.EXE VERSION 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
  <NO NAME>          REG_SZ
  inst_loc REG_SZ C:\Program Files\Oracle\Inventory
  ORACLE_HOME_NAME   REG_SZ ora
  API REG_SZ         D:\oracle\ora81333\dbs
  ORACLE_GROUP_NAME REG_SZ  Oracle - ora
  NLS_LANG REG_SZ NA
  OLEDB REG_SZ       D:\oracle\ora81\oledb\mesg
  OO4O REG_SZ        D:\oracle\ora81\oo4o\mesg
  ORACLE_HOME REG_SZ D:\oracle\ora81333
  VOBHOME2.0 REG_SZ  d:\ORACLE\Ora_Home92

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME1
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraHome102

获取有关系统中所有Oracle Home的信息

这里“HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE \ ALL_HOMES”子项提供了有关计算机上每个Oracle主目录的一般信息

您可以使用以下命令查看ALL_HOMES下的子键和条目

C:\>reg query HKLM\SOFTWARE\ORACLE\ALL_HOMES

! REG.EXE VERSION 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES
HOME_COUNTER REG_SZ 3
DEFAULT_HOME REG_SZ ora
LAST_HOME REG_SZ 2

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES\ID0
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES\ID1

参数说明

HOME_COUNTER:指定安装的Oracle主目录的数量。 默认值是1。

DEFAULT_HOME:指定默认的Oracle home名称(即,计算机上安装的第一个Oracle Home)。 默认值是您在安装期间指定的名称。

LAST_HOME:显示最近安装的Oracle主目录的ID号。 例如,如果HOME0最近安装了Oracle主目录,则会显示编号0。 默认值是0。

获取有关系统中每个家庭的信息

从上面的“HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE \ ALL_HOMES \ <IDX>”子项对应于相同编号的HOMEID(例如,第一次安装的HOME0,第二次安装的HOME1等等)。

您可以使用以下命令查看每个ID下的条目:(这里的ID是0)

C:\>Reg Query HKLM\SOFTWARE\ORACLE\ALL_HOMES\ID0

! REG.EXE VERSION 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES\ID0
NAME REG_SZ OraHome92
PATH REG_SZ D:\oracle\ora92
NLS_LANG REG_SZ NA

IDx包含NAME和PATH参数。 出现的值取决于您在安装过程中在Oracle Universal Installer的“文件位置”窗口中输入的内容。

参数说明

NAME:指定IDx的Oracle主目录的主页名称。 这是在安装期间提示输入Oracle Home名称时指定的值

PATH:指定IDx的Oracle主目录。默认值为ORACLE_BASE \ ORACLE_HOME

key “HKLM \ SOFTWARE \ ORACLE \ HOMEx”提供了有关每个Oracle home的详细信息

我们可以使用以下命令查询每个Oracle Home:

(注意:从10g开始,它是“KEY_ <ORACLE_HOME>。因此Oracle Home是”OraHome102“,那么查询应该是:C:\>reg query HKLM\SOFTWARE\ORACLE\KEY_OraHome102)

例如:

C:\>reg query HKLM\SOFTWARE\ORACLE\HOME0

! REG.EXE VERSION 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE.org\HOME0
ID REG_SZ 0
ORACLE_GROUP_NAME REG_SZ Oracle - OraHome92
ORACLE_HOME_NAME REG_SZ OraHome92
ORACLE_HOME REG_SZ D:\oracle\ora92
NLS_LANG REG_SZ AMERICAN_AMERICA.WE8ISO8859P1
ORACLE_SID REG_SZ ORA92
ORACLE_HOME_KEY REG_SZ Software\ORACLE\HOME0
SQLPATH REG_SZ D:\oracle\ora92\dbs
ORACLE_BASE REG_SZ D:\oracle
MSHELP_TOOLS REG_SZ D:\oracle\ora92\MSHELP
.
.

参数说明

ID:这是特定Oracle Home的ID。在上面的例子中,它是0

ORACLE_GROUP_NAME:指定包含安装的Oracle产品图标的组的名称。首次安装Oracle产品时,该参数将添加到您的注册表中。在上面的例子中,它是Oracle

ORACLE_HOME_NAME:指定安装Oracle产品的Oracle主目录的home名称。在上面的例子中,它是“OraHome92”

ORACLE_HOME:指定安装Oracle产品的Oracle主目录。在上面的例子中,它是“D:\ oracle \ ora92”

NLS_LANG:指定支持的语言,地区和字符集。此参数指定消息出现的语言,计算星期和日期数字的地区及其约定和显示的字符集。在上面的示例中,它是“AMERICAN_AMERICA.WE8ISO8859P1”

ORACLE_SID:指定主机上的Oracle9i数据库实例的名称。这个参数的值是实例的SID。在这个例子中它是“ORA92”

SQLPATH:指定SQL脚本的位置。默认值是ORACLE_BASE \ ORACLE_HOME \ dbs。在这个例子中它是“D:\ oracle \ ora92 \ dbs”

ORACLE_BASE:指定包含ORACLE_HOME,\ admin和\ oradata的顶级Oracle目录(在本例中为D:\ oracle)

MSHELP_TOOLS:指定Windows帮助文件的位置。默认值是ORACLE_BASE \ ORACLE_HOME \ mshelp.Here在这个例子中是“D:\ oracle \ ora92 \ MSHELP”

在包含值的Oracle下获取有关所有子项的信息

以下命令将显示包含“HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE”下的所有子项和条目的内容

C:> Reg Query HKLM\SOFTWARE\ORACLE  /s

获取有关处理器的信息

要查找处理器信息,可以使用以下命令:

C:\>set | findstr /R PROCESSOR

输出结果如下:

NUMBER_OF_PROCESSORS=2
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 6 Stepping 4, GenuineIntel
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0604

WINDOWS服务

==================

服务是一种基于软件的应用程序,它执行特定的系统功能,并经常为其他进程提供一个API来调用。 服务是在本地计算机的后台运行的应用程序。 安装在Windows注册表中并由Windows管理的可执行进程。 一旦服务创建并启动,即使没有用户登录到计算机,它也可以运行。 它在概念上与Unix守护进程非常相似。

您可以使用服务控制(SC)实用程序从命令行管理Windows服务。 SC实用程序与Windows注册表进行交互,以控制在系统启动时如何启动服务以及它们如何在后台运行。您可以查询服务以检查其配置信息; 开始,停止,暂停和恢复服务; 并指定如果服务失败,默认情况下将执行什么操作。此实用程序由几个子命令组成,用于控制本地和远程计算机上的服务和应用程序的行为。

您可以使用SC Query命令获取有关在计算机上配置的一项或多项服务的详细信息。 该命令的语法是:

SC [ServerName] query [ServiceName] [type= {driver | service | all}] [type= {own| share | interact | kernel | filesys | rec | adapt}] [state= {active | inactive | all}] [group= GroupName]

说明:

参数说明

ServiceName:指定从SC GetKeyName命令获取的服务的名称

Type:指定服务的类型。 有效参数是Driver,Service和All。当您选择All选项时,将显示服务和驱动程序

State:用于显示服务的状态。 有效参数有效,无效和全部。 当您选择全部选项时,显示活动和非活动服务

获取关于服务的详细信息

您可以使用以下命令获取有关服务的详细信息。

SC QC <Service_name>

示例显示了有关服务的详细信息,称为“Microsoft分布式事务处理协调器”的“MSDTSC”。

C:\ >SC QC MSDTC

[SC] GetServiceConfig SUCCESS

SERVICE_NAME     : MSDTC
TYPE             : 10 WIN32_OWN_PROCESS
START_TYPE       : 3 DEMAND_START
ERROR_CONTROL    : 1 NORMAL
BINARY_PATH_NAME : C:\WINDOWS\system32\msdtc.exe
LOAD_ORDER_GROUP : MS Transactions
TAG : 0
DISPLAY_NAME     : Distributed Transaction Coordinator
DEPENDENCIES     : RPCSS
                : SamSS
SERVICE_START_NAME : NT AUTHORITY\NetworkService

这些信息包括服务名称,服务类型,二进制路径名称,显示名称,依赖关系和服务启动名称。 服务的二进制名称表示运行服务的可执行文件的完整路径。 该服务在其自己的上下文中运行,因此被列为WIN_OWN_PROCESS。 服务启动名称表示服务用于运行的帐户。

确定服务的状态

您可以使用以下命令来检查特定服务是否正在运行:

SC query <Service_Name>

例如 :

C:\>sc query MSDTC

SERVICE_NAME          : MSDTC
TYPE                              : 10 WIN32_OWN_PROCESS
STATE                            : 1 STOPPED
                                        (NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE     : 1077 (0x435)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT               : 0x0
WAIT_HINT                   : 0x0

这里的“STATE”给出了服务正在运行还是停止的信息

列出系统上的所有活动服务

以下命令将列出机器上运行的所有服务:

SC query type= service

列出系统上的所有非活动服务

以下命令将列出机器上停止(不活动)的所有服务:

SC query type= service state= inactive

您可以分别使用SC Stop和SC Start命令在本地和远程计算机上停止并重新启动服务。 此外,您可以分别使用SC Pause和SC Continue命令暂停和恢复服务。这些命令的语法是:

SC [ServerName] Stop ServiceName

SC [ServerName] Start ServiceName [ServiceArguments]

SC [ServerName] Pause [ServiceName]

SC [ServerName] Continue [ServiceName]

WINDOWS服务和ORACLE

=========================

Oracle数据库将数据库实例注册为服务(OracleServiceSID)。 服务启动后台进程。要连接并使用Oracle数据库实例,Oracle数据库服务在数据库创建期间创建并与Oracle数据库关联。 一旦使用Oracle数据库创建服务,即使没有用户登录,服务也可以运行。

所有Oracle服务都以“Ora”开头。服务可在以下注册表中找到:

“HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\SERVICES. “

根据您安装的产品,重新启动Windows计算机时会启动一些Oracle服务。具有非系统帐户的用户必须具有本地管理权限才能在Windows计算机上运行服务。本节介绍了五种主要的Oracle服务。 (10g和9i的服务列表可能不同)

OracleServiceSID

为数据库实例系统标识符(SID)创建,其中SID是在安装期间为数据库名称输入的值。这项服务是强制性的。

OracleHOME_NAMETNSListener

侦听并接受来自客户端应用程序的传入连接请求。 Windows计算机重新启动时自动启动。

OracleHOME_NAMEAgent

Oracle企业管理器产品套件的一部分。智能代理对于执行Oracle服务或目标(如侦听器,数据库,Oracle HTTP服务器和Oracle应用程序)的作业和性能监视是必需的。智能代理还会收集Capacity Planner和Performance Manager的统计数据,这些数据是Oracle诊断包中提供的数据收集应用程序。

OracleHOME_NAMEHTTPServer

启动Oracle HTTP Server。用作基于浏览器的Oracle Enterprise Manager的Web服务器。

OracleHOME_NAMEManagementServer

Management Server是Oracle企业管理器的中间层。它维护客户端和受管节点之间的集中智能和分布式控制。

列出系统上的所有Oracle服务

以下命令将显示与Oracle相关的所有正在运行的服务:

它给出显示名称和服务名称。 对于所有Oracle服务,DISPLAY名称和SERVICE名称将相同。

sc query type= service | findstr /R "Oracle."

例如:

C:\ >sc query type= service | findstr /R "Oracle."

SERVICE_NAME: OracleDBConsoleorcl
DISPLAY_NAME: OracleDBConsoleorcl
SERVICE_NAME: OracleOraDb10g_home2TNSListener
DISPLAY_NAME: OracleOraDb10g_home2TNSListener
SERVICE_NAME: OracleORATESTAgent
DISPLAY_NAME: OracleORATESTAgent
SERVICE_NAME: OracleServiceORCL1
DISPLAY_NAME: OracleServiceORCL1

获取有关Oracle服务的详细信息

从上面的命令中,您可以找到正在运行的Oracle服务。要查看每个服务的详细信息,您可以执行以下命令:

例如 :

SC Query Oracle_<name>

例如 :

C:\>SC Query OracleServiceORCL1
SERVICE_NAME: OracleServiceORCL1
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

应用补丁时可能出现的常见问题

在应用修补程序时,必须关闭从Oracle主目录运行的所有服务以及影响Oracle Home的其他一些服务。 其它可能会锁定Oracle dll的进程是:(某些列在下面)

i)Internet信息服务器(IIS)管理服务

ii)Network Associates服务(Network Associates McShied)

iii)McAfee服务(McAfee Framework服务)

iv)赛门铁克服务等...

要找到:

i)Internet信息服务器(IIS)管理服务

命令是

SC Query type= service | findstr /R “IISAdmin.”

ii)Network Associates服务(Network Associates McShied)

命令是

SC Query type= service | findstr /R “McShield.

iii)McAfee服务(McAfee Framework服务)

命令是

SC Query type= service | findstr /R “McAfee.

四)赛门铁克服务

命令是

SC Query type= service | findstr /R “Symantec.”

WINDOWS中的进程

====================

只要操作系统或用户启动服务,运行应用程序或执行命令,Microsoft Windows就会启动一个或多个进程来处理相关程序。一般来说,流程可以被区分为:

1)系统进程

操作系统启动的进程称为系统进程;

2)用户进程

用户启动的进程称为用户进程。大多数用户进程都以交互模式运行。也就是说,用户使用键盘或鼠标交互式地启动进程。如果应用程序或程序处于活动状态并被选中,相关的交互过程就可以控制键盘和鼠标,直到您通过终止程序或选择其他程序来切换控制。

当一个进程有控制权时,就说它在“前台”运行。进程也可以在后台运行,与用户登录会话无关。后台进程无法控制键盘,鼠标或其他输入设备,通常由操作系统运行

Windows通过映像名称,进程ID,优先级和其他记录资源使用情况的参数来跟踪系统上运行的每个进程。映像名称是启动该进程的可执行文件的名称,如Msdtc.exe或Svchost.exe。进程ID是进程的数字标识符,例如2588.进程优先级指示进程相对于其他正在运行的进程应该获得多少系统资源。通过优先级处理,具有较高优先级的进程优先于较低优先级的进程,而不必等待获得处理时间,访问内存或使用文件系统。另一方面,较低优先级的进程通常必须等待较高优先级的进程完成其当前任务,才能访问CPU,内存或文件系统。

检查正在运行的进程

当您想要检查在本地或远程系统上运行的进程时,可以使用Tasklist命令行实用程序。

TaskList  [/s computer]   [/u domain\user [/p password]]   [/fo {TABLE|LIST|CSV}] [/nh] [/fi FilterName [/fi FilterName2 [ ... ]]]   [/m [ModuleName] | /svc | /v]

使用Tasklist,您可以:

i)获取有关在系统上运行的进程的进程ID,状态和其他重要信息。

ii)查看正在运行的进程和系统上配置的服务之间的关系。

iii)查看在系统上运行的进程使用的DLL的列表

以下各节将讨论这些任务中的每一个。

i)获取有关在系统上运行的进程的进程ID,状态和其他重要信息
以下命令将列出在系统上执行的所有进程:

当您在本地或远程计算机上使用TaskList命令而没有任何参数时,计算机上当前运行的进程将显示如下所示:

C:\> tasklist

Image Name          PID Session Name Session#    Mem Usage
=============       ===== ============ ========    =========
System Idle Process  0 Console 0         16 K
System               4 Console 0         216 K
smss.exe            420 Console   0 480 K
csrss.exe           472 Console   0 4,420 K
sqlgea.exe          496 Console   0 3,352 K
svchost.exe        1156 Console     0 1,548 K
svchost.exe        1240 Console     0 1,508 K
svchost.exe        1360 Console     0 6,772 K
svchost.exe        1408 Console     0 724 K
svchost.exe        1556 Console     0 144 K
services.exe        540 Console   0 3,288 K
sqlmon.exe          552 Console   0 32,508 K
sdman.exe           728 Console   0 2,856 K
sdman.exe           788 Console   0 3,840 K
sdman.exe           988 Console   0 4,016 K
sdman.exe          1036 Console     0 2,032 K
sdman.exe          1048 Console     0 15,624 K
spoolsv.exe        1348 Console     0 4,728 K
msdtc.exe          1380 Console     0 3,808 K

参数说明

Image Name :运行进程的进程或可执行文件的名称。

PID:过程识别号码

Session Name : 进程正在运行的会话的名称。 控制台的输入意味着该过程在本地启动

Session # :会话的数字标识符。

Memory Usage :在Tasklist运行的特定时刻,进程使用的内存总量。

ii)查看正在运行的进程和系统上配置的服务之间的关系。

以下命令将列出正在运行的进程和在system.output上配置的服务之间的关系

tasklist /Svc

例如:输出将是

C:\> tasklist /Svc

Image Name               PID Services
==========               ==== ========
System Idle Process       0 N/A
System                    4 N/A
smss.exe                 408 N/A
csrss.exe                456 N/A
winlogon.exe             484 N/A
services.exe             528 Eventlog, PlugPlay
lsass.exe                540 HTTPFilter, kdc, Netlogon,      NtLmSsp,PolicyAgent, ProtectedStorage, SamSs
svchost.exe              800 RpcSs
svchost.exe              956 Dnscache
svchost.exe              984 LmHosts
svchost.exe              996 AudioSrv, Browser, CryptSvc, dmserver,EventSystem, helpsvc, lanmanserver, lanmanworkstation, Netman, Nla, Schedule, seclogon, SENS, ShellHWDetection, W32Time, winmgmt, wuauserv, WZCSVC
spoolsv.exe              1300 Spooler
msdtc.exe                1332 MSDTC
dfssvc.exe               1400 Dfs
dns.exe                  1436 DNS bv
svchost.exe              1492 ERSvc
inetinfo.exe             1552 SADMIN, IMAP4Svc, POP3Svc, RESvc, SMTPSVC
ismserv.exe              1568 IsmServ
ntfrs.exe                1584 NtFrs
svchost.exe              1688 RemoteRegistry
mad.exe                  1724 MSExchangeSA
mssearch.exe             1784 MSSEARCH
exmgmt.exe               1824 MSExchangeMGMT
svchost.exe              2000 W3SVC
store.exe                2108 MSExchangeIS

iii)查看进程使用的DLL列表

在Windows上,Oracle数据库DLL在运行时构成可执行文件的一部分,因此较小。 DLL可以在多个可执行文件之间共享。

了解进程已加载哪些DLL模块可进一步帮助您查明可能导致进程无响应,无法释放CPU或使用比应该更多的内存的内容。 在某些情况下,您可能需要检查DLL版本以确保它们是系统应运行的正确DLL。

您可以使用以下命令来检查正在运行的进程和系统上配置的DLL之间的关系

Tasklist /m <DLL_name>

例如,

该命令的输出将显示使用DLL,kernel32.dll及其进程ID的进程:

C:\>TASKLIST /m kernel32.dll

Image Name        PID Modules
=========         ===== =========
csrss.exe         916 KERNEL32.dll
winlogon.exe      940 kernel32.dll
services.exe      984 kernel32.dll
lsass.exe         996 kernel32.dll
svchost.exe       1156 kernel32.dll
svchost.exe       1240 kernel32.dll
svchost.exe       1360 kernel32.dll
svchost.exe       1408 kernel32.dll
svchost.exe       1556 kernel32.dll
ccEvtMgr.exe      1732 kernel32.dll
spoolsv.exe       1848 kernel32.dll
cvpnd.exe         1972 kernel32.dll
.

进程和ORACLE

====================

在Windows上,每个后台进程都作为一个线程在单个大型进程中实现。

Oracle数据库不是典型的Windows进程。 在Windows上,Oracle数据库实例(线程和内存结构)是Windows服务:向操作系统注册的后台进程

对于每个Oracle数据库实例或系统标识符,Oracle数据库都有一个相应的进程。 例如,UNIX上的数据库实例的100个Oracle数据库进程在Windows上由一个进程内的100个线程处理。

ORACLE.EXE是Windows上的主要可执行文件。 每个实例启动一个ORACLE.EXE。 所有后台进程(如smon,pmon,...)以主线程内的线程运行。 该过程与特定的用户或会话无关,这是一个全局过程。

确定在机器上运行的Oracle进程

以下命令将列出在机器上运行的所有Oracle进程

C:\>tasklist | findstr /R "oracle."

Image Name     PID Session Name       Session# Mem Usage
=========      === =========        ====== ========
oracle.exe    3676 Console             0 9,348 K
oracle.exe    3912 Console             0 11,948 K
oracle.exe    4072 Console             0 6,944 K

应用补丁时可能出现的常见问题

在补丁或补丁集适用于Windows时,通常会发生以下错误:

在文件修补期间,OPatch遇到以下问题

以下文件在修补时遇到问题:

1. e:\oracle\ora102\bin [ Couldn't copy e:\oracle\ora102\<4579590>\files\bin\oran10.dll to e:\oracle\ora92\bin from E:/oracle/ora102/4579590. ]

2. e:\oracle\ora102\bin [ Couldn't copy e:\oracle\ora102\<4579590>\files\bin\orannzsbb10.dll to e:\oracle\ora102\bin from E:/oracle/ora102/4579590. ]

Replying 'Y' will terminate the patch installation immediately. It WILL NOT restore any updates that have been performed to this point. It WILL NOT update the inventory.

Replying 'N' will update the inventory showing the patch has been applied.

NOTE: After replying either 'Y' or 'N' it is critical to review:

Metalink Note 312767.1 How to rollback a failed Interim patch installation.

Do you want to STOP?

Please respond Y|N >

Ignore file patching issues and continue...

Skipping make file E:\oracle\ora102\.patch_storage\4579590\4579590_make.txt

Performing post-patch inventory update and removing working files.

The following work files couldn't be removed:

E:\oracle\ora102\.patch_storage\4579590\bin\oran10.dll_done_4579590

E:\oracle\ora102\.patch_storage\4579590\bin\orannzsbb10.dll_done_4579590

E:\oracle\ora102\.patch_storage\4579590\bin\orapls10.dll_done_4579590

3. e:\oracle\ora102\bin [ Couldn't copy e:\oracle\ora102\4579590\files\bin\orapls10.dll to e:\oracle\ora102\bin from E:/oracle/ora102/4579590. ]

4. e:\oracle\ora102\bin [ Couldn't copy e:\oracle\ora102\4579590\files\bin\orageneric10.dll to e:\oracle\ora102\bin from E:/oracle/ora102/4579590. ]

5. e:\oracle\ora102\bin [ Couldn't copy e:\oracle\ora102\4579590\files\bin\oracommon10.dll to e:\oracle\ora102\bin from E:/oracle/ora102/4579590. ]

…..

…..

这些类型的错误是由于所有Oracle服务在应用修补程序之前没有停止,或者在安装修补程序期间运行某些第三方软件/服务,并且此第三方软件/服务对指定的DLL锁定文件。

如前所述您可以使用命令“tasklist / m <DLL_Name>”来查找哪个进程正在锁定特定的DLL。

例如:

在上面的部分中,锁定dll:orageneric10.dll的过程可以使用以下命令找到:

C:\>tasklist /m orageneric10.dll

Image Name    PID Modules
=========     === =======
emagent.exe   384 orageneric10.dll

进程“emagent.exe”正在锁定orageneric10.dll.因此opatch无法复制orageneric10.dll文件。 因此,您可以停止该过程并再次应用该修补程序。

您可以使用以下命令来终止正在锁定Dll的进程:

> taskkill /PID <Process_Id>    
                                    OR
> taskkill /F /PID <Process_Id> (This forcefully terminates the process)

在杀死任何进程之前请联系您的系统管理员,因为这可能会导致意外结果

Windows上的Oracle检查列表。 (文档ID 443813.1)相关推荐

  1. 导出/导入DataPump参数TRACE - 如何诊断Oracle数据泵(文档 ID 286496.1)

    导出/导入DataPump参数TRACE - 如何诊断Oracle数据泵(文档 ID 286496.1) 1.介绍 在Oracle10g中,我们引入了新的数据库实用程序Export Data Pump ...

  2. 如何在 Windows 上 使用 ONLYOFFICE 协作编辑文档

    1.说明--可以加我qq504284沟通. ONLYOFFICE Document Server提供文档协作的服务功能,支持Word,Excel和PowerPoint以及国产WPS的协作.但是这里告诉 ...

  3. 修改onlyoffice服务器端口,如何在 Windows 上 使用 ONLYOFFICE 协作编辑文档

    0.安装准备 如果是局域网,部署的电脑拥有固定ip(下文叫宿主机,切记).电脑能打开cup的虚拟功能.如果部署到云主机,道理是一样的. 环境是win7以上,win10以下.Win10区别就是安装的do ...

  4. 【MOS】中文文档列表 - Oracle Database (文档 ID 1533057.1)

    中文文档列表 - Oracle Database (文档 ID 1533057.1) 类型: 状态: 上次主更新: 上次更新: ANNOUNCEMENT PUBLISHED 2017-2-23 201 ...

  5. 解决windows上鼠标右键新建没有文本文档的选项

    解决windows上鼠标右键新建没有文本文档的选项 最近在删除文件垃圾的时候,不知道把什么东西删除了,发现鼠标右键想要新建时没有了文本文档这个选项,解决的方法也有很多种,记录下我解决的这种方法. 首先 ...

  6. rhel6上使用udev配置oracle asm,Red Hat Enterprise Linux 6使用udev配置Oracle ASM总结文档

    1.概述 在Red Hat Enterprise Linux (RHEL)6以前,Oracle均是使用ASMLib这个内核支持库配置ASM. ASMLIB是一种基于Linux module,专门为Or ...

  7. Pre-Upgrade Utility---下载并运行Oracle数据库预升级实用程序 (文档 ID 1577379.1)

    如何下载并运行Oracle数据库预升级实用程序 (文档 ID 1577379.1) 文档内容 目标 脚本来源 解决方案 脚本指导 下载并安装说明 请参阅下表以确定您需要的pre-upgrade脚本的版 ...

  8. Microsoft Windows 环境中NLS_LANG的正确设置 (文档 ID 1577370.1)

    Microsoft Windows 环境中NLS_LANG的正确设置 (文档 ID 1577370.1) 适用于: Oracle Database - Enterprise Edition - 版本 ...

  9. RAC 和 Oracle Clusterware 最佳实践和初学者指南(平台无关部分) (文档 ID 1526083.1)

      RAC 和 Oracle Clusterware 最佳实践和初学者指南(平台无关部分) (文档 ID 1526083.1) 转到底部 文档内容 用途   适用范围   详细信息   RAC 平台特 ...

  10. RAC 和 Oracle Clusterware 最佳实践和初学者指南 (Solaris) (文档 ID 1526517.1)

      RAC 和 Oracle Clusterware 最佳实践和初学者指南 (Solaris) (文档 ID 1526517.1) 转到底部 文档内容 用途   适用范围   详细信息   RAC 和 ...

最新文章

  1. antd design form表单手动处理错误
  2. pytorch 构建神经网络模型总结
  3. servlet中中文正常显示,mysql数据库手动插入中文正常显示,servlet向mysql中插入中文显示乱码...
  4. Snap Shots 出了新东西
  5. (3)QuartusII 封装网表文件(FPGA不积跬步101)
  6. relative和absolute使用
  7. ssis t-sql返回值
  8. java写入excel乱码_Java导出Excel解决乱码及导出文件打开不可读需修复的问题
  9. Abaqus怎么切换中英文界面
  10. java中递归算法_java中递归算法是什么怎么算的?
  11. BR8041A02串口烧录PC工具操作说明(BR8041_USB_Programer_V2.0.exe)
  12. 已知某公众号的微信号怎样获取该公众号的二维码
  13. 基于LMS自适应滤波器的QPSK信号均衡器matlab仿真
  14. IT男真实的情感记录
  15. linux hid 设备驱动,linux hid驱动
  16. 计算机更改用户后 无法联网,为什么重置密码后路由器无法上网
  17. [IOS APP]周易大师-有声小说
  18. ads 微带线 计算公式
  19. 用Python初学机器学习时碰见ValueError: Iterable over raw text documents expected, string object received.报错解决方法
  20. 【FreeMarker】【模板文件FTL】模板表达式

热门文章

  1. IOI2015部分题解
  2. 《一个人的朝圣》读后感
  3. OpenCv阈值化处理cv2.threshold()函数
  4. 计算机提示资源管理器停止,windows资源管理器已停止工作,教您提示win资源管理器已停止工作...
  5. (完美)华为畅玩6X BLN-AL10的USB调试模式在哪里打开的经验
  6. 【Excel】某列数据有效性根据另外一列数据有效性进行动态更改
  7. 联想拯救者笔记本安装ubuntu系统不能正常关机
  8. 世界上最健康的作息时间表
  9. 高盛发布VR/AR研究报告
  10. 06.变革、变革、再变革