Tuesday, 6 September 2022

SAP GUI for Java 7.80 new feature Details


 SAP GUI for Java 7.80 new feature Details

What are the new features and bug fixes of a SAP GUI for Java 7.80 revision?

SAP GUI for Java New Release 7.80 beta 16 (June 21, 2022)

Enhancements and New Features

Support for New Platforms:

  • Native support for macOS on Apple silicon is available now. With this, it runs both faster and consumes less battery power on Macs with Apple silicon. Also it works without the availability of Rosetta2 as the compatibility layer.

Support for Java SE 17:

  • SapMachine 17 with OpenJFX 17

Support for New OS Versions:

  • Fedora 36
  • Red Hat Enterprise Linux 9
  • Ubuntu 22.04

Themes:

  • Quartz Light and Dark themes can be switched and activated without the need to restart.
  • On macOS, the Quartz Light and Dark themes can be set to adjust with the OS appearance. On startup, the Quartz theme fitting to current active OS appearance is used, and once it changes, the theme is switched accordingly.

About Dialog:

  • The dialog to show the version information has been redesigned.

Icon resources:

  • New application and installer icons are used.

Sounds:

  • A variety of sound schemes has been added for audio feedback.

Discontinued Features

Themes:

  • The Belize theme has been removed.



Reference : 3204106



Monday, 5 September 2022

How to generate the keystore pkcs12 file

How to generate the keystore pkcs12 file.


 Find the below instructions to use Java Keytool for generating keystore files before that find the below details of default locations of the Java Keytool:

Platform:

windows : <INSTALLDIR>\SAP BusinessObjects Enterprise XI 4.0\ win64_x64\sapjvm\bin

Linux : sap_bobj/enterprise_xi40/linux_x64/sapjvm/bin/keytool

1. Go to Java Keytool’s default location and launch Command Prompt.

2. Run the Java Keytool for generating keystore.

2.1 Go to <INSTALLDIR>\ SAP BusinessObjects Enterprise XI 4.0\win64_x64\sapjvm\bin.

2.2 Run the command:

Windows: <INSTALLDIR>\SAP BusinessObjects Enterprise XI 4.0\win64_x64\sapjvm\bin\keytool” -genkey -alias mywin -keystore keystore.p12 -storepass admin1 -dname CN=palmtree -validity 365 -keyalg DSA -keysize 1024 -storetype pkcs12

Linux: */sap_bobj/enterprise_xi40/java/lib>/sap_bobj/enterprise_xi40/linux_x64/sapjvm/bin/keytool” -genkey -alias mywin -keystore keystore.p12 -storepass admin1 -dname CN=palmtree -validity 365 -keyalg DSA -keysize 1024 -storetype pkcs12


To override the default values, run the tool together with the -? parameter. The following message is displayed:

Usage: keytool -genkey <options> 

        -keystore <filename(keystore.p12)> 

        -alias <key entry alias(mywin)> 

        -storepass <keystore password (admin1)>

        -dname <certificate subject DN(CN=palmtree)> 

        -validity <number of days (365)> 

        -cert <filename (cert.der)> 

         (No certificate is generated when importing a keystore)

        -importkeystore <filename>


You can use the parameters to override the default values.

Note: You must use Java Keytool as a replacement of PKCS12 tool to generate keystore. Refer 2524775 Information published on SAP site for more information.





Friday, 2 September 2022

How to reset the SYSTEM User Password in the System Database without USER Admin access


How to reset the SYSTEM User Password in the System Database.

The database administrator has a number of options to reset the password for the SYSTEM user in the system database.

Situation:

1. If you can log on as the SYSTEM user  --> Logon credentials for the SYSTEM user in the system database

2. If you cannot log on as the SYSTEM user --> 
  • The system privilege USER ADMIN for a different user
  • To reset the SYSTEM user password in emergency mode, you need the credentials of the operating system administrator (<sid>adm).
Context : 

1. If you can log on as the SYSTEM user.

  • Change the password using SAP HANA cockpit.
  • Log onto the system database, and choose User & Role Management  Manage Users.
  • Log onto the system database, and execute the ALTER USER SQL statement:  
                  ALTER USER SYSTEM PASSWORD <new_password>

2. If you cannot log on as the SYSTEM user

  • If the password of the SYSTEM user has been irretrievably lost, you cannot log on to the database as the SYSTEM user.
  • A user with the system privilege USER ADMIN can set a new password for the SYSTEM user.
  • Alternatively, you can reset the password as the operating system administrator by starting the name server in emergency mode. Follow the steps below.
Procedure:

To reset the SYSTEM user password in emergency mode:

1. Log on to the server on which the name server of the system database is running as the operating system user (that is, <sid>adm user).
2. Open a command line interface.
3. Shut down the instance by executing the following command:

/usr/sap/<SID>/HDB<instance>/exe/sapcontrol -nr <instance> -function StopSystem HDB

4. In a new session, start the name server of the system database by executing the following commands:

/usr/sap/<SID>/HDB<instance>/hdbenv.sh
/usr/sap/<SID>/HDB<instance>/exe/hdbnameserver -resetUserSystem

After some start-up notifications, the prompt resetting of user SYSTEM - new password appears, followed by additional notifications, 




Reset SYSTEM User Password (System Database)

5. After the last notification appears, enter a new password for the SYSTEM user.

You must enter a password that complies with the password policy configured for the system.

The password for the SYSTEM user of the system database is reset and the name server stops.

6. In a new session, start the instance by executing the following command:

/usr/sap/<SID>/HDB<instance>/exe/sapcontrol -nr <instance> -function StartSystem HDB



Reference URL : Link

For Education purpose only

Thursday, 1 September 2022

How to unlock/reactivate the SYSTEM user on SAP HANA?


How to unlock/reactivate the SYSTEM user on SAP HANA?

Symptom:

You want to know how you can unlock/reactivate the SYSTEM user on SAP HANA.


Resolution;

1. Check who has the privilege "USER ADMIN" by running:

     SELECT DISTINCT object_type, privilege, grantee FROM SYS.GRANTED_PRIVILEGES where privilege = 'USER ADMIN'

2. Connect to HANA using the user, found in step 1 and run the following SQL command to unlock the SYSTEM user.

ALTER USER SYSTEM RESET CONNECT ATTEMPTS;

3. Check user SYSTEM is now available.

SELECT * FROM SYS.USERS where user_name = 'SYSTEM'

4. Now you can log on with SYSTEM user again.

 



Reference Snote: 2736167

Wednesday, 31 August 2022

The Application Server Java stopped - No appropriate logs can be found for investigation

 



The Application Server Java stopped - No appropriate logs can be found for investigation

Symptom:

AS Java terminates and no relevant log enries can be found in std_server log file.

AS Java terminates with exit code:

In dev_server files it can be seen that the system is terminated with for example exit code 1:

F [Thr 3342] Thu Jan 26 08:08:04 2017

F  [Thr 3342] *** LOG => SfCJavaVm: exit hook is called. (rc = 1)

F  ********************************************************************************

F  *** ERROR => Java node 'server1<x> terminated with exit code 1.

F  ***

F  *** Please see section 'Java program exit codes'

F  *** in SAP Note 1316652 for additional information and trouble shooting advice.

F  ********************************************************************************

F  [Thr 3342] *** LOG => exiting (exitcode 1, retcode 1).

M  [Thr 3342] CCMS: CCMS Monitoring Cleanup finished successfully.

Or for example with exit code 11112:

F [Thr 140265776588544] Tue Jan 10 09:55:42 2017

F  [Thr 140265776588544] *** LOG => SfCJavaVm: exit hook is called. (rc = -11112)

F  ********************************************************************************

F  *** ERROR => Java node 'server<x>' terminated with exit code -11112.

F  ***

F  *** Please see section 'Java program exit codes'

F  *** in SAP Note 1316652 for additional information and trouble shooting advice.

F  ********************************************************************************

F  [Thr 140265776588544] *** LOG => exiting (exitcode -11112, retcode 2).

M  [Thr 140265776588544] CCMS: CCMS Monitoring Cleanup finished successfully.


Shutdown occures due to expired time seen in dev_server log file:

F [Thr 139643987195744] *** LOG => Timer expired (120000 ms).

Or:

ERROR => Shutdown timer expired.

No further related entries can be found either in the instance work directory logs or in the default trace. After this AS Java can be started without any issue.


Resolution:

1. Open Configtool.

2. Choose the affected instance -> VM Parameters -> Additional -> click in New -> next to "Name" put "-XX:+DumpStackTraceOnSystemExit" -> press "OK".

3. Then you will see "-XX:+DumpStackTraceOnSystemExit" as a parameter under "VM Parameters". This parameter will be generating a thread dump from the shut down halt.

4. Restart the whole instance in order to validate changes.

5. Similar thread dumps can be seen in the latest dev_server log files after the next shutdown halt:

J Thu Jan  5 05:34:07 2017

 J  JVM_Halt called with exit code 1

 J  "Managed_Application_Thread_26" #160 prio=5 os_prio=0 cpu=320.00 [reset 40.00] ms elapsed=65.97 [reset 1.01] s allocated=35801568 B (34.14 MB) [reset 3417824 B (3.26 MB)] defined_classes=46

 J  io= file i/o: 72293/14580 B, net i/o: 1747986/573008 B, files opened:3, socks opened:0  [reset file i/o: 72293/14580 B, net i/o: 82198/44320 B, files opened:3, socks opened:0 ]

 J  user="XXXXX" application="ariba.com/ariba_JobBean" isapplicationthread="true" tid=0x0000000001e88800 nid=0x1f04e / 127054  pthread-id=139842005186304 runnable  [_thread_in_vm (_running), stack(0x00007f2f80eb3000,0x00007f2f810b4000)] [0x00007f2f810af000]

 J     java.lang.Thread.State: RUNNABLE

 J   at java.lang.Shutdown.halt0(I)V(Native Method)

 J   at java.lang.Shutdown.halt(I)V(Shutdown.java:95)

 J   - locked <0x0000000747e92e78> (a java.lang.Shutdown$Lock)

 J   at java.lang.Shutdown.exit(I)V(Shutdown.java:169)

 J   - locked <0x0000000747e04a98> (a java.lang.Class for java.lang.Shutdown)

 J   at java.lang.Runtime.exit(I)V(Runtime.java:90)

 J   at java.lang.System.exit(I)V(System.java:910)

 J   at ariba.filetransferclient.Util.zip(Ljava/io/File;Ljava/io/File;Ljava/io/FilenameFilter;)V(Util.java:390)

 J   at ariba.filetransferclient.Util.generateZip(Ljava/io/File;Ljava/io/File;Ljava/io/FilenameFilter;Lorg/apache/commons/logging/Log;)V(Util.java:489)


The above example shows that ariba.com/ariba_JobBean application somehow gave a sign for shutdown process. In this case an ARIBA expert should analyse the background of the issue further.

J Fri Jan 13 06:58:33 2017

 J  JVM_Halt called with exit code -11112

 J  "Thread-86" #2642 prio=5 os_prio=0 cpu=70.00 [reset 70.00] ms elapsed=20.09 [reset 20.09] s allocated=8080384 B (7.71 MB) [reset 8080384 B (7.71 MB)] defined_classes=6

 J  io= file i/o: 8472/3475 B, net i/o: 357/85161 B, files opened:5, socks opened:-9  [reset file i/o: 8472/3475 B, net i/o: 357/85161 B, files opened:5, socks opened:-9 ]

 J  user="Administrator" isapplicationthread="true" tid=0x00007ff874da9800 nid=0x6b5b / 27483  pthread-id=140705505916672 runnable  [_thread_in_vm (_running), stack(0x00007ff88d92b000,0x00007ff88db2c000)] [0x00007ff88db2a000]

 J     java.lang.Thread.State: RUNNABLE

 J   at java.lang.Shutdown.halt0(I)V(Native Method)

J   at java.lang.Shutdown.halt(I)V(Shutdown.java:139)

J   - locked <0x00000007563f8e40> (a java.lang.Shutdown$Lock)

J   at java.lang.Shutdown.exit(I)V(Shutdown.java:213)

 J   - locked <0x00000007563f4098> (a java.lang.Class for java.lang.Shutdown)

 J   at java.lang.Runtime.exit(I)V(Runtime.java:109)

 J   at java.lang.System.exit(I)V(System.java:977)

 J   at com.sap.engine.core.Framework.shutDown0(ILjava/util/Properties;)V(Framework.java:550)

 J   - locked <0x00000007583fab88> (a com.sap.engine.core.Framework)


According to the previous entries someone with Administrator user shut down the AS Java Systems with sapcontrol, jsmon/jcmon etc. As this user is Administrator, it is not possible to find out who and why had restarted the Systems. In this case it is recommended to change the password of the Administrator user.

These two thread dumps are only examples. Other scenario might happen in different cases. This method is a good way to identify the reason of the shutdown of AS java systems.




Reference Snote: 2457769

Tuesday, 30 August 2022

java.lang.ClassNotFoundException: com.sap.security.core.server.secstorefs.SecStoreFS: AS Java issue


java.lang.ClassNotFoundException: com.sap.security.core.server.secstorefs.SecStoreFS: AS Java issue

Symptom:

You are trying to start the AS Java system, but the dispatcher does not start and you see the following exception in the defaultTrace.X.trc file:

Caused by: java.lang.ClassNotFoundException: com.sap.security.core.server.secstorefs.SecStoreFS

This can happen more frequently during or after an AS Java upgrade.


Solution:

There are two options to solve this issue:


Restore the tc_sec_secstorefs.jar file from backup;
 
Copy the tc_sec_secstorefs.jar file from:

/usr/sap/<SID>/<instanceID>/j2ee/cluster/server0/bin/core_lib

to

/usr/sap/<SID>/<instanceID>/j2ee/cluster/dispatcher/bin/core_lib

After this you need restart the engine.


 



Reference Snote : 2176030