Tuesday, February 21, 2023

Quantum Computing -- Qiskit Terra - Unexpected probabilities (due to misinterpretation of the result)

These days, I'm trying to use the things I learned from physics in the field of computer science.  That is, I'm using IBM Quantum Computing Lab and Composer to run Python codes utilizing the Quantum Computing algorithms and I do it on real Quantum Computers (and Quantum Simulators). It is very exciting and I find it (I mean Quantum Computing) very enjoyable, but I must admit that it is difficult at first, -- after all it is different than classical computing. I mean, we still have those operators, those quantum gates (somewhat similar with the classical logic gates), but we exploit the power of the quantum computing by using those two phenomena called superposition and entanglement, and these are a little bit confusing.. It is an interesting journey, made me go back to the Linear algebra, Matrices, Tensor Products, Logic gates and stuff like that.

Well.. I will go a little quick and concise in this one. So, we have QBITs, and we do the measurements at the right place to get our results.(measuring collapses the wave function (according to the Copenhagen Interpretation of Quantum Mechanics) and make us lose those quantum states -- that's why it is important) . Actually I have lots to say about this subject but this will be the subject of a future blog post, so let's concentrate on this particular issue that I 've faced while using Qiskit Terra. (Note that-- when I try a similar code with similar logical expressions with Qiskit Aqua(which is deprecated), the expected outputs are produced). 

As you may already sensed, actually it wasn't an issue. I mean the thing I identified as an issue is actually by design.. So, I will just share some information, something I learned on the way running Grover's Algorithm. In short; I was doing some quantum computing gymnastics, and I saw (thought) that some outputs are not aligned with the truth tables.

Lets see;

##Importing what I need 

from qiskit import *
from qiskit.tools.visualization import plot_histogram
from qiskit.circuit.library import PhaseOracle
from qiskit.algorithms import Grover, AmplificationProblem
from qiskit.visualization import plot_histogram

##Creating my Oracle (this has nothing to do with Oracle Corporation  :) Just check Grover's algorithm to understand the concept..

oracle = PhaseOracle('((A & C) | (B & D)) & ~(C & D)')
problem = AmplificationProblem(oracle=oracle, is_good_state=oracle.evaluate_bitstring)
backend = Aer.get_backend('qasm_simulator')
grover = Grover(quantum_instance=backend)
result = grover.amplify(problem)

##Printing the expected result in a chart and get the result as text (as a list actually) as well.

print(result.circuit_results[0])
{'1101': 251, '0111': 274, '0011': 231, '1100': 268}

plot_histogram(result.circuit_results[0])


Well.. As you may understand from the code above, I was trying to find the correct results ( aligned with the expected truth table) for my logical expression ((A & C) | (B & D)) & ~(C & D)') and I used Grover for doing that.

Qiskit Aqua's LogicalExpressionOracle, sorts the variables alphabetically, so an expected output which is A & B& D should have been there in the outputs 1011, but it was not there. This is the issue (not an issue actually) that I mentioned in the first paragraph.. I must admit that I spent lots of time for this and finally learned that, Qiskit Terra sorts the variables by the order of their appearance! 

So in this case, the order is A then C then B and finally D. So, for instance we should see 1101 as an expected result (A & B & D) and, as you see above, it is there. So no problem with Terra. I was the one who had a lack of information :)
AC is also a correct result , and it corresponds to 0011, and it is already seen in the results.. 

The truth table with a format of ABCD (alphabetically sorted from left to right) can be converted to Terra's style truth table like the following;

ABCD     DBCA
0101 - >   1100 *
1010 - >   0011 *
1101 - >   1101
1110 - >   0111

As you see, it is completely consistent with the output generated with Qiskit.
Just wanted to share this with you.. Maybe it will be of use to someone.

Monday, February 20, 2023

EBS / Chrome -- Jar Resources in JNLP file are not signed by the same certificate -- After Enabling JWS on Multi-Node

As you may already know, Chrome users must enable Java Web Start(JWS) on their EBS instance, in order to be able to run Oracle EBS applications on their browsers. (Otherwise, they encounter java problems while opening the forms apps)

Chrome hasn't not supported the Java plug-in, since the release 45 and therefore, Java Web Start is a key for the EBS Chrome users. The Forms applications and regular Java applets as part of the Oracle E-Business Suite can only run with Java Web Start. Note that, we have EBS Forms Plugin for Chrome and we were using it in the past, but it is not feasible anymore.. 

In this post, I will not go into the details of enabling the JWS. It is already addressed on MOS - "Using Java Web Start with Oracle E-Business Suite (Doc ID 2188898.1)". But, I will give you a solution to a particular problem that you may face with, after enabling the JWS.

This issue may be encountered especially in the multi apps node environments.


As you see above, the exception is "JAR Resources In JNLP File Are Not Signed By Same Certificate". Files related with the jar signing should be checked, and in order to solve this, we do the following:

We just stop service on the second node.
Backup the adkeystore.dat and adsign.txt (located in $APPL_TOP_NE/ad/admin), and copy those files from the primary node. -- overwriting the current ones. 
Lastly, we regenerate the jar files with force option and start the services..

Note that, we don't expect this issue in the EBS environments configured with shared JAVA_TOP. In those environments, we have the files shared by the nodes already. This issue is expected only on non-shared EBS Application filesystem environments.. With that, we have no problem to believe that those copy operations are appropriate , and can be considered as the solution to this problem..

That's it. That was the quick tip of the day. I hope you 'll find it useful.

Erman Arslan's Oracle Forum / 1 JAN - FEB 20, 2023 - "Q & A Series"

2023 started fast, we had interesting issues. I tried hard to find time to answer all the questions despite the load of my work (leading my department, mission critical support activities & projects + intellectual gymnastics - physics and stuff like that ) ! :)

Remember, you can ask questions and get remote support using my forum. Just click on the link named "Erman Arslan's Oracle Forum is available now". Click here to ask a question", which is available on the main page of Erman Arslan's Oracle Blog.

-- or just use the direct link:



Let's look at we have for the first 2 months of 2023 ; 

*55 issues! 1.07 per day :)

Forms issue R12.2 by satish

FRM-92120: Registry File Registry.dat is missing by big

12.2.12, 19c in 1 or 2 shots by Laurel

postclone by Roshan

change ebs application users password by raiq1

SQL*Net message from client high wait time by Roshan

Alert Notification Mail by big

java web start is activated? by big

Standard manager pending by big

122-blank-page-viewing by kalyan.v3

permission for user by Roshan

RMAN backups - EBS database 19c by satish

prepare phase failed after upgrade 19c by satish

Apache timeout error R12.2 exiting with status 150 by satish

Workflow background process errors after 19c upgrade by satish

after login : page cannot be displayed by big

EBS Database upgrade from 12c to 19c by satish

OPP not coming up....ref old thread unable to authenticate session. by raiq1

EBS database upgrade to 19c - PDB violations by satish

EBS database upgrade to 19c - PDB violations by satish

unable to authenticate session-R12 by raiq1

txkGenCDBTnsAdmin.pl - Upgrade 19c by satish

duplicate after restore by Roshan

Concurrent managers after upgrade 19c by satish

12.1.3 Forms Navigator is empty after moving the DB to Exadata Gen 2 by pmkr

Upgrade EBS database 12c to 19c - RAC by satish

EBS database post upgrade - Implementing Autoconfig failed in RAC by satish

Implement AutoConfig on the PDBs on the Remaining Oracle RAC Nodes in the Cluster by satish

Implementing Autoconfig on RAC after EBS database upgrade to 19c by satish

upgrade 2 node RAC to 19c - EBS by satish

R12.2 EBS database upgrade to 19c CDB by satish

Upgrade from 12c to 19c - EBS database by satish

Creating an Oracle RAC Container Database (CDB) by satish

R12.2 PRODUCT COMPONENT by big

Cannot start application by big

p32922089_101232_AIX64-5L.zip by big

listener issue enterprise manger by Roshan

upgrade 2 node RAC to 19c - EBS by satish

upgrade 2 node RAC to 19c - EBS by satish

12c to 19c upgrade by satish

Cannot see profile option in forms by big

compute node temperature by Roshan

mount NFS on exadata by Roshan

EBS r12.1.3 TO R12.2 adsplice by satish

adpreclone on PDB by big

awrupd12.sql After upgrade by big

Unable to start up the managed server oacore_server1 by alirazabutt16

multiplexing redo logs by Roshan

upgrade from 12.1.0 to 19c by big

Upgrade R12.1.3 to R12.2 by satish

Upgrade to R12.2 by satish

Upgrade to R12.2 - Custom apps by satish

Autoconfig modify profile option ICX_REQ_SERVER by big

ERROR: Unused TSTZ columns exist by big

Upgrade R12.1.3 to R12.2 - APPS.FND_CONCURRENT invalid by satish

Wednesday, February 15, 2023

EBS 12.2 -- EBS DB post upgrade - Autoconfig failed in RAC - Exception in thread "main" java.lang.ExceptionInInitializerError, JceSecurityManager.java

One of the most interesting (but quickly solved) that I recently dealt with.. Thanks to my followers  again, for bringing these cases.

This one is my favorite amongst the AskMeAnything issues in January 2022.  That's not because the problem was a hard to solve one, but it was quickly solved, the initial diagnosis yielded the result and the action for the solution was something like a surgical intervention :)

Okay. A little advertisement will not do any harm to anyone :)  After all, I m doing this (guidance and support) for free..

You need support? You need guidance? You have questions? Just subscribe and ask for it. 

Here is the link of my forum - http://ermanarslan.blogspot.com/p/forum.html

This issue that is the subject to this blog post, was about a failing a txkPostPDBCreationTasks.pl run.

It was a post upgrade task and failed internally while executing the adbldxml.pl with the following error :

        Exception in thread "main" java.lang.ExceptionInInitializerError

       at javax.crypto.JceSecurityManager.<clinit>(JceSecurityManager.java:65)

        at javax.crypto.Cipher.getConfiguredPermission(Cipher.java:2590)

        at javax.crypto.Cipher.getMaxAllowedKeyLength(Cipher.java:2614)

        at oracle.jdbc.driver.T4CConnection.<clinit>(T4CConnection.java:484)

        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:75)

        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:816)

        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:620)

        at java.sql.DriverManager.getConnection(DriverManager.java:664)

        at java.sql.DriverManager.getConnection(DriverManager.java:247)

        at oracle.apps.ad.context.GenerateContext.getDBConnection(GenerateContext.java:858)

        at oracle.apps.ad.context.GenerateContext.testDBCon(GenerateContext.java:792)

        at oracle.apps.ad.context.GenerateContext.getConParameters(GenerateContext.java:582)

        at oracle.apps.ad.context.GenerateContext.main(GenerateContext.java:2745)

Caused by: java.lang.SecurityException: Can not initialize cryptographic mechanism

        at javax.crypto.JceSecurity.<clinit>(JceSecurity.java:93)

        ... 13 more

Caused by: java.lang.SecurityException: The jurisdiction policy files are not signed by the expected signer! (Policy files are specific per major JDK release.Ensure the correct version is installed.)

        at javax.crypto.JarVerifier.verifyPolicySigned(JarVerifier.java:336)

        at javax.crypto.JceSecurity.loadPolicies(JceSecurity.java:378)

        at javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:323)

        at javax.crypto.JceSecurity.access$000(JceSecurity.java:50)

        at javax.crypto.JceSecurity$1.run(JceSecurity.java:85)

        at java.security.AccessController.doPrivileged(Native Method)

        at javax.crypto.JceSecurity.<clinit>(JceSecurity.java:82)

        ... 13 more

*******FATAL ERROR*******

It was an interesting issue and seemed related with the java files in Oracle home in the first glance.

By using the following MOS note as reference -> Using Crypto Libraries in 12.2 DataBase For Java Calls Failing With ORA-29532 Java.Lang.NoClassDefFoundError (Doc ID 2701566.1), we checked $ORACLE_HOME/javavm/lib/security.. Especially the files US_export_policy.jar and local_policy.jar.

Note that; those jar files may be in a different directory in your case..

All seemed okay. But we (me and my forum subscriber) insisted on the java being the cause of the problem and solved the issue by copying the jre folder from another EBS instance (where we could run adbldxml.pl without any problems), to $ORACLE_HOME/appsutil and the problem disappeared :) .

That 's the tip of the day:) and here is the direct link to the related issue, which we solved recently -> 

http://erman-arslan-s-oracle-forum.124.s1.nabble.com/EBS-database-post-upgrade-Implementing-Autoconfig-failed-in-RAC-td11502.html

Tuesday, February 14, 2023

EBS 12.2 -- Login Page "this page cannot be displayed", oanewhomepage -- s_webentrydomain

Another resolved issue (in my forum) becomes a blog post :) 

(Forum link: http://ermanarslan.blogspot.com/p/forum.html)

Thanks to my followers, we reveal solutions to some new issues together.. In the old days, I was the one finding the solution in most of the case. But now, with a little guidance, they often find their own way and we learn together.

In this particular case, after logging into an EBS 12.2 and waiting for the Home Page to be displayed, customer encountered "this page cannot be displayed" error. 

--EBS-generated URL of the page : https://ebs_example/OA_HTML/OA.jsp?OAFunc=OANEWHOMEPAGE") , 

Don't get confused with that OANEWHOMEPAGE.. OANEWHOMEPAGE is not weird.. (see -> How to Modify and Enable The Configurable Home Page Delivered In Release 12.1.2 (Doc ID 1061482.1)) , there you will see OANEWHOMEPAGE in the right context. 

Anyways, this generic problem in this particular case was resolved by correcting s_webentrydomain in $CONTEXT_FILE. 

That's it.. This is a quick tip.

The solution was to the point but these issues are generic, so I add some references below.. These might help while dealing with these types of issues.

When trying to login to the front end applications front end it is popping up Dialog message page and nothing is showing (Doc ID 2223432.1).

12.2 E-Business Suite Technology Stack Summary Of The iAS / HTTP Server Login Process And What To Expect When One Of The Login Components Fails (Doc ID 1984710.1) 

12.2 E-Business Suite - Collecting Fusion Middleware Log Files (Doc ID 1362900.1)

EBS 12.2 blank page viewing concurrent out and logs - this time due to a Missing Mandatory Patch

Revisiting this issue, because this is actually a generic one, and it seems there are more than one possible cause for that.

Some of you may remember my blog post (I know it's a little bit challenging. I wrote it in 2017 :) about the problem that appeared when the customer wanted to see the outputs and logs of the concurrent programs. When they tried to open a concurrent log in the browser, a blank page was displayed.

Here is the link for that blog post -> https://ermanarslan.blogspot.com/2017/04/ebs-122-blank-page-problem-viewing.html

In that case, the problem was the hostname.. It was in capital letters.

Note that, the hostname of the EBS servers should not be written in capital letters.  This is not supported and that issue of getting blank page when we try to view the concurrent logs and out, was one of the causes of this support lack. Anyways, details are in the link given above.

However; as I mentioned there may be other causes and one of them revealed in my forum. Thanks to my follower, we identified that and here I'm sharing it.

"Patch 32931976: TECHP:REPACKAGING OF WLS PATCH FOR EBS 12.2 ORACLE E-BUSINESS SUITE ON OL8/RHEL8" is a crucial one and it is mandatory. 

-Reference: Oracle E-Business Suite Installation and Upgrade Notes Release 12 (12.2) for Linux x86-64 (Doc ID 1330701.1)-

So if your are on OEL 8, RHEL 8 or SLES 15, you need that patch.. It is not optional.. And if you don't apply this patch; you will end up with this issue.  In the background, we have the same cause actually.. That is "hostname & capital letters", but in this one; even if your hostname is in lowercase, the issue appears due to the bug  "Bug 32931976 : TECHP:REPACKAGING OF WLS PATCH FOR EBS 12.2 ORACLE E-BUSINESS SUITE ON OL8/RHEL8 "

This is based on a true story and for those who still don't know about my forum; here is the link:

http://ermanarslan.blogspot.com/p/forum.html

Some other notes for the reference (just in case , for future issues in this context) : 

Viewing the Output and Log Files From a Submitted Concurrent Request Shows a Blank Page in the Browser (Doc ID 2914718.1)

Concurrent Request Report Log And Output Result In A Blank Page In Browser (Doc ID 1630055.1)

Blank page when trying to View Request Output or Log (Doc ID 2177504.1)

How to Troubleshoot FNDFS and FNDWRR (Problems Viewing Concurrent Request Output) (Doc ID 847844.1)

Unable to Access Log And Out Files from the Concurrent Request View And Output Buttons After Patching Using Dynatrace (Doc ID 2755839.1)

ODA X9-2 -- SPFs / Fiber not recognized / no lights -- due to Firmware version of Mellanox Dual Port SFP28

This is a short story, but I think it will save time for those who are considering ODA X9 machines. 

These types of issues waste the time of network administrator, and ODA field engineers. 

So lets check what we have here; Recently installed an ODA X9-2 L in a Banking environment. 

The machine had 2 SFP cards. Configured the switches , attached the Fiber cables but couldn't make network up & running. 

ODA config was okay, bond devices were up (but link detected was No), OS interfaces were configured properly and physical side (cabling, switch configuration and everything) was as it's supposed to be. ODA image version was 19.17, which was quite up-to-date, but no luck. 

There was no network and no lights on the SFP cards at all. 

 Also checked the following (but didn't help..)  

Checked the optical fiber transceiver ( it may be inserted reversely) 
Checked the fiber models 
Checked the fiber cables 
Checked the customer's switch side and ports 

 Well.. Long story short; the problem was due to the firmware version of the Mellanox Dual Port SFP28 CX5 25Gb Ethernet Adapter.. (Note that, 16.29.1436 is a problematic version).. 

The version can be checked using "odacli describe-component" and "fwupdate list controller" command. The up-to-date firmware is already there, I mean the files are there, but they are not installed by default in ODA X9-2 with version 19.16 and above. Weird.. 

Anyways; what we need to do, was just updating the firmware of those devices and rebooting. As you may guess; if we have multiple cards (in our case we had 2), we update the firmware of both of the cards and reboot. 

The command used for that operation is "fwupdate update controller -n cX -x metadata.xml" -- we replace that cX with our controller name (we get that from the output of odacli describe-component command) This is already addressed in MOS, but you may not find that particular MOS note easily.. 

Moreover, you may think that you are unaffected (in case you are on ODA image version 19.17), but that is not the case.. 

So I'm sharing that MOS note below as well. 

Network not working on ODA X9-2 systems using Mellanox Dual Port SFP28 CX5 25Gb Ethernet Adapter with firmware 16.29.1436 (Doc ID 2910654.1)