Professional Documents
Culture Documents
If upgrade is not possible use the following steps Workaround: 1. Make sure you have selected the option "Update deployed SDAs/SCAs that have any version" in the SDM Remote GUI 2. Redeploy ADSSAP.SCA (and other potentially big SCAs) to trigger optimization of the repository Once completed, restart SAPINST and run a new installation instead of continuing the old one. Also, the SDM mode may need to be reset. The process puts it in Standalone mode, and it may have to be switched back to integrated before starting again. If so, follow note 1261756.
Page 1 of 14
Page 2 of 14
Stopped SAPINST, added LIBPATH variable to kernel directory, and restarted SAPINST. Error at the same point, with the following log entries
ERROR in initialization (can't get SVERS-version) ERROR in initialization (can't get SVERS-version)
Updated the kernel again from original 159 sources. SR3 shipped with kernel 144. Once the kernel was back to the patch level it needed, started the database again. R3trans returned errors indicated the environment variable DB2DB6EKEY was not set. Setting this to QBIuswaxg171 resolved the database connection issue. Setting the environment variable and restarting SAPINST has corrected the adjustNametab error.
Page 3 of 14
The BI system appears to require a transport when performing this conversion as it attempts to modify the Data Transfer Process (DTP) items . See also Section 8.1.5
Page 4 of 14
Page 5 of 14
1.1.10
NIETIMEOUT warning
This error occurs when SAPINST attempts to start the instance. The connection to the message server fails. Check the /etc/services file to ensure there is not a conflict with the message server port. Check the parameter rslg/collect_daemon/listen_port. There may be a port conflict there. The default for this parameter should be 14<SYSNO>. If possible, change the ports to the default values and restart and continue or retry SAPINST.
1.1.11
TSV_TNEW_PAGE_ALLOC_FAILED
While running BDLS or other memory/space intensive tasks, the TSV_TNEW_PAGE_ALLOC_FAILED short dump may occur. The short description will be something like No more storage space available for extending an internal table. Check the value for abap/heaplimit and increase it as appropriate. This will require a restart of the SAP system. Continue the task following the restart.
1.1.12
Page 6 of 14
1.1.13
1.1.14
1.2.1 <sid>_presteps.sh
The pre-steps script executes an export for users, EDI data (partner profiles and port definitions), PSE (SSO) and RFC destinations. The script uses control files along with the R3trans program to run database statements. The script requires no options to run, but will ask if the logs should be displayed during execution. All the exports will be run when the script is executed. The import step is more selective to allow for different strategies, mostly regarding the user master data. Script listing:
#!/usr/bin/csh #=============================================================================== # Program: <sid>_prestep.sh # # Author: Thomas Kremer # # Description: # Perform the export of EDI, RFC, User, and PSE data. #
Page 7 of 14
# TODO: # Add ability to pass "-y" in as command line parameter to automatically # confirm all prompts in the positive - i.e. run everything. # Make script more generic - prompt or use env and permit running from any # system. # # Revision History: #------------------------------------------------------------------------------# Date | Description | Author #------------------------------------------------------------------------------# 2007-07-27 | Initial version. | TAK #=============================================================================== clear echo "This screens exports the standard PLM records, are you sure? End with cntrl-c - do you want to see the outlogs (y/n)" set answer = $< switch ($answer) case [yY]: echo "Executing the Export of ALE/EDI/IDOC Ports and Partners...." R3trans -v -w ediexp100.log ediexp100 more ediexp100.log clear echo "Executing the Export of the User Records (Client 100)...." R3trans -v -w usrexp100.log usrexp100 more usrexp100.log clear echo "Executing the Export of the User Records (Client 000)...." R3trans -v -w usrexp000.log usrexp000 more usrexp000.log clear echo "Executing the RFC Export of the Records... " R3trans -v -w rfcexp100.log rfcexp100 more rfcexp100.log clear echo "Executing the PSE Export of the records..." R3trans -v -w pseexp100.log pseexp100 more pseexp100.log breaksw default: echo "Executing the Export of ALE/EDI/IDOC Ports and Partners...." R3trans -v -w ediexp100.log ediexp100 echo "Executing the Export of the User Records (Client 100)...." R3trans -v -w usrexp100.log usrexp100 echo "Executing the Export of the User Records (Client 000)...." R3trans -v -w usrexp000.log usrexp000 echo "Executing the RFC Export of the Records... " R3trans -v -w rfcexp100.log rfcexp100 echo "Executing the PSE Export of the records..." R3trans -v -w pseexp100.log pseexp100 breaksw endsw
1.2.2 <sid>_refresh.sh
The <sid>_refresh script automatically removes and modifies some data in the database to eliminate manual steps in the refresh process. For each step in the script, a Yes/No prompt appears. Pressing Y will execute the step. Any other key will cause the step to be skipped. Script listing:
#!/usr/bin/csh #=============================================================================== # Program: <sid>_refresh.sh # # Author: Thomas Kremer # # Description: # This script automates the removal of data from select tables folowing a
Page 8 of 14
# redirected restore. The user is prompted before each section to confirm # the data is to be removed. Ctrl-C can be used to cancel execution at any of # the confirmation prompts throughout the script. # # TODO: # Add ability to pass "-y" in as command line parameter to automatically # confirm all prompts in the positive - i.e. run everything. # Make script more generic - prompt or use env and permit running from any # system. # # Revision History: #------------------------------------------------------------------------------# Date | Description | Author #------------------------------------------------------------------------------# 2007-07-31 | Added prompts/switch statements. | RMD # 2007-07-31 | Initial version. | TAK #=============================================================================== # Variables and other global valuesA setenv logd `date -u +%a%d%h%y` setenv mylog {$0}_{$logd}.log setenv bdat `date -u +%H%D` echo "XB1 refresh script called at {$bdat}" | tee -a $mylog # Main Execution clear echo "This script will prompt for actions to perform as part of the system refresh." echo "Ensure that you are certain about steps you are skipping since this can have" echo "unwanted sideeffects and should only be performed by senior admins." echo "Do you want to delete old monitoring etc. tables no longer needed?" set answer = $< switch ($answer) case [yY]: echo "Selection to remove the old monitoring entries..." | tee -a $mylog db2 "delete from sapr3.alconseg" | tee -a $mylog db2 "delete from sapr3.alsystems" | tee -a $mylog db2 "delete from sapr3.dbsnp" | tee -a $mylog db2 "delete from sapr3.moni" | tee -a $mylog db2 "delete from sapr3.osmon" | tee -a $mylog db2 "delete from sapr3.pahi" | tee -a $mylog db2 "delete from sapr3.sdbad" | tee -a $mylog db2 "delete from sapr3.sdbap" | tee -a $mylog db2 "delete from sapr3.sdbah" | tee -a $mylog db2 "delete from sapr3.sdbar" | tee -a $mylog db2 "delete from sapr3.tpfet" | tee -a $mylog db2 "delete from sapr3.tpfht" | tee -a $mylog breaksw default: echo "Skipping removal of old tables." echo "Skipping to remove the old monitoring entries..." >>$mylog breaksw endsw #------------------------------------------------------------------------------echo "Remove lock table TLOCK?" set answer = $< switch ($answer) case [yY]: echo "Deleting lock table TLOCK." echo "Selection to remove the lock entries..." >>$mylog db2 "delete from sapr3.tlock" | tee -a $mylog breaksw default: echo "Skipping lock table TLOCK." echo "Skipping to remove the old lock entries..." >>$mylog breaksw endsw
Page 9 of 14
#------------------------------------------------------------------------------echo "Adjust printer server for <SID> refresh?" set answer = $< switch ($answer) case [yY]: echo "Selection to adjust the Print server hostname ..." >>$mylog db2 "update sapr3.tsp03c set PAMSSERVER='<hostname>_<SID>_<SYSNO>'" | tee -a $mylog db2 "update sapr3.tsp03d set PAMSSERVER=<hostname>_<SID>_<SYSNO>'" | tee -a $mylog db2 "update sapr3.tsp03d set PADISABLED = 'X'" | tee -a $mylog breaksw default: echo "Skipping to .djust the Print server hostname .." >>$mylog echo "Skipping print server adjustment." breaksw endsw #------------------------------------------------------------------------------echo "Remove table buffer synch data?" set answer = $< switch ($answer) case [yY]: echo "Selection to remove the table buffer synch data entries..." >>$mylog echo "Deleting table buffer synch data." db2 "delete from sapr3.ddlog" | tee -a $mylog breaksw default: echo "Skipping to remove the old table buffer synch data entries..." >>$mylog echo "Skipping table buffer synch data." breaksw endsw #------------------------------------------------------------------------------echo "Remove Logon groups?" set answer = $< switch ($answer) case [yY]: echo "Selection to remove the Logon Group entries..." >>$mylog echo "Deleting logon groups." db2 "delete from sapr3.rzllitab" | tee -a $mylog breaksw default: echo "Skipping logon groups." echo "Skipping to remove the old Logon Group entries..." >>$mylog breaksw endsw #------------------------------------------------------------------------------echo "Update Workbench information to new system (SE06)?" set answer = $< switch ($answer) case [yY]: echo "Selection to update the Workbench Information..." >>$mylog echo "Updating Workbench information to new <SID> system (SE06)" db2 "update sapr3.tadir set srcsystem='<SID>' where pgmid='HEAD' and object='SYST'" | tee -a $mylog breaksw default: echo "Skipping to update the Workbench Information..." >>$mylog echo "Skipping updating workbench information to new system." breaksw endsw #-------------------------------------------------------------------------------
Page 10 of 14
echo "Delete job for the Auto_session_Manager?" set answer = $< switch ($answer) case [yY]: echo "Deleting job for Auto_session_Manager." echo "Selection to remove the Auto_session_Manager entries..." >>$mylog db2 "delete from sapr3.tbtco where jobname like 'AUTO_SESS%'" | tee -a $mylog db2 "delete from sapr3.tbtcs where jobname like 'AUTO_SESS%'" | tee -a $mylog db2 "delete from sapr3.tbtcp where jobname like 'AUTO_SESS%'" | tee -a $mylog db2 "delete from sapr3.btcevtjob where jobname like 'AUTO_SESS%'" | tee -a $mylog breaksw default: echo "Skipping to remove the old Auto_session_Manager entries..." | tee -a $mylog breaksw endsw #------------------------------------------------------------------------------echo "Delete job for the SASM_Z* Jobs?" set answer = $< switch ($answer) case [yY]: echo "Selection to remove the SASM* entries..." >>$mylog echo "Deleting job for the SASM_Z* Jobs." db2 "delete from sapr3.tbtco where jobname like 'SASM_Z%'" | tee -a $mylog db2 "delete from sapr3.tbtcs where jobname like 'SASM_Z%'" | tee -a $mylog db2 "delete from sapr3.tbtcp where jobname like 'SASM_Z%'" | tee -a $mylog db2 "delete from sapr3.btcevtjob where jobname like 'SASM_Z%'" | tee -a $mylog breaksw default: echo "Skipping to remove the old SASM* entries..." | tee -a $mylog breaksw endsw #------------------------------------------------------------------------------echo "Clean out RFC destinations?" set answer = $< switch ($answer) case [yY]: echo "Cleaning out RFC destinations." echo "Selection to remove the RFC entries..." >>$mylog db2 "delete from sapr3.rfcdes" | tee -a $mylog db2 "delete from sapr3.rfcdoc" | tee -a $mylog db2 "delete from sapr3.rfcattrib" | tee -a $mylog breaksw default: echo "Skipping to remove the old RFC entries..." | tee -a $mylog breaksw endsw #------------------------------------------------------------------------------echo "Delete EDI table data?" set answer = $< switch ($answer) case [yY]: echo "Selection to remove the EDI entries..." >>$mylog echo "Cleaning out the EDI tables" db2 "delete from sapr3.EDP12" | tee -a $mylog db2 "delete from sapr3.EDP13" | tee -a $mylog db2 "delete from sapr3.EDP21" | tee -a $mylog db2 "delete from sapr3.EDIPO" | tee -a $mylog db2 "delete from sapr3.EDIPOA" | tee -a $mylog db2 "delete from sapr3.EDIPOD" | tee -a $mylog db2 "delete from sapr3.EDIPOF" | tee -a $mylog db2 "delete from sapr3.EDIPOI" | tee -a $mylog
Page 11 of 14
db2 "delete from sapr3.EDIPORT" | tee -a $mylog db2 "delete from sapr3.EDIPOX" | tee -a $mylog db2 "delete from sapr3.EDIPOXH" | tee -a $mylog db2 "delete from sapr3.EDIPOXU" | tee -a $mylog db2 "delete from sapr3.EDPI1" | tee -a $mylog db2 "delete from sapr3.EDPO1" | tee -a $mylog db2 "delete from sapr3.EDP03" | tee -a $mylog db2 "delete from sapr3.EDPP1" | tee -a $mylog db2 "delete from sapr3.EDPPV" | tee -a $mylog db2 "delete from sapr3.EDPST" | tee -a $mylog db2 "delete from sapr3.EDPVW" | tee -a $mylog breaksw default: echo "Skipping to remove the old EDI entries..." | tee -a $mylog echo "Skip cleaning out EDI tables." breaksw endsw #------------------------------------------------------------------------------echo "Delete PSE data? (this is still experimental and not tested)" set answer = $< switch ($answer) case [yY]: echo "Selection to remove the PSE entries..." >>$mylog echo "Deleting PSE Data" db2 "delete from sapr3.twpsso2acl" | tee -a $mylog db2 "delete from sapr3.ssf_pse_d" | tee -a $mylog db2 "delete from sapr3.ssf_pse_h" | tee -a $mylog db2 "delete from sapr3.strustcert" | tee -a $mylog breaksw default: echo "Skipping to remove the old PSE entries..." | tee -a $mylog echo "Skipping deletion of PSE data." breaksw endsw setenv edat `date -u +%H%D` echo "Script ended at {$edat}" >>$mylog
1.2.3 <sid>_poststep1.sh
The post step script runs the import of the data exported by the pre-steps script. This script contains logic to optionally import each exported data file. This allows us to selectively import the EDI and RFC data, but leave the user data alone based on requests from the system owners or Security. Script listing:
#!/usr/bin/csh #=============================================================================== # Program: xb1_poststep1.sh # # Author: Thomas Kremer # # Description: # Perform the import of data saved off before the refresh started - EDI data # RFCs, users, and PSE. # # TODO: # Add ability to pass "-y" in as command line parameter to automatically # confirm all prompts in the positive - i.e. run everything. # Make script more generic - prompt or use env and permit running from any # system. # # Revision History: #------------------------------------------------------------------------------# Date | Description | Author #------------------------------------------------------------------------------# 2007-07-31 | Added prompts/switch statements. | RMD # 2007-07-31 | Initial version. | TAK
Page 12 of 14
#=============================================================================== setenv logd `date -u +%a%d%h%y` setenv mylog {$0}_{$logd}.log setenv bdat `date -u +%H%D` echo "Script started at {$bdat}" | tee -a %mylog echo "This script imports the preserved data back into the target system, SAP needs to be up." echo "The data must have been exported prior to the start of the refresh in order to run this script." #------------------------------------------------------------------------------echo "Import RFCs?" set rfc = $< switch ($rfc) case [yY]: echo "Importing saved RFCs." | tee -a $mylog R3trans -v -w rfcimp100.log rfcimp100 | tee -a $mylog breaksw default: echo "Skipping RFC import." | tee -a $mylog breaksw endsw #------------------------------------------------------------------------------echo "Import EDI data?" set edi = $< switch ($edi) case [yY]: echo "Importing EDI data." | tee -a $mylog R3trans -v -w edimp100.log ediimp100 | tee -a $mylog breaksw default: echo "Skipping EDI data import." | tee -a $mylog breaksw endsw #------------------------------------------------------------------------------echo "Import saved user data for Client 100?" set user = $< switch ($user) case [yY]: echo "Importing user data." | tee -a $mylog R3trans -v -w usrimp100.log usrimp100 | tee -a $mylog breaksw default: echo "Skipping user data import for Client 100." | tee -a $mylog breaksw endsw #------------------------------------------------------------------------------echo "Import saved user data for Client 000?" set user = $< switch ($user) case [yY]: echo "Importing user data." | tee -a $mylog R3trans -v -w usrimp000.log usrimp000 | tee -a $mylog breaksw default: echo "Skipping user data import for Client 000." | tee -a $mylog breaksw endsw #-------------------------------------------------------------------------------
Page 13 of 14
echo "Import PSE?" set pse = $< switch ($pse) case [yY]: echo "Importing PSE data." | tee -a $mylog R3trans -v -w pseimp100.log pseimp100 | tee -a $mylog breaksw default: echo "Skipping PSE import." | tee -a $mylog endsw setenv edat `date -u +%H%D` echo "Script ended at {$edat}" | tee -a $mylog
Page 14 of 14