【翻译自mos文章】How to Set or Switch Oracle Homes on Windows (Doc ID 969581.1)
2014-07-21 08:59
441 查看
参考原文:
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的环境变量信息。
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的环境变量信息。
相关文章推荐
- How to Proceed From a Failed 10g or 11.1 Oracle Clusterware (CRS) Installation (Doc ID 239998.1)
- How To Verify the Word Size (32bit vs 64bit) of the Oracle Binary on MS Windows systems (文档 ID 46506
- How to Set a Custom Logon Screen Background on Windows 7, 8, or 10
- How To Verify the Word Size (32bit vs 64bit) of the Oracle Binary on MS Windows systems (文档 ID 46506
- How to Clean Up After a Failed 10g or 11.1 Oracle Clusterware Installation [ID 239998.1]
- How to create id with AUTO_INCREMENT on Oracle?
- Oracle Grid Infrastructure: How to Troubleshoot Missed Network Heartbeat Evictions (Doc ID 1534949.1
- How to make BBED(Oracle Block Brower and EDitor Tool) on Unix/Linux/Windows
- How To Release and/or Renew IP Addresses on Windows XP | 2000 | NT
- How to Gather Optimizer Statistics on 12c (Doc ID 1445302.1)
- How to Set Up Chinese Characters on Windows 7
- How to Gather Optimizer Statistics on 11g (Doc ID 749227.1)
- How to Add the JVM Component to an Existing Oracle Database (Doc ID 1461562.1)
- How to set up a Subversion (SVN) server on CentOS or Fedora
- How to make BBED(Oracle Block Brower and EDitor Tool) on Unix/Linux/Windows
- how to install the Oracle Java (JDK) 8, Oracle Java (JDK + JRE) 7 or Oracle Java (JDK) 6 on Ubuntu 1
- How to Setup Active DataGuard on Exadata (Doc ID 1580796.1)
- How to Automate Startup/Shutdown of Oracle Database on Linux [ID 222813.1]
- OA Framework - How to Find the Correct Version of JDeveloper to Use with E-Business Suite 11i or Release 12.x (Doc ID 416708.1)
- IDENTITY_INSERT的打开和关闭(how to set IDENTITY_INSERT to OFF or ON)