首页 > 代码库 > 【翻译自mos文章】oracle支持在RDBMS HOME 下的 符号链接( Symbolic Links)吗?

【翻译自mos文章】oracle支持在RDBMS HOME 下的 符号链接( Symbolic Links)吗?

oracle支持在RDBMS HOME 下的 符号链接( Symbolic Links)吗?

参考原文:
Does Oracle support Symbolic Links in the RDBMS home? (Doc ID 813116.1)

适用于:
Oracle Server - Enterprise Edition - Version 9.2.0.1 to 11.2.0.3 [Release 9.2 to 11.2]
Oracle Server - Standard Edition - Version 9.2.0.1 to 11.2.0.3 [Release 9.2 to 11.2]
Information in this document applies to any platform.

答案:
Oracle Home里边的 Symbolic links  是十分强烈discouraged (暂时不知道把discouraged 翻译成啥好),理由是有很多问题会发生。

OUI安装Oracle Home的过程不包括创建 $ORACLE_HOME filesystem structure 到外边的 Symbolic links。因此,后续的到oracle home的符号链接可能是unix os vendor 弄的,此种情况,Oracle 会不给你建议,也不能为你解决问题。
若是额外的符号链接在oracle home中被发现,Oracle Global Customer Support  会要求你把消除符号链接作为排错的一个步骤。请知晓下列事实:
即使向oracle 开发部门登记一个bug,客户也会被要求在没有额外符号链接的情况下,能再现客户所报告的问题。

额外的符号链接经常会导致各种问题和错误,比如oui,dbca,netca以及其他gui工具。
包括relink命令和opatch tool在内的进程和命令也是与符号链接不能兼容的,它们不能以创建为符号链接的形式来工作。

考虑下面的这个例子: oracle home中使用了一个额外的符号链接,该符号链接指向了 $ORACLE_HOME filesystem structure的外部。
在这个环境被当做cloning source(see Note 300062.1, "How To Clone An Existing Server Installation Using OUI") 之前,该系统可能会正常运行。但是,在clone的target system中,这些符号链接是无效的,这些符号链接会指向在target system中不存在的文件和目录。
还有的可能性是 问题在源系统上一直潜伏(lie dormant),并没有发现,直到一个事件(比如relink)在目标系统上被发起。

另外一个例子: 符号链接导致的附加损害(collateral damage)是 安装rdbms software 到符号链接存在的filesystem structure中。
由于对$ORACLE_HOME不实际的使用全路径文件名和命名法(nomenclature),the Oracle Central Inventory (OCI) 也不使用$ORACLE_HOME的全路径文件名和命名法(nomenclature), This frequently leads to subsequent problems when the opatch utility reports that the OCI does not have that oracle home listed.
这个情况会阻止你在$ORACLE_HOME中打patch or patchset。

额外注意:
1.) If you are unsure what a symbolic link is, please see Note 1013357.6 "WHAT ARE SYMBOLIC LINKS?"

2.) One of the more common reasons that Customers mistakenly add symbolic links into an $ORACLE_HOME filesystem structure is to gain additional effective free space within that structure.

3.) You can list all of the symbolic links within an $ORACLE_HOME filesystem structure with the following UNIX OS command:
         find $ORACLE_HOME -type l -print

4.) The few symbolic links that the OUI (aka runInstaller) places within the $ORACLE_HOME filesystem structure are to provide both a generic name and a version=specific name for a library file, such as :

/u01/app/oracle/product/10.2.0/db_1/ctx/lib/libicuuc.so
-> /u01/app/oracle/product/10.2.0/db_1/ctx/lib/libicuuc.so.26.1

These symbolic links are created by the OUI during the creation of the binaries, and are present because the OUI created them for the binaries to work correctly. These references are recorded again in the OCI in binary mode and cannot be changed.