2015年4月16日 星期四

【Oracle ERP Note 】ERROR: Unable to set CLASSPATH is missing

Problem

當在 DB Tier 以 adautocfg.sh 上 Patch 時,系統出現下列錯誤訊息:

[proddba]$ sh $ORACLE_HOME/appsutil/scripts/PROD_erp/adautocfg.sh
Enter the APPS user password:
The log file for this session is located at: /u01/proddb/proddb/11.2.2/appsutil/log/PROD_erp/04131943/adconfig.log

AutoConfig is configuring the Database environment...

AutoConfig will consider the custom templates if present.
        Using ORACLE_HOME location : /u01/proddb/proddb/11.2.2
ERROR: Unable to set CLASSPATH
         is missing
ERROR: Unable to set CLASSPATH
         is missing
        Classpath                   :

Version Conflicts among development maintained and customized templates encountered; aborting AutoConfig run.

The logfile for this session is located at: /u01/proddb/proddb/11.2.2/appsutil/log/PROD_erp/04131943/adconfig.log
Solution Oracle 建議以下列步驟解決:

1. Take a backup of the current database context file. 

2. Generate the new Database Context File  using the following command: 
perl /appsutil/bin/adbldxml.pl 

3. Run adconfig on DB tier against the new DB tier context file for R12 as follows:     
/appsutil/bin/adconfig.sh contextfile= 

replace  with the real context file path and name 

4. Retest. 
步驟 1 雖是預防,但是冗餘。因在執行perl /appsutil/bin/adbldxml.pl 指令時,系統會判別此 DB 的 context file 是否存在,若已經有此檔案,系統會先以.bak檔名備份,然後產生新的 context file。 注意:若要在步驟 1 備份 DB context file 時,要驗證 current directory 是否在 $ORACLE_HOME/proddb/proddb/11.2.2/appsutil 之下。 由於是上 Patch 執行 adautocfg.sh 時出現錯誤,所以依據上面說明執行後,只要重新執行 adautocfg.sh 即可,然後接著繼續執行其他未完成的步驟。因此以下列出修補此錯誤的 Action Plan: 0. Enable Maintenance Mode 1. Shut down AP tier 2. Back up DB Context File 3. Generate a new DB Context File 4. Update 系統的 DB Context File

0. Enable Maintenance Mode
# su - prodmgr
$ adadmin

1. Shut down AP tier
# su - prodmgr
$ cd $APPL_TOP
$ . ./APPSPROD_erp.env
$ $INST_TOP/admin/scripts/adstpall.sh

2. Back up DB Context File
# su  - proddba
$ cd $ORACLE_HOME
$ . ./PROD_erp.env
$ cp $ORACLE_HOME/appsutil/PROD_erp.xml PROD_erp.xml.bak

3. Generate a new DB Context File
$ perl $ORACLE_HOME/appsutil/adbldxml.pl

4. Update 系統的 DB Context File
% perl $ORACLE_HOME/appsutil/bin/adconfig.sh contextfile=/u01/proddb/proddb/11.2.2/appsutil/PROD_erp.xml

Verify 我們重新執行 adautocfg,此時 ClassPath此環境變數可找到執行命令時所需參考到的檔案。

[proddba]$ sh $ORACLE_HOME/appsutil/scripts/PROD_erp/adautocfg.sh
Enter the APPS user password:
The log file for this session is located at: /u01/proddb/proddb/11.2.2/appsutil/log/PROD_erp/04162009/adconfig.log

AutoConfig is configuring the Database environment...

AutoConfig will consider the custom templates if present.
        Using ORACLE_HOME location : /u01/proddb/proddb/11.2.2
        Classpath                   : :/u01/proddb/proddb/11.2.2/jdbc/lib/ojdbc5.jar:/u01/proddb/proddb/11.2.2/appsutil/java/xmlparserv2.jar:/u01/proddb/proddb/11.2.2/appsutil/java:/u01/proddb/proddb/11.2.2/jlib/netcfg.jar:/u01/proddb/proddb/11.2.2/jlib/ldapjclnt11.jar

        Using Context file          : /u01/proddb/proddb/11.2.2/appsutil/PROD_erp.xml

Context Value Management will now update the Context file

        Updating Context file...COMPLETED

        Attempting upload of Context file and templates to database...COMPLETED

Updating rdbms version in Context file to db112
Updating rdbms type in Context file to 64 bits
Configuring templates from ORACLE_HOME ...

AutoConfig completed successfully.

沒有留言:

張貼留言

prettyPrint();