• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

【翻译自mos文章】HowtoSetorSwitchOracleHomesonWindows(DocID9

mysql 搞代码 4年前 (2022-01-09) 25次浏览 已收录 0个评论

参考原文: 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) Mic

参考原文:
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' 环境变量。—>注意:注册表中的ORAC本文来源gaodai#ma#com搞*!代#%^码网5LE_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的环境变量信息。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【翻译自mos文章】HowtoSetorSwitchOracleHomesonWindows(DocID9

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址