Tuesday, December 5, 2017

Configure ssmtp to use gmail SMTP relay on CentOS

1. Install ssmtp rpm as,

#yum install ssmtp

2. Now edit ssmtp.conf file as,

#vim /etc/ssmtp/ssmtp.conf

root=XXX@gmail.com
mailhub=smtp.gmail.com:465
AuthUser=XXXX@gmail.com
AuthPass=<Password of gmail account>
FromLineOverride=YES
UseTLS=YES
TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt

3. After this, make ssmtp default mta as,

#alternatives --config mta

it will ask to choose mta, here select the ssmtp and enter.


4. Now send the mail as,

#mail -s "SUBJECT" xxxxx@abc.com


Wednesday, November 8, 2017

javax.net.ssl.SSLKeyException in Node Manager status

Problem : Could not start node manager

Problem Explanation : I have changed my machine(It got currupted) and use the existing HDD partition to again run the machine. All was right but node manager was not running.

Error : javax.net.ssl.SSLKeyException

Solution : This issue has two solutions as,

A. Disable the hostname verification
B. Recreate the certificates

A. Disable the hostname verification ,

1. In the Admin console for your domain, go to Environment -> Servers -> AdminServer.
2. Click on the SSL tab.
3. Expand the “Advanced” section at the bottom.
4. Set Hostname Verification to None.
5. Save and activate the changes.



B. Recreate the certificates ,

1. First of all set the WLS enviornment varibales using,

$MIDDLEWARE_HOME/wlserver_10.3/server/bin/.setWLSEnv.sh

2. Backup the Demoidentity.jks keystore located in,

$MIDDLEWARE_HOME/wlserver_10.3/server/lib/DemoIdentity.jks

3. Generate the private key of the keystore using the following command:

java utils.CertGen -cn hostname -keyfilepass DemoIdentityPassPhrase -certfile newcert -keyfile newkey

Note : Here I got error "utils.CertGen not found"
Solution : For this we have need to set CLASSPATH manually as,

$export CLASSPATH=$CLASSPATH:/stage/oracle/middleware/wlserver_10.3/server/lib/weblogic.jar

After this run the above command again.

4. Import the generated key in the Demoidentity.jks using the following command:

java utils.ImportPrivateKey -keystore DemoIdentity.jks -storepass DemoIdentityKeyStorePassPhrase -keyfile newkey.pem -keyfilepass DemoIdentityPassPhrase -certfile newcert.pem -alias demoidentity.

5. Now restart the WebLogic Server.

Wednesday, November 1, 2017

To increase the heap size of a Managed server

1. Open Admin console, go to server-->server name-->Configuration-->server start.
2. Here in Arguments section, write the desired heap size as,

-Xms512m -Xmx512m

Tuesday, October 31, 2017

BEA-090087 - Server failed to bind to the configured Admin port. The port may already be used by another process.


BEA-090087 - Server failed to bind to the configured Admin port. The port may already be used by another process.

 Reason 1 : This error occured when we try to start managed server on other physical machine with node manager.


Solution : We have to create new node manager that points to other physical machine.

Procedure :

1. Go to Enviournment-->Machines.
2. Here click on New button, then give the name for the machine and select the type of the machine and then Next.
3.Here give the listen address and listen port of the node manager and click on Finish.

Reason 2 : This error occurred when we try to start two nodemanager on one physical machine. e.g. one for weblogic and second for OHS.

Solution

Just change the port of one nodemanager.

java.lang.OutOfMemoryError: PermGen space

Error : java.lang.OutOfMemoryError: PermGen space

Solution : Have to increase PermSize of weblogic server

Procedure :

Weblogic Version : 10.3.6

1. go to $DOMAIN_HOME/bin

2. Here edit the file setDomainEnv.sh.

$vim setDomainEnv.sh

3. Here change the value of min and max PerSize as,

241 MEM_PERM_SIZE_64BIT="-XX:PermSize=512m"
242 export MEM_PERM_SIZE_64BIT
243
244 MEM_PERM_SIZE_32BIT="-XX:PermSize=48m"
245 export MEM_PERM_SIZE_32BIT
246
247 if [ "${JAVA_USE_64BIT}" = "true" ] ; then
248         MEM_PERM_SIZE="${MEM_PERM_SIZE_64BIT}"
249         export MEM_PERM_SIZE
250 else
251         MEM_PERM_SIZE="${MEM_PERM_SIZE_32BIT}"
252         export MEM_PERM_SIZE
253 fi
254
255 MEM_MAX_PERM_SIZE_64BIT="-XX:MaxPermSize=1024m"
256 export MEM_MAX_PERM_SIZE_64BIT
257
258 MEM_MAX_PERM_SIZE_32BIT="-XX:MaxPermSize=128m"


Line no. 241 for Min. PermSize and Line no. 255 for Max. PerSize.

Sunday, April 16, 2017

To change the Mode of Weblogic server from Developer to Production

To change all the servers of a domain to run in production mode :

 1. Go to weblogic console.
 2. Select the desired domain.
 3. On Configuration tab, go to General.
 4. Here check the option "Enable production Mode"
 5. Now click on save.
 6. Now restart the servers.


 

Wednesday, March 8, 2017

Cloning of SOA server 11.1.1.4.0 in HP-UX system

The following commands are applicable for the supported cloning process:

-  MW_HOME/oracle_common/bin/copyBinary.sh
-  MW_HOME/oracle_common/bin/copyConfig.sh
-  MW_HOME/oracle_common/bin/extractMovePlan.sh
-  MW_HOME/oracle_common/bin/pasteBinary.sh
-  MW_HOME/oracle_common/bin/pasteConfig.sh



Steps:

1.Run the copyBinary.sh script in source system as,

MW_HOME/oracle_common/bin/copyBinary.sh


Syntax:

./copyBinary.sh -javaHome <Java_location> -archiveLoc <Location where you want to save the generated archive> -sourceMWHomeLoc <Location of middleware home>

Example:

./copyBinary.sh -javaHome /opt/java6 -archiveLoc /isoa/dev_clone/cp_dev_binary.jar -sourceMWHomeLoc /isoa/oracle/middleware

2. Now copy the generated jar file to target system as,

$scp /isoa/dev_clone/cp_dev_binary.jar <username>@<IP of target>:/isoa/clone


3. Now on target server, first of all create directory structure for middleware home as,


$mkdir -p /isoa/oracle



4. Now run the pasteBinary.sh script on target as,


MW_HOME/oracle_common/bin/pasteBinary.sh



Syntax:

/isoa/clone/./pasteBinary.sh -javaHome <JAVA_HOME> -archiveLoc <Location of jar file> -targetMWHomeLoc <MW_Home>

Example:

$ /isoa/clone/./pasteBinary.sh -javaHome /opt/java6 -archiveLoc /isoa/clone/soa_clone_tmp_dir/cp_dev_binary.jar -targetMWHomeLoc /isoa/oracle/middleware

Though the command is long and there is a limitation of words in HP-UX OS, so we put the whole command in a script and then run that script as,


$vi binarycopy.sh

Now copy the command to the script and then run the script as,

$./binarycopy.sh

 
 



5. Now on Source system, run the copyConfig.sh script as,

MW_HOME/oracle_common/bin/copyConfig.sh

Syntax:

./copyConfig.sh -javaHome <Java Home> -archiveLoc <Generated archive location> -sourceDomainLoc <Source domain Location> -sourceMWHomeLoc <Source Middleware Location> -domainHostName <ip or hostname of the source server> -domainPortNum <port> -domainAdminUserName <username> -domainAdminPasswordFile <Path of plain text password file> -silent false

 Example:

./copyConfig.sh -javaHome /opt/java6 -archiveLoc /isoa/dev_clone/mw_config_backup.jar -sourceDomainLoc /isoa/oracle/middleware/user_projects/domains/soadev_domain -sourceMWHomeLoc /isoa/oracle/middleware -domainHostName idevsoz1 -domainPortNum 7001 -domainAdminUserName weblogic -domainAdminPasswordFile /isoa/oracle/middleware/oracle_common/bin/pwd.txt -silent false

Note : We again put this command in a script, but after 3-4 hours, it gives an error of "GC limit exceeded". So we also define java arguments in the script as,

$vi configcopy.sh

 


Now run the configcopy script as,

$./configcopy.sh

 

When this script will completed successfully, a jar file named “mw_config_backup.jar” will be created.




6. Now on source system, run extractMovePlan.sh script as,

This command will extract a move plan from the copy archive created from the copyConfig command.

Syntax:

./extractMovePlan -javaHome <Java Home> -archiveLoc <ARCHIVE_LOC> -movePlanDir <PLAN_DIR>

Example:

./extractMovePlan -javaHome /opt/java6 -archiveLoc /isoa/dev_clone/mw_config_backup.jar -planDirLoc /isoa/dev_clone/moveplan

It will generate moveplan.xml file in moveplan directory.




7. Change moveplan.xml file according to target server

In movepaln directory there is an xml file named moveplan.xml, change the following info. According to target server

-Hostname or IP address of the Admin server, Managed servers
-DB hostname,Port no. and Service Name
-Datasource password file location etc.



8. Copy config jar file and moveplan directory to target system 

 $scp mw_config_backup.jar <username>@<IP of target server>:/isoa/clone

$ scp -r moveplan <username>@<IP of target server>:/isoa/clone


9. On the target system, run pasteConfig.sh script as, 

Here create a password file of weblogic user password as,
$cd /isoa/clone
$vi pwd.txt

Here just write the password of weblogic user.

Now go to “MW_HOME/oracle_common/bin” and run the pasteConfig.sh script as,

Syntax:

./pasteConfig.sh -javaHome <JAVA_HOME> -archiveLoc <jar file location> -targetDomainLoc <Location where you want to create domain on target> -targetMWHomeLoc <MW_Home> -movePlanLoc <moveplan.xml file location> -domainAdminPassword <Password file location>

Example:

/isoa/oracle/middleware/oracle_common/bin/./pasteConfig.sh -javaHome /opt/java6 -archiveLoc /isoa/clone/mw_config_backup.jar -targetDomainLoc /isoa/oracle/middleware/user_projects/domains/soapch_domain -targetMWHomeLoc /isoa/oracle/middleware -movePlanLoc /isoa/clone/moveplan/moveplan.xml -domainAdminPassword /isoa/clone/pwd.txt


Note: Here again we have put this command in a script named configcopy.sh as,

$vi configcopy.sh

 

Now run the script as,

$./configcopy.sh
 

When this script will execute successfully, there will be a message that “Cloning is successful”.

Now Start the weblogic server and then managed servers.