【翻译自mos文章】How to Set or Switch Oracle Homes on Windows (Doc ID 969581.1)

参考原文:

How to Set or Switch Oracle Homes on Windows (Doc ID 969581.1)

适用于:

Oracle Database - Enterprise Edition - Version 9.2.0.1 to 11.2.0.1.0 [Release 9.2 to 11.2]

Microsoft Windows (32-bit)

Microsoft Windows Itanium (64-bit)

Microsoft Windows x64 (64-bit)

解决方案:

在windows环境中,为什么 不能被设置‘ORACLE_HOME‘ 环境变量。--->注意:注册表中的ORACLE_HOME 键 跟 "系统属性"-"高级"-"环境变量"中的ORACLE_HOME环境变量不是一回事。

本文强调的是:不能被设置‘ORACLE_HOME‘ 环境变量,而不是把 注册表中的ORACLE_HOME 键 给搞掉。

设置ORACLE_HOME 环境变量会导致软件功能异常,当你在windows上调用oracle的可执行程序(sqlplus.exe,exp.exe,tnsping.exe等等)时,Oracle 软件会从环境变量(这里是指设置了ORACLE_HOME环境变量的情况)中得到ORACLE_HOME 的信息,该信息可能与从注册表中得到的信息不匹配。

--->注意:也就是说,正常情况下(也就是说windows 不要设置ORACLE_HOME环境变量的情况下)windows下的oracle 可执行程序,在运行时, 其实是从注册表中 ORACLE_HOME的键值获得的相关的变量信息(variable)

当你在windows上调用Oracle 可执行程序时,比如sqlplus.exe, 这些可执行程序用到的变量(variable)是由 PATH环境变量 和 这些可执行程序的所在位置(即:该程序所在Oracle Home)所决定的。

--->请额外注意:根据我在windows上使用oracle的经验,windows 在cmd 下敲一个命令 和在unix下敲一个命令,windows 和 unix操作系统对你敲的这个命令的查找方法是不同的:

windows下,你在当前目录(比如说c:\user\administrator这个目录)下敲一个sqlplus命令,windows会搜索当前的目录下有没有sqlplus.exe这个命令,没有的话,再去PATH环境变量中取查找有没有sqlplus命令

而unix下,你在shell提示符下敲一个sqlplus命令,unix只会从PATH里查找。

windows 上rac的一点注意:

11gR2上有2个home,分别是GI Home和 db Home。在windows 上设置ORACLE_HOME 环境变量会导致 所有的clusterware日志(还有其他潜在问题)被写入到Oracle Home中,这个会导致诊断clusterware问题的难度。

Oracle 确定 可执行程序所在位置(location)的方法。

第一、对在ORACLE_HOME\bin 目录下的可执行程序:

在环境变量中设置"ORACLE_HOME=某具体路径" 是不需要的。这是因为在运行的时候,Oracle 软件 会确定可执行文件的所在位置(比如说c:\...\oracle\bin ),然后会在该位置打开一个‘pointer‘ file (指针文件),这个指针文件指定了在注册表中的哪个位置去搜索Oracle 变量。注册表中的ORACLE_HOME
键就是被Oracle软件使用的变量值。因此,没有必要为使用 ORACLE_HOME\bin 下的可执行文件的任何进程(process)设置ORACLE_HOME= 环境变量。

第二、对于那些不存在于ORACLE_HOME\bin 下,但又需要加载oracle software的可执行文件(比如说:一个web server process 或者 其他的第三方的software)

如果第三方软件需要特定的Oracle DLL(动态链接库),那么该第三方软件会查找PATH环境变量值,直到找到该DLL,然后该DLL会穿透(or 透过)进程(上面描述的进程)以找到 pointer file,进而会找到ORACLE_HOME value.

启动oracle 可执行程序的不同方法:

1.从cmd提示符下启动

当敲入可执行程序的名字并且不带全部路径时,此时会首先得到PATH环境变量和 Oracle Home的可执行程序。你可以使用set命令改变PATH环境变量, 或者 使用控制面板-系统,改变环境变量,点击应用,然后再打开一个新的cmd命令提示符。

--->额外注意:这个说法是不正确的,估计写这一条的oracle工程师不了解windows下的可执行程序的搜索顺序---windows下,你在当前目录(比如说c:\user\administrator这个目录)下敲一个sqlplus命令,windows会搜索当前的目录下有没有sqlplus.exe这个命令,没有的话,再去PATH环境变量中取查找有没有sqlplus命令

2.从开始菜单

会调用在快捷方式中指向的全部路径中的可执行程序

3.开始--运行中调用(不是在开始-运行中,敲入cmd,然后再敲可执行命令)

从PATH环境变量中读取可执行程序。

使用OUI来修改默认的Oracle Home 和 PATH环境变量

你可以使用OUI来指定一个Oracle Home为默认的Oracle Home,OUI会更新PATH环境变量信息以指向那个Oracle Home

从开始-程序-Oracle - OraDb10g_home1-Oracle Installation Products-Universal Installer调用出 OUI

再点击"已安装产品",然后再打开"环境"Tab页,就能看到Oracle Home的环境变量信息。

时间: 2024-10-12 17:38:05

【翻译自mos文章】How to Set or Switch Oracle Homes on Windows (Doc ID 969581.1)的相关文章

【翻译自mos文章】怎么正确的计算一个ip地址的subnet id?

怎么正确的计算一个ip地址的subnet id? 来源于: How to calculate the correct subnet for an interface (文档 ID 1059759.1) 适用于: Oracle Database - Enterprise Edition - Version 10.2.0.1 and later Information in this document applies to any platform. 目标: 正确的计算一个ip地址的subnet i

【翻译自mos文章】控制OGG Director 中Repository Table 保留几天记录的参数

控制OGG Director 中Repository Table  保留几天记录的参数 翻译自mos文章: Can I Purge The Director "STATSENTRYB" Repository Table? (Doc ID 971709.1) QUESTION My Director Repository Table "STATSENTRYB" has grown to more than 100,000 rows. Is there a way to

【翻译自mos文章】找到'cursor: pin S wait on X' 等待事件的阻塞者session(即:持有者session)

找到'cursor: pin S wait on X' 等待事件的阻塞者session(即:持有者session) 来源于: How to Determine the Blocking Session for Event: 'cursor: pin S wait on X' (Doc ID 786507.1) 适用于: Oracle Database - Enterprise Edition - Version 10.2.0.1 to 11.2.0.3 [Release 10.2 to 11.2

【翻译自mos文章】SGA_TARGET与SHMMAX的关系

SGA_TARGET与SHMMAX的关系 参考原文: Relationship Between SGA_TARGET and SHMMAX (文档 ID 1527109.1) 适用于: Oracle Database - Enterprise Edition - Version 10.1.0.2 to 11.2.0.3 [Release 10.1 to 11.2] Information in this document applies to any platform. 目的: 解释了参数文件中

【翻译自mos文章】在11gR2 rac环境中,文件系统使用率紧张,并且lsof显示有很多oraagent_oracle.l10 (deleted)

在11gR2 rac环境中,文件系统使用率紧张,并且lsof显示有很多oraagent_oracle.l10 (deleted) 参考原文: High Space Usage and "lsof" Output Shows Many 'oraagent_oracle.l10 (deleted)' in GI environment (Doc ID 1598252.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.

【翻译自mos文章】使用Windows操作系统的Dell Pcserver,Oracle db报错:ORA-8103

翻译自mos文章:使用Windows操作系统的Dell Pcserver,Oracle db报错:ORA-8103 ORA-8103 using Windows platform and DELL servers (Doc ID 1921533.1) Applies to: Oracle Database - Personal Edition - Version 11.1.0.6 to 12.1.0.2 [Release 11.1 to 12.1] Oracle Database - Stand

【翻译自mos文章】使用buffer memory 参数来调整rman的性能。

使用buffer memory 参数来调整rman的性能. 本文翻译自mos文章:RMAN Performance Tuning Using Buffer Memory Parameters (Doc ID 1072545.1) rman 性能调整的目的是分辨一个特定的backup or  restore job的瓶颈. 并使用使用rman命令.初始化参数 或者对physical media的调整来提高整体的性能. 由于数据库容量持续变大,在客户的环境中,几十到几百TB的数据库很常见, serv

【翻译自mos文章】11gR2 OUI 在 PREREQUISITE CHECKS 时 hang住

翻译自mos文章:11gR2 OUI 在 PREREQUISITE CHECKS 时 hang住 适用于: Oracle Server - Enterprise Edition - Version 8.0.6.0 to 11.2.0.2.0 [Release 8.0.6 to 11.2] Information in this document applies to any platform. This can occur on any Unix/Linux platform 症状: 11gR2

【翻译自mos文章】升级到11.2.0.4之后在alert日志中出现 NUMA 警告信息

注:与本文有关的文章为:http://blog.csdn.net/msdnchina/article/details/43763927 升级到11.2.0.4之后在alert日志中出现 NUMA 警告信息 翻译自mos文章:NUMA warning message appear after upgrade to 11.2.0.4 (文档 ID 1600824.1)1 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.4 and