Deployment fails in DbMssTable.setColumnsViaDb
[com.sap.d] [deployment] [JSPM] [retrieveSchemaName] [SDM] [setColumnsViaDb]
Related:
- Debug mode for SLUtil/CVERS in the SDM or JSPMSymptom This is a request by SAP Support/Development with regard...
Symptom
Deployment fails, for example during NW04s SP5 JSPM-upgrade.
The log (SDM, jddi) shows
…
9:53:03 2004-09-20 dbs-Info: <<<<<<<<<<<<<< Table Deployment >>>>>>>>>>
9:53:03 2004-09-20 dbs-Info: <null>
9:53:03 2004-09-20 dbs-Info: <<< Analyze table BC_DDDBRTH >>>
E R R O R ******* (DbMssTable)
9:53:03 2004-09-20 mss-Error: setColumnsViaDb failed: <null>
E R R O R ******* (DbModificationManager)
9:53:03 2004-09-20 dbs-Error: <null>
…
or
<<<<<<<<<<<<<< Table Deployment >>>>>>>>>>>>>
Feb 20, 2008 3:32:45 PM Info: 15:32:45 2008-02-20 dbs-Info:
Feb 20, 2008 3:32:45 PM Info: 15:32:45 2008-02-20 dbs-Info:
Feb 20, 2008 3:32:45 PM Info: 15:32:45 2008-02-20 dbs-Info: <<< Analyze table BC_DDDBRTH >>>
Feb 20, 2008 3:32:45 PM Info: 15:32:45 2008-02-20 dbs-Info: <<< Analyze table BC_DDDBRTH >>>
Feb 20, 2008 3:32:45 PM Info: 15:32:45 2008-02-20 dbs-Info: predefined action is: >>>null<<<
Feb 20, 2008 3:32:45 PM Info: 15:32:45 2008-02-20 dbs-Info: predefined action is: >>>null<<<
Feb 20, 2008 3:32:45 PM Info:
Feb 20, 2008 3:32:45 PM Info: E R R O R ******* (DbMssTable)
Feb 20, 2008 3:32:45 PM Info: 15:32:45 2008-02-20 mss-Error: retrieveSchemaName failed: [NWMss][SQLServer JDBC Driver]Connection reset by peer: socket write error
Feb 20, 2008 3:32:45 PM Info:
Feb 20, 2008 3:32:45 PM Info: E R R O R ******* (DbModificationManager)
Feb 20, 2008 3:32:45 PM Info: 15:32:45 2008-02-20 dbs-Error:
Feb 20, 2008 3:32:45 PM Info:
Feb 20, 2008 3:32:45 PM Info: E R R O R ******* (DbModificationManager)
Feb 20, 2008 3:32:45 PM Info: 15:32:45 2008-02-20 dbs-Error:
or
Apr 28, 2009 9:45:09 AM Info: 9:45:09 2009-04-28 dbs-Info: <<<<<<<<<<<<<< Table Deployment >>>>>>>>>>>>>
Apr 28, 2009 9:45:09 AM Info: 9:45:09 2009-04-28 dbs-Info:
Apr 28, 2009 9:45:09 AM Info: 9:45:09 2009-04-28 dbs-Info:
Apr 28, 2009 9:45:09 AM Info: 9:45:09 2009-04-28 dbs-Info: <<< Analyze table BC_DDDBRTH >>>
Apr 28, 2009 9:45:09 AM Info: 9:45:09 2009-04-28 dbs-Info: <<< Analyze table BC_DDDBRTH >>>
Apr 28, 2009 9:45:09 AM Info: 9:45:09 2009-04-28 dbs-Info: predefined action is: >>>null<<<
Apr 28, 2009 9:45:09 AM Info: 9:45:09 2009-04-28 dbs-Info: predefined action is: >>>null<<<
Apr 28, 2009 9:45:09 AM Info:
Apr 28, 2009 9:45:09 AM Info: E R R O R ******* (DbMssTable)
Apr 28, 2009 9:45:09 AM Info: 9:45:09 2009-04-28 mss-Error: retrieveSchemaName failed: The connection is closed.
Apr 28, 2009 9:45:09 AM Info:
Apr 28, 2009 9:45:09 AM Info: E R R O R ******* (DbModificationManager)
Apr 28, 2009 9:45:09 AM Info: 9:45:09 2009-04-28 dbs-Error:
Apr 28, 2009 9:45:09 AM Info:
Apr 28, 2009 9:45:09 AM Info: E R R O R ******* (DbModificationManager)
Apr 28, 2009 9:45:09 AM Info: 9:45:09 2009-04-28 dbs-Error:
(the last two cases were observed during JSPM updates from NW700 SP18 to NW701 SP3)
Other terms
deployment, SDM, JSPM, retrieveSchemaName, setColumnsViaDb,
com.sap.dqe.dbschema, EP-PSERV, DbModificationManager, DbMssTable
Reason and Prerequisites
In the cases known to SAP this problem was caused by an invalid or non-usable setting for the temporary directory used by the Java process.
The error mentioned above can occur, if the assigned directory path does not exist, or is not accessible, or if there is not enough free memory at that location.
Solution
The value for the temporary directory is determined either by the Java parameter java.io.tmp or the environment variables TMP, TEMP or TMP_DIR.
We recommend you to set TMP, TEMP and TMP_DIR for the users <sid>adm and SAPService<SID> to an existing and accessible directory on a disk with enough memory. Avoid to use variables within the definition.
Furthermore you should set the Java parameter java.io.tmp for the deployment tool explicitly, too:
for deployment via SDM (Web Application Server 640, NetWeaver 2004s):
Modify the property file sdm_jstartup.properties (can be found at <drive>:\usr\sap\<SID>\JC<nn>\SDM\program\config):
add to sdm.JavaParameters “-Djava.io.tmpdir=<path>” (with <path> refering to an existing, accessible path, disk with enough memory), for example:
sdm.JavaParameters=-Djava.io.tmpdir=c:/temp/
(use slashes instead of backslashes).
Restart SDM.
for online deployment:
Use the configtool to edit the template.
Add
-Djava.io.tmpdir=<path>
to JavaParameters.
Restart the application server.
Rerun the deployment.