【翻譯自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.