Skip to main content

Posts

Use TLSv1.2 and deactivate TLSv1 and TLSv1.1

Recently, I got in to a situation where my customer web service deactivated TLSv1 and TLSv1.1 protocol. Eventually, my application client that used to interact with Server started receiving below error in hand-shake javax . net . ssl . SSLHandshakeException : Received fatal alert : handshake_failure   After analysis I found out that my application runs on JDK 1.5 that only supports TLSv1. To replicate this scenario, I deployed web-service in tomcat  and made my tomcat to accept only TLSv1.2 protocol. This can be done by changing server.xml as follows: <Connector ...  SSLEnabled="true" sslProtocols="TLSv1.2" sslEnabledProtocols = "TLSv1.2" /> ***Please note tha t it depends upon tomcat version to use which either of  sslProtocols or  sslEnabledProtocols attribute Now when I ran my usual client application it received handshake failure as Client did Hello with TLSv1, while my server was not ready to accept it. Pos

Perforce (p4) to Git migration

This process use  Git-p4   as an import tool. Please follow below steps:- Install Python, Perforce client, Git bash on your machine. Download python script ( git-p4.py ) from given location@  https://raw.githubusercontent.com/git/git/master/git-p4.py Set following environment variables:- P4PORT=public.perforce.com:1666 P4USER=testgitp4 Run following command to import P4 project supplying project depot path on Perforce server and the path into which you want to import project. $ python git-p4.py //depot/myproject@all /e/git/myproject           Importing from //depot/myproject@all into /e/git/myproject Initialized empty Git repository in /private/tmp/p4import/.git/ Import destination: refs/remotes/p4/master Importing revision 2153 (100%) Chand directory to  /e/git/myproject At this point you’re almost done. If you run git log, you can see your imported work. $ git log -2 commit 33ddd3a8c5c1eda6eace15be3sss3c318b32c39 Author: git p4 <g

ORA-28002: the password will expire within 7 days

Change the password or follow below steps to update password life limit to UNLIMITED. Step 1: Identify the Users Profile SQL> SELECT profile FROM dba_users WHERE username = 'USER'; Step 2: View the Profile settings SQL> select resource_name, resource_type, limit from dba_profiles where profile='USER_PROFILE' Step 3: Set PASSWORD_LIFE_TIME SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; Step 4: Re-Enter the Password SQL> alter user USER1 identified by "password";

JMS Consumer (onMessage()) delay in getting message from Oralce AQ

I have an application where I have implemented Oracle AQ. I ran in to a behavior where average time for processing varied as depicted in graph below: In above graph when volume of orders was less, average processing time came out to be more whereas when load increased with time, average time for processing got constant and then when volume started declining, time again started increasing. I analyzed the behavior and found that there is delay in message consumption after message has been produced to AQ. On further analysis I found that AQjmsListenerWorker goes for sleep if message is not available for consumption and sleep time doubles each time (up to peak limit) if message is not available for consumption. Thus optimizing resource utilization if there is no messages in AQ for consumption. On enabling ( -Doracle.jms.traceLevel=6 ) diagnostics logs for aq api.  I analyzed that Listener thread sleep time doubles till 15000 ms (15 sec), starting with default value 1000 ms,

CLOB Argument In EXECUTE IMMEDIATE

Oracle EXECUTE IMMEDIATE statement implements Dynamic SQL in Oracle. Before Oracle 11g, EXECUTE IMMEDIATE supported SQL string statements. Oracle 11g allows the usage of CLOB datatypes as an argument which eradicates the constraint we faced on the length of strings when passed as an argument to Execute immediate. But a PLSQL block written on Oracle 11g with  C LOB datatypes as an argument to  EXECUTE IMMEDIATE  will not be executed on Oracle 10g.