Search This Blog

Monday, June 04, 2018

How to recreate the purge scripts in SOA using instantclient sql

How to recreate the purge scripts in SOA using instantclient sql
Purge scripts should be available in the directory ,
$ORACLE_HOME/soa/common/sql/soainfra/sql/oracle/122100/soa_purge12/soa_purge_scripts.sql

Download the folloiwng files

extract them

unzip -d . instantclient-basic-linux.x64-12.2.0.1.0.zip
unzip -d . instantclient-sqlplus-linux.x64-12.2.0.1.0.zip

cd /home/oracle/instantclient_12_2

export PATH=/home/oracle/instantclient_12_2:$PATH
export LD_LIBRARY_PATH=/home/oracle/instantclient_12_2

now test the connectivity , for example

sqlplus DEV_SOAINFRA/Welcome1@host-name:1521/orcl

after this

cd $ORACLE_HOME/soa/common/sql/soainfra/sql/oracle/122100/soa_purge12/soa_purge_scripts.sql
run the script

@soa_purge_scripts.sql


Then try with the following ,

begin
soa.DELETE_INSTANCES_IN_PARALLEL(
MIN_CREATION_DATE=> to_timestamp('2016-01-01','YYYY-MM-DD'),
MAX_CREATION_DATE=> to_timestamp('2016-01-01','YYYY-MM-DD'),
BATCH_SIZE=>1000,
MAX_RUNTIME=>20,
RETENTION_PERIOD=>to_timestamp('2016-01-01','YYYY-MM-DD'),
DOP=>4,
MAX_COUNT=>1000,
PURGE_PARTITIONED_COMPONENT=>false,
sql_trace=>false);
end;

and also

begin
soa.DELETE_INSTANCES(
MIN_CREATION_DATE=> to_timestamp('2016-01-01','YYYY-MM-DD'),
MAX_CREATION_DATE=> to_timestamp('2016-01-01','YYYY-MM-DD'),
BATCH_SIZE=>1000,
MAX_RUNTIME=>20,
RETENTION_PERIOD=>to_timestamp('2016-01-01','YYYY-MM-DD'),
PURGE_PARTITIONED_COMPONENT=>false,
sql_trace=>false);
end;

Check the Note 

Steps to compile SOA Purge 12.2.1.1 with an explanation (Doc ID 2171885.1)


Tags: Publish
June 04, 2018 at 04:22PM
Open in Evernote

Wednesday, May 16, 2018

How to Invoke "Refresh Alarm Table" from a Java Code

How to Invoke "Refresh Alarm Table" from a Java Code
In a BPEL process there are some use cases where a Wait activity or the onAlarm branch of a Pick activity is needed. An example for an onAlarm branch is a timeout mechanism for an asynchronous call. These activities save the instance in the dehydration store for a defined time. To wake up the waiting instances there is a quartz scheduler job running in the weblogic and check the expiration date in the dehydration store. For the case the dehydration store  is not available, the scheduler retry to call the database. The retry settings can be found in the advanced BPEL properties in the System MBean Browser. 

The properties are named ExpirationMaxRetry and ExpirationRetryDelay. When the retry failed the data sets won’t be cleaned from the dehydration store.

The suggestion to clean this is to click on the Button “Refresh Alarm Table” in the Recovery console. But it is unpleasent to click the button periodically, so the wish appear to do this automated. There is a way for an automatically clean.

This Note explains how to achieve this functionality using DB Update stament



This also can be achieved using the following java code 

++
package hello2;

import java.util.Hashtable;
import java.util.List;
import javax.naming.Context;
import oracle.soa.management.facade.Locator;
import oracle.soa.management.facade.LocatorFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Node;


public class Class1 {
   public Class1() {
       super();
   }

   //Invoke this method with the composite instance id
      public static void main(String[] args) {
          String compositeName = "GetOpenCompositeInstances";
          Hashtable jndiProps = new Hashtable();
          String inputPayload = "";
          try {
              jndiProps.put(Context.PROVIDER_URL, "t3://xxxxx:7001");
              jndiProps.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
              jndiProps.put(Context.SECURITY_PRINCIPAL, "weblogic");
              jndiProps.put(Context.SECURITY_CREDENTIALS, "Welcome1");
              jndiProps.put("dedicated.connection", "true");
              Locator locator = LocatorFactory.createLocator(jndiProps);
             
              Object[] params = new Object[] {};
              ((oracle.soa.management.internal.facade.Locator)locator).executeServiceEngineMethod("bpel", "refreshAlarmTable", params);
              System.out.println(" Executed refreshAlarmTable");
          } catch (Exception e) {
              e.printStackTrace();
          }
      }
}

+++

Create a new project from JDev and add the following the libraries 

SOA Designtime
SOA Runtime
BPEL Runtime
Mediator Runtime
MDS Runtime
BC4J Service Runtime
WebLogic 12.1 Remote-Client
JRF Client

to run the java code Use the classpath as ,


c:\jdk1.8.0_152\bin\java.exe -server -classpath C:\myjdevwork\jdev12212\mywork\Application1\.adf;C:\myjdevwork\jdev12212\mywork\Application1\Hello2\SOA\SCA-INF\classes;D:\bpm12212\soa\plugins\jdeveloper\extensions\oracle.sca.modeler.jar;D:\bpm12212\soa\soa\modules\oracle.soa.fabric_11.1.1\fabric-runtime.jar;D:\bpm12212\soa\soa\modules\oracle.soa.fabric_11.1.1\tracking-api.jar;D:\bpm12212\soa\soa\modules\oracle.soa.fabric_11.1.1\tracking-core.jar;D:\bpm12212\soa\soa\modules\oracle.soa.fabric_11.1.1\edn.jar;D:\bpm12212\soa\soa\modules\oracle.soa.mgmt_11.1.1\soa-infra-mgmt.jar;D:\bpm12212\oracle_common\modules\com.oracle.webservices.fabric-common-api.jar;D:\bpm12212\soa\soa\modules\oracle.soa.bpel_11.1.1\orabpel.jar;D:\bpm12212\soa\soa\modules\oracle.soa.mediator_11.1.1\mediator_client.jar;D:\bpm12212\oracle_common\modules\oracle.mds\mdsrt.jar;D:\bpm12212\oracle_common\modules\oracle.adf.model\adfbcsvc.jar;D:\bpm12212\oracle_common\modules\oracle.adf.model\adfbcsvc-share.jar;D:\bpm12212\oracle_common\modules\commonj.sdo.backward.jar;D:\bpm12212\oracle_common\modules\commonj.sdo.jar;D:\bpm12212\oracle_common\modules\oracle.toplink\eclipselink.jar;D:\bpm12212\oracle_common\modules\com.oracle.webservices.fmw.wsclient-impl.jar;D:\bpm12212\oracle_common\modules\com.oracle.webservices.fmw.jrf-ws-api.jar;D:\bpm12212\oracle_common\modules\com.oracle.webservices.fmw.web-common-schemas-impl.jar;D:\bpm12212\wlserver\server\lib\weblogic.jar;D:\bpm12212\oracle_common\modules\clients\com.oracle.webservices.fmw.client.jar hello2.Class1
Executed refreshAlarmTable

To check the log entries enable the following logger , oracle.soa.bpel.engine.agents

Log entries after enabling the oracle.soa.bpel.engine.agents to TRACE:32

[2018-05-14T13:51:27.595+05:30] [AdminServer] [TRACE] [] [oracle.soa.bpel.engine.agents] [tid: [ACTIVE].ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: dfe28b74-fb6c-46fa-95cb-c692ece98681-03646479,0] [APP: soa-infra] [partition-name: DOMAIN] [tenant-name: GLOBAL] [SRC_CLASS: ExpirationAgent] [SRC_METHOD: recover] Attempting to find expirable work items
[2018-05-14T13:51:27.597+05:30] [AdminServer] [TRACE] [] [oracle.soa.bpel.engine.agents] [tid: [ACTIVE].ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: dfe28b74-fb6c-46fa-95cb-c692ece98681-03646479,0] [APP: soa-infra] [partition-name: DOMAIN] [tenant-name: GLOBAL] [SRC_CLASS: ExpirationAgent] [SRC_METHOD: recover] Cluster date time retrieved from DB is 2018-05-14 13:51:27.0
[2018-05-14T13:51:27.597+05:30] [AdminServer] [TRACE] [] [oracle.soa.bpel.engine.agents] [tid: [ACTIVE].ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: dfe28b74-fb6c-46fa-95cb-c692ece98681-03646479,0] [APP: soa-infra] [partition-name: DOMAIN] [tenant-name: GLOBAL] [SRC_CLASS: ExpirationAgent] [SRC_METHOD: recover] Found NO expirable work items for bpel engine.





Tags: Publish
May 16, 2018 at 12:05PM
Open in Evernote

Wednesday, April 25, 2018

Change the MFT Source and Target Password's using WLST

Change the MFT Source and Target Password's using WLST

Use the WLST command , exportDeployedArtifact


The following example exports a SOURCE artifact called order-file-src with the label soa_mft-2012-12-07 22:24:09.383 to /export/order-file-src.zip.
exportDeployedArtifact('SOURCE', 'order-file-src', 'soa_mft-2012-12-07 22:24:09.383', '/export/order-file-src.zip


To find out the label Go to MFT Console and click on monitoring TAB and select Source and Target check boxes and click on MFT Source




and select the source and click on the button show details 



Make a note of the string soa_mft-2018-04-04 12:11:29.265 and use this to export the source file 

for example , 

cd  $ORACLE_HOME/mft/common/bin
connect('weblogic', 'Welcome1', 't3://localhost:7001')
exportDeployedArtifact('SOURCE', 'source-name', 'soa_mft-2018-04-04 12:11:29.265', '/tmp/test1.zip')

Open the file mft\source\so_e801f00a-a2d8-4ded-a4fa-36c657c2d61b.xml


Locate the password , make a note of it , for example in this case it is 

pw_key_dabf076a-306a-4cb2-85f5-d165df53bd84

Now use the wlst command 

cd  $ORACLE_HOME/oracle_common/common/bin

connect('weblogic', 'Welcome1', 't3://localhost:7001')
updateCred(map="mftapp", key="pw_key_dabf076a-306a-4cb2-85f5-d165df53bd84", user="pw_key_dabf076a-306a-4cb2-85f5-d165df53bd84", password="password-new" , desc="Updated by ...")




Tags: Publish
April 25, 2018 at 02:13PM
Open in Evernote

Tuesday, April 24, 2018

Rhino Java Script Version in SOA

Rhino Java Script Version in SOA
org.mozilla.javascript.Context.class file 

and look for the method ,

public String getImplementationVersion()
  {
    return "Rhino 1.5 release 2 2001 07 27";
  }
  
For other version run the command 


java -jar d:\bpm12213\osb\lib\external\js.jar

This will give the o/p as 

Rhino 1.7 release 4 2012 06 18

Or open the file d:\bpm12213\osb\lib\external\js.jar
and check the manifest.mf file 

This has the information as 
++
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.7.0_04-b20 (Oracle Corporation)
Main-Class: org.mozilla.javascript.tools.shell.Main
Implementation-Version: 1.7R4
Implementation-Title: Mozilla Rhino 1.7R4
Implementation-Vendor: Mozilla Foundation
Implementation-URL: http://www.mozilla.org/rhino
++

In SOA 12.2.1.3 these are the places where the java script library is being used

--> org/mozilla/javascript/ScriptRuntime.class in d:\bpm12213\osb\lib\external\js.jar


--> org/mozilla/javascript/ScriptRuntime.class in d:\bpm12213\soa\soa\applications\frevvo.ear\APP-INF\lib\hibernate-jpa-2.0-api-1.0.1.Final.jar\frevvo.war\WEB-INF\lib\rhino-1.7R4.jar



--> org/mozilla/javascript/ScriptRuntime.class in d:\bpm12213\soa\soa\connectors\SocketAdapter.rar\js-engine.jar\js.jar


--> org/mozilla/javascript/ScriptRuntime.class  in d:\bpm12213\wlserver\modules\com.bea.javascript.jar









Tags: Publish
April 24, 2018 at 05:05PM
Open in Evernote

Friday, April 13, 2018

How to a copy a file from MDS to the local file system and transferring the file Back to MDS using command line

How to a copy a file from MDS to the local file system and transferring the file Back to MDS using command line
How to a copy a file from MDS to the local file system and transferring the file Back to MDS using command line

For SOA 12.2.1.3 (on windows)  , use this classpath


java -cp d:\soa1213\oracle_common\modules\oracle.mds_12.1.3\mdsrt.jar;d:\soa1213\oracle_common\BC4J\jlib\commons-cli-1.0.jar;d:\soa1213\oracle_common\modules\clients\com.oracle.webservices.fmw.client_12.1.3.jar;d:\soa1213\oracle_common\modules\oracle.adf.share.ca_12.1.3\adf-share-base.jar;d:\soa1213\oracle_common\modules\oracle.adf.share_12.1.3\adflogginghandler.jar;d:\soa1213\oracle_common\modules\oracle.ucp_12.1.0.jar;d:\soa1213\oracle_common\modules\oracle.jdbc_12.1.0\ojdbc7dms.jar;d:\soa1213\oracle_common\modules\clients\com.oracle.webservices.fmw.client_12.1.3.jar;d:\soa1213\oracle_common\modules\oracle.xmlef_12.1.3\xmlef.jar;d:\soa1213\oracle_common\jlib\share.jar;d:\soa1213\oracle_common\modules\javax.management.j2ee_1.2.0.0.jar oracle.mds.tools.transfer.MDSTransferTool  /soa/configuration/default/bpel-config.xml --paramfile param_from_mds.xml

This copies the file /soa/configuration/default/bpel-config.xml from the "soa-infra" partion


Sample o/p

Apr 13, 2018 10:09:20 AM oracle.mds
NOTIFICATION: MDS-10013: transfer operation started.
Apr 13, 2018 10:09:21 AM oracle.mds
NOTIFICATION: MDS-10014: transfer is completed. Total number of documents successfully processed : 1, total number of documents failed : 0.
Transfer completed.


cat param_from_mds.xml


++

<!-- Transfer documents from DB MetadataStore to a directory -->

<parameters version="11.1.1.000" xmlns="http://xmlns.oracle.com/mds/config">
<source-store>
<metadata-store class-name="oracle.mds.persistence.stores.db.DBMetadataStore">
<property name="jdbc-userid" value="DEV1117_MDS"/>
<property name="jdbc-password" value="Welcome1"/>
<property name="jdbc-url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="partition-name" value="soa-infra"/>
</metadata-store>
</source-store>
<target-dir value="C:/temp"/>
</parameters>
<!-- Transfer documents from DB MetadataStore to a directory -->

++


This copies the file  /soa/configuration/default/bpel-config.xml from MDS to the file system c:\temp

cat param_to_mds.xml


++

<!-- Transfer documents from a directory to DB MetadataStore -->

<parameters version="11.1.1.000" xmlns="http://xmlns.oracle.com/mds/config">
<source-dir value="C:/Temp"/>
<target-store>
<metadata-store class-name="oracle.mds.persistence.stores.db.DBMetadataStore">
<property name="jdbc-userid" value="DEV1117_MDS"/>
<property name="jdbc-password" value="Welcome1"/>
<property name="jdbc-url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="partition-name" value="soa-infra"/>
</metadata-store>
</target-store> </parameters>

++

This copies the file /soa/configuration/default/bpel-config.xml from c:\temp\  to the MDS.

For SOA 12.2.1.3 (on linux)  , use this classpath

java -cp /fmw11g/soa12213/oracle_common/modules/oracle.mds/mdsrt.jar:/fmw11g/soa12213/oracle_common/modules/com.oracle.jrf.mt.tenant.api.jar:/fmw11g/soa12213/soa/soa/modules/commons-cli-1.1.jar:/fmw11g/soa12213/oracle_common/modules/clients/com.oracle.webservices.fmw.client.jar:/fmw11g/soa12213/oracle_common/modules/oracle.adf.share.ca/adf-share-base.jar:/fmw11g/soa12213/oracle_common/modules/oracle.adf.share/adflogginghandler.jar:/fmw11g/soa12213/oracle_common/modules/oracle.ucp.jar:/fmw11g/soa12213/oracle_common/modules/oracle.jdbc/ojdbc8.jar:/fmw11g/soa12213/oracle_common/modules/oracle.xmlef/xmlef.jar:/fmw11g/soa12213/oracle_common/modules/oracle.bali.share/share.jar:/fmw11g/soa12213/oracle_common/modules/javax.management.j2ee.jar oracle.mds.tools.transfer.MDSTransferTool  /soa/configuration/default/bpel-config.xml --paramfile param_from_mds.xml

on Windows use this 12.2.1.3

c:\temp>java -cp D:\bpm12213\oracle_common\modules\oracle.mds\mdsrt.jar;D:\bpm12213\soa\soa\modules\commons-cli-1.1.jar;D:\bpm12213\oracle_common\modules\clients\com.oracle.webservices.fmw.client.jar;D:\bpm12213\oracle_common\modules\oracle.adf.share.ca\adf-share-base.jar;D:\bpm12213\oracle_common\modules\oracle.adf.share\adflogginghandler.jar;D:\bpm12213\oracle_common\modules\oracle.ucp.jar;D:\bpm12213\oracle_common\modules\oracle.jdbc\ojdbc8.jar;D:\bpm12213\oracle_common\modules\oracle.xmlef\xmlef.jar;D:\bpm12213\oracle_common\modules\oracle.bali.share\share.jar;D:\bpm12213\oracle_common\modules\javax.management.j2ee.jar oracle.mds.tools.transfer.MDSTransferTool  /soa/configuration/default/bpel-config.xml --paramfile param_from_mds.xml


cat param_from_mds_oim.xml

++
<!-- Transfer documents from DB MetadataStore to a directory -->

<parameters version="11.1.1.000" xmlns="http://xmlns.oracle.com/mds/config">
<source-store>
<metadata-store class-name="oracle.mds.persistence.stores.db.DBMetadataStore">
<property name="jdbc-userid" value="OIM_MDS"/>
<property name="jdbc-password" value="Welcome1"/>
<property name="jdbc-url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="partition-name" value="oim"/>
</metadata-store>
</source-store>
<target-dir value="/tmp"/>
</parameters>

++



cat param_to_mds.xml

++
<!-- Transfer documents from a directory to DB MetadataStore -->

<parameters version="11.1.1.000" xmlns="http://xmlns.oracle.com/mds/config">
<source-dir value="C:/Temp"/>
<target-store>
<metadata-store class-name="oracle.mds.persistence.stores.db.DBMetadataStore">
<property name="jdbc-userid" value="DEV1117_MDS"/>
<property name="jdbc-password" value="Welcome1"/>
<property name="jdbc-url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="partition-name" value="soa-infra"/>
</metadata-store>
</target-store> </parameters>
++


For Fmw 11.1.1.7 and 11.1.1.9 use this classpath (Windows)

java -cp  D:\fmw1117\oracle_common\modules\oracle.mds_11.1.1\mdsrt.jar;D:\fmw1117\oracle_common\soa\modules\commons-cli-1.1.jar;D:\fmw1117\oracle_common\modules\oracle.webservices_11.1.1\oracle.webservices.standalone.client.jar;D:\fmw1117\oracle_common\modules\oracle.adf.share.ca_11.1.1\adf-share-base.jar;D:\fmw1117\oracle_common\modules\oracle.adf.share_11.1.1\adflogginghandler.jar;D:\fmw1117\oracle_common\modules\oracle.ucp_11.1.0.jar;D:\fmw1117\oracle_common\modules\oracle.jdbc_11.1.1\ojdbc6dms.jar;D:\fmw1117\oracle_common\modules\oracle.xmlef_11.1.1\xmlef.jar;D:\fmw1117\Oracle_SOA1\jlib\share.jar;D:\fmw1117\oracle_common\modules\javax.management.j2ee.jar oracle.mds.tools.transfer.MDSTransferTool   /soa/configuration/default/bpel-config.xml --paramfile param_from_mds.xml


For Fmw 11.1.1.7 and 11.1.1.9 use this classpath (Linux)

java -cp  /fmw11g/fmw1117/Middleware/oracle_common/modules/oracle.mds_11.1.1/mdsrt.jar:/fmw11g/fmw1117/Middleware/oracle_common/soa/modules/commons-cli-1.1.jar:/fmw11g/fmw1117/Middleware/oracle_common/modules/oracle.webservices_11.1.1/oracle.webservices.standalone.client.jar:/fmw11g/fmw1117/Middleware/oracle_common/modules/oracle.adf.share.ca_11.1.1/adf-share-base.jar:/fmw11g/fmw1117/Middleware/oracle_common/modules/oracle.adf.share_11.1.1/adflogginghandler.jar:/fmw11g/fmw1117/Middleware/oracle_common/modules/oracle.ucp_11.1.0.jar:/fmw11g/fmw1117/Middleware/oracle_common/modules/oracle.jdbc_11.1.1/ojdbc6dms.jar:/fmw11g/fmw1117/Middleware/oracle_common/modules/oracle.xmlef_11.1.1/xmlef.jar:/fmw11g/fmw1117/Middleware/Oracle_SOA1/jlib/share.jar:/fmw11g/fmw1117/Middleware/oracle_common/modules/javax.management.j2ee.jar oracle.mds.tools.transfer.MDSTransferTool   /soa/configuration/default/bpel-config.xml --paramfile param_from_mds.xml

References : 

To Make Changes In oim-config.xml When OIM 11g Server(s) Are Unavailable (Doc ID 1378007.1)



Tags: Publish
April 12, 2018 at 04:03PM
Open in Evernote

Monday, March 26, 2018

How to edit war file rar or any other zip file

How to edit war file rar or any other zip file
Open 7-Zip , 


Remove the entries from the text box , View and Editor make them blank (BLANK , Otherwise it will not work)


This will open the file in default notepad , edit the file and save it.


Click on OK here. This is far easier then extracting the file and modify the file and zip it again.







Tags: Publish
March 26, 2018 at 08:59AM
Open in Evernote

Monday, March 19, 2018

How to install Windows 10 & OEL 7 dual boot

How to install Windows 10 & OEL 7 dual boot
For me these steps were not working in UEFI mode. So I disabled UEFI mode on my Desktop.

  1. Performed Windows install normally.
  2. Ensured that I have some space in one partition
  3. After this installed OEL 7 normally 
  4. Unlike OEL6 , OEL 7 does not have the mechanisam to detect windoes partion and create a grub entry

For this you have to install ntfs packages first

Step-1 (Enable EPEL Repository)
rpm -ivh epel-release-latest-7.noarch.rpm

Step-2 (Install NTFS-3G packages for enabling support for NTFS file system)
yum install ntfs-3g -y

Step-3 (Enable NTFS support for file managers)

yum install ntfsprogs -y


After installing the above packages 
sudo grub2-mkconfig > /dev/null
... you should see the windows boot listed. If the other entry / entries are OK, go ahead and write it.

If Windows was listed in the previous step, go ahead and save the new configuration file. Make a backup first, just in case.

sudo cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.old
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Reboot the machine and you should see new Menu to reboot to windows





Tags: Publish
March 19, 2018 at 02:03PM
Open in Evernote

Wednesday, March 14, 2018

Increasing the SYstem.img file

Increasing the SYstem.img file

Attach the System.im file to Dom-0

xm block-attach 0 file:///OVS/xxxx/System.img xvda w


Resize the file

qemu-img resize xxxxx/System.img +40G


fidsk /dev/xvda

Disk /dev/xvda: 55.8 GB, 55834574848 bytes
64 heads, 32 sectors/track, 53248 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005f11b

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *           2         503      514048   83  Linux
/dev/xvda2             504       51200    51913728   83  Linux
/dev/xvda3           51201       53248     2097152   83  Linux

Detach the Block storage

xm block-detach 0 xvda

Delete the partion 3 and 2 using the fdisk commands and then create a partition 2 with the start and end size as  504       51200

Similarly create a swap partition with he size  51201       53248 


Restart the Oracle VM after this 

Run the command 

df -h

Filesystem                        Size  Used Avail Use% Mounted on
/dev/xvda2                        9.4G  3.1G  5.9G  34% /
tmpfs                             3.0G  199M  2.8G   7% /dev/shm
/dev/xvda1                        479M   49M  405M  11% /boot
/dev/xvdb                          50G  6.6G   41G  15% /fmw11g

You will see the size as still 9.4G instead of 50GB , 

Resize the file to occupy the space

 resize2fs -f /dev/xvda2

resize2fs 1.43-WIP (20-Jun-2013)
Filesystem at /dev/xvda2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 4
The filesystem on /dev/xvda2 is now 12978432 blocks long.



 fdisk -l

Disk /dev/xvda: 55.8 GB, 55834574848 bytes
64 heads, 32 sectors/track, 53248 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005f11b

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *           2         503      514048   83  Linux
/dev/xvda2             504       51200    51913728   83  Linux
/dev/xvda3           51201       53248     2097152   83  Linux


Enable the swap space



mkswap /dev/xvda3

swapon  /dev/xvda3

To make this swap space partition available even after the reboot, add the following line to the /etc/fstab file.
# cat /etc/fstab
/dev/sdc1 swap swap defaults 0 0


After this reboot the guest machine.




Tags: Publish
March 13, 2018 at 04:13PM
Open in Evernote

Tuesday, February 20, 2018

How to use Oracle Linux 7 Oracle VM 3 Template on a Oracle VM without Oracle VM Manager installed

How to use Oracle Linux 7 Oracle VM 3 Template on a Oracle VM without Oracle VM Manager installed

Download the file V971299-01.zip

In the Oracle Software Delivery Cloud,
the Oracle VM 3 Template for Oracle Linux 7 is offered.


Extract the zip file
unzip -d . V971299-01.zip

tar xvf OVM_OL7U4_x86_64_PVHVM.ova

using the qemu-img utility convert this file

to install qemu , use the command 

yum install qemu-img.x86_64

qemu-img info System.vmdk            image: System.vmdk
file format: vmdk
virtual size: 15G (16106127360 bytes)
disk size: 1.4G


This file is in vmdk format , so use this command to convert the file

qemu-img convert System.vmdk -O raw  System.img

Now run this command to checked the converted file


qemu-img info System.img
image: System.img
file format: raw
virtual size: 15G (16106127360 bytes)
disk size: 1.3G

Transfer this file Oracle VM server machine

Create a vm.cfg file with the following contents , main importantly
kernel = "/usr/lib/xen/boot/hvmloader"
builder='hvm'

(Reference )
cat vm.cfg
===========

kernel = "/usr/lib/xen/boot/hvmloader"
builder='hvm'
disk = ['file:/OVS/xxxx/System.img,xvda,w']
memory = '6144'
name = 'xxxx'
vcpus = 2
on_crash = 'restart'
on_reboot = 'restart'
vfb = ['type=vnc,vncunused=1,vnclisten=0.0.0.0']
vif = ['type=netfront']
timer_mode = 0


After this start the vm using

xm create vm.cfg







Tags: Publish
February 20, 2018 at 12:29PM
Open in Evernote

Monday, February 19, 2018

How to find SOA , OSB amd MFT versions details

How to find SOA , OSB amd MFT versions details
How to find SOA , OSB amd MFT versions details


Assuming you have installed SOA and OSB in the directory

/fmw11g/soa12212

export ORACLE_HOME=/fmw11g/soa12212

SOA Version

/fmw11g/soa12212/soa/bin/soaversion.sh

or $ORACLE_HOME/soa/bin/soaversion.sh

**************************************************************
INFO: Detected a WebLogic Installation.
**************************************************************
Oracle SOA Suite Version Information:
-------------------------------------

Product Version : 12.2.1.2.0-161003.0739.0018
Label Version   : PCBPEL_12.2.1.2.0_GENERIC_161003.0739.0018
Compile JDK     : 1.8.0_40-ea
Java Home       : /home/oracle/jdk1.8.0_66

Runtime JDK Version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
**************************************************************


OSB Version

unzip -p /fmw11g/soa12212/osb/lib/version.jar META-INF/MANIFEST.MF

unzip -p $ORACLE_HOME/osb/lib/version.jar META-INF/MANIFEST.MF


Implementation-Title: Oracle Service Bus 12.2.1.2.0-161003.0737 Mon Oct 3 08:37:30 PDT 2016 XBUS_12.2.1.2.0_GENERIC_161003.0737
Implementation-Version: 12.2.1.2.0-161003.0737
Implementation-Vendor: Oracle Corporation
Implementation-Division: Framework Development Division
Implementation-URL: http://www.oracle.com/
Specification-Title: Oracle Service Bus 12.2.1.2.0
Specification-Version: 12.2.1.2.0
Specification-Vendor: Oracle Corporation
Specification-URL: http://www.oracle.com/

MFT Version

export ORACLE_HOME=/fmw11g/soa12212

/fmw11g/soa12212/mft/bin/mftversion.sh
**************************************************************
INFO: Detected a WebLogic Installation.
**************************************************************
Oracle MFT Version Information:
-------------------------------------

Product Version : 12.2.1.2.0-161003.0739.0018
Label Version   : PCBPEL_12.2.1.2.0_GENERIC_161003.0739.0018
Compile JDK     : 1.8.0_40-ea
Java Home       : /home/oracle/jdk1.8.0_66

Runtime JDK Version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
**************************************************************






Tags: Publish
February 20, 2018 at 09:46AM
Open in Evernote

Starting WLS Server when the machine starts

Starting WLS Server when the machine starts
Add the following lines in the file /etc/rc.local

su - oracle -c "nohup /fmw11g/ohs12213/user_projects/domains/base_domain/bin/startNodeManager.sh > /tmp/ohs_start.log 2>&1 &"

su - oracle -c "nohup /fmw11g/ohs12213/user_projects/domains/base_domain/bin/startComponent.sh ohs1 >> /tmp/ohs_start.log 2>&1 &"

su - oracle -c "nohup /fmw11g/wls12213/user_projects/domains/base_domain/bin/startWebLogic.sh > /tmp/wls12c.out 2>&1 &"

and restart the machine.

to start the DB enter the following 

su - oracle -c "nohup /fmw11g/dbhome/db112/bin/dbstart &"






Tags: Publish
February 07, 2018 at 09:34AM
Open in Evernote

My experinces with SSD and SOA on Oracle VM hosted machine

My experinces with SSD and SOA on Oracle VM hosted machine
We have SOA servers's for testing that contains a compact domain , with SOA,B2b,OSB,MFT,ESS,UMS are installed in single domain.

Recently we purchased 500GB Samsung 860 EVO SSD to move these Oracle VM images from HDD to SSD 

And these are the startup times with SSD and HDD , SSD are almost more then 200% faster , we captured the start time
and endTime when the soa server completely comes up


SOA 12.2.1.3 ON SSD

start time : 12:34:24 , End Time : 12:38:04  (4 minutes)

second test

start time :  12:59:22  end time :13:04:34 (5 minutes)

with HDD 

start time :   12:42:20 end time : 12:52:07 (10 minutes)

SOA 12.2.1.2 version

start time :   13:09:10 endTime 13:13:12 (4 minutes)

start time :   14:14:47 endTime 14:18:52 (4 minutes)

HDD

start time :   13:52:50   endTime : 14:08:10 (16 minutes)







Tags: Publish
February 13, 2018 at 02:22PM
Open in Evernote

Friday, September 01, 2017

How to set loggers in SOA/OSB using WLST

How to set loggers in SOA/OSB using WLST
Change the following lines in the script with your variables

## change username , password and AdminServer URL
username ='weblogic'
password = 'Welcome1'
url='t3://localhost:7001'
## Change this String with the list of the loggers you want
loggers_list = ['oracle.as.scheduler', 'oracle.as.scheduler.metedata' ,'oracle.as.ess']
## Change this String with the list of the servers you want to set the loggers
servers_list = ['AdminServer', 'soa_server1']


1. Script For setting runtime logger to TRACE:32


+++ Script For setting runtime logger to TRACE:32  +++



def setRuntimerLogger(serverName,loggerName,loggerLevel):
    Mbean1 = ObjectName('oracle.logging:Location='+serverName +',name='+serverName+',type=LogRuntime')

    mbs.invoke(Mbean1,'setLoggerLevel',[loggerName,loggerLevel], ["java.lang.String","java.lang.String"])


def setPersistentLogger(serverName,loggerName,loggerLevel):
    Mbean2 =  ObjectName("oracle.logging:type=LogConfig,ServerName=" + serverName)

    mbs.invoke(Mbean2,'setLoggerLevel',[loggerName,loggerLevel], ["java.lang.String","java.lang.String"])


def printPersistentlogeer(serverName,loggerName):

    Mbean1 = ObjectName("oracle.logging:type=LogConfig,ServerName=" + serverName)


    l2 =  mbs.invoke(Mbean1,'getLoggerLevel',[loggerName], ["java.lang.String"])
    if l2 == None:
        print serverName +  ' --> Logging Level for : ' + loggerName + ' --> None'
    else:
        print  serverName +  ' --> Logging Level for : ' + loggerName + ' --> ' +l2


def printRuntimelogeer(serverName,loggerName):

    Mbean1 = ObjectName('oracle.logging:Location='+serverName +',name='+serverName+',type=LogRuntime')


    l2 =  mbs.invoke(Mbean1,'getLoggerLevel',[loggerName], ["java.lang.String"])
    if l2 == None:
        print serverName +  ' --> Logging Level for : ' + loggerName + ' --> None'
    else:
        print  serverName +  ' --> Logging Level for : ' + loggerName + ' --> ' +l2


if __name__ == '__main__':
    from wlstModule import *#@UnusedWildImport

print 'Starting the script to set the loggers ....'

# Change these properties as per your environment

username = 'weblogic'
password = 'Welcome1'
url='t3://localhost:7001'


## Change this String with the list of the loggers you want

loggers_list = ['oracle.as.scheduler', 'oracle.as.scheduler.metedata' ,'oracle.as.ess']

## Change this String with the list of the servers you want to set the loggers

servers_list = ['AdminServer', 'soa_server1']

trace_32 = 'TRACE:32'
notification_1 = 'NOTIFICATION:1'

connect(username,password,url)
servers = cmo.getServers()
domainRuntime()

# for setting the runtime loggers

for logeerlist in loggers_list:
    for serverlist in servers_list:
        print 'Setting loggers for ' + serverlist +'  --> ' + logeerlist
        setRuntimerLogger(serverlist,logeerlist,"TRACE:32")
        printRuntimelogeer(serverlist,logeerlist)





print 'End of the script'




+++ Script Ends ++++   


2. Script For setting runtime logger to NOTIFICATION:1 (For disabling the loggers you have set previously) 

+++ Script For setting runtime logger to NOTIFICATION:1 (For disabling the loggers you have set previously)  +++



def setRuntimerLogger(serverName,loggerName,loggerLevel):
    Mbean1 = ObjectName('oracle.logging:Location='+serverName +',name='+serverName+',type=LogRuntime')

    mbs.invoke(Mbean1,'setLoggerLevel',[loggerName,loggerLevel], ["java.lang.String","java.lang.String"])


def setPersistentLogger(serverName,loggerName,loggerLevel):
    Mbean2 =  ObjectName("oracle.logging:type=LogConfig,ServerName=" + serverName)

    mbs.invoke(Mbean2,'setLoggerLevel',[loggerName,loggerLevel], ["java.lang.String","java.lang.String"])


def printPersistentlogeer(serverName,loggerName):

    Mbean1 = ObjectName("oracle.logging:type=LogConfig,ServerName=" + serverName)


    l2 =  mbs.invoke(Mbean1,'getLoggerLevel',[loggerName], ["java.lang.String"])
    if l2 == None:
        print serverName +  ' --> Logging Level for : ' + loggerName + ' --> None'
    else:
        print  serverName +  ' --> Logging Level for : ' + loggerName + ' --> ' +l2


def printRuntimelogeer(serverName,loggerName):

    Mbean1 = ObjectName('oracle.logging:Location='+serverName +',name='+serverName+',type=LogRuntime')


    l2 =  mbs.invoke(Mbean1,'getLoggerLevel',[loggerName], ["java.lang.String"])
    if l2 == None:
        print serverName +  ' --> Logging Level for : ' + loggerName + ' --> None'
    else:
        print  serverName +  ' --> Logging Level for : ' + loggerName + ' --> ' +l2


if __name__ == '__main__':
    from wlstModule import *#@UnusedWildImport

print 'Starting the script to set the loggers ....'

# Change these properties as per your environment

username = 'weblogic'
password = 'Welcome1'
url='t3://localhost:7001'


## Change this String with the list of the loggers you want

loggers_list = ['oracle.as.scheduler', 'oracle.as.scheduler.metedata' ,'oracle.as.ess']

## Change this String with the list of the servers you want to set the loggers

servers_list = ['AdminServer', 'soa_server1']

trace_32 = 'TRACE:32'
notification_1 = 'NOTIFICATION:1'

connect(username,password,url)
servers = cmo.getServers()
domainRuntime()

# for setting the runtime loggers

for logeerlist in loggers_list:
    for serverlist in servers_list:
        print 'Setting loggers for ' + serverlist +'  --> ' + logeerlist
        setRuntimerLogger(serverlist,logeerlist,"NOTIFICATION:1")
        printRuntimelogeer(serverlist,logeerlist)

print 'End of the script'


+++ Script Ends ++++   

3. Script For setting Persistent logger to TRACE:32

+++ Script For setting Persistent logger to TRACE:32  +++

def setRuntimerLogger(serverName,loggerName,loggerLevel):
    Mbean1 = ObjectName('oracle.logging:Location='+serverName +',name='+serverName+',type=LogRuntime')

    mbs.invoke(Mbean1,'setLoggerLevel',[loggerName,loggerLevel], ["java.lang.String","java.lang.String"])


def setPersistentLogger(serverName,loggerName,loggerLevel):
    Mbean2 =  ObjectName("oracle.logging:type=LogConfig,ServerName=" + serverName)

    mbs.invoke(Mbean2,'setLoggerLevel',[loggerName,loggerLevel], ["java.lang.String","java.lang.String"])


def printPersistentlogeer(serverName,loggerName):

    Mbean1 = ObjectName("oracle.logging:type=LogConfig,ServerName=" + serverName)


    l2 =  mbs.invoke(Mbean1,'getLoggerLevel',[loggerName], ["java.lang.String"])
    if l2 == None:
        print serverName +  ' --> Logging Level for : ' + loggerName + ' --> None'
    else:
        print  serverName +  ' --> Logging Level for : ' + loggerName + ' --> ' +l2


def printRuntimelogeer(serverName,loggerName):

    Mbean1 = ObjectName('oracle.logging:Location='+serverName +',name='+serverName+',type=LogRuntime')


    l2 =  mbs.invoke(Mbean1,'getLoggerLevel',[loggerName], ["java.lang.String"])
    if l2 == None:
        print serverName +  ' --> Logging Level for : ' + loggerName + ' --> None'
    else:
        print  serverName +  ' --> Logging Level for : ' + loggerName + ' --> ' +l2


if __name__ == '__main__':
    from wlstModule import *#@UnusedWildImport

print 'Starting the script to set the loggers ....'

# Change these properties as per your environment

username = 'weblogic'
password = 'Welcome1'
url='t3://localhost:7001'


## Change this String with the list of the loggers you want

loggers_list = ['oracle.as.scheduler', 'oracle.as.scheduler.metedata' ,'oracle.as.ess']

## Change this String with the list of the servers you want to set the loggers

servers_list = ['AdminServer', 'soa_server1']

trace_32 = 'TRACE:32'
notification_1 = 'NOTIFICATION:1'

connect(username,password,url)
servers = cmo.getServers()
domainRuntime()

# for setting the runtime loggers

for logeerlist in loggers_list:
    for serverlist in servers_list:
        print 'Setting loggers for ' + serverlist +'  --> ' + logeerlist
        setPersistentLogger(serverlist,logeerlist,"TRACE:32")
        printPersistentlogeer(serverlist,logeerlist)


print 'End of the script'


+++ Script Ends ++++   


4. Script For setting Persistent logger to NOTIFICATION:1 (For disabling the loggers you have set previously) 

+++ Script For setting Persistent logger to NOTIFICATION:1 (For disabling the loggers you have set previously)  +++



def setRuntimerLogger(serverName,loggerName,loggerLevel):
    Mbean1 = ObjectName('oracle.logging:Location='+serverName +',name='+serverName+',type=LogRuntime')

    mbs.invoke(Mbean1,'setLoggerLevel',[loggerName,loggerLevel], ["java.lang.String","java.lang.String"])


def setPersistentLogger(serverName,loggerName,loggerLevel):
    Mbean2 =  ObjectName("oracle.logging:type=LogConfig,ServerName=" + serverName)

    mbs.invoke(Mbean2,'setLoggerLevel',[loggerName,loggerLevel], ["java.lang.String","java.lang.String"])


def printPersistentlogeer(serverName,loggerName):

    Mbean1 = ObjectName("oracle.logging:type=LogConfig,ServerName=" + serverName)


    l2 =  mbs.invoke(Mbean1,'getLoggerLevel',[loggerName], ["java.lang.String"])
    if l2 == None:
        print serverName +  ' --> Logging Level for : ' + loggerName + ' --> None'
    else:
        print  serverName +  ' --> Logging Level for : ' + loggerName + ' --> ' +l2


def printRuntimelogeer(serverName,loggerName):

    Mbean1 = ObjectName('oracle.logging:Location='+serverName +',name='+serverName+',type=LogRuntime')


    l2 =  mbs.invoke(Mbean1,'getLoggerLevel',[loggerName], ["java.lang.String"])
    if l2 == None:
        print serverName +  ' --> Logging Level for : ' + loggerName + ' --> None'
    else:
        print  serverName +  ' --> Logging Level for : ' + loggerName + ' --> ' +l2


if __name__ == '__main__':
    from wlstModule import *#@UnusedWildImport

print 'Starting the script to set the loggers ....'

# Change these properties as per your environment

username = 'weblogic'
password = 'Welcome1'
url='t3://localhost:7001'


## Change this String with the list of the loggers you want

loggers_list = ['oracle.as.scheduler', 'oracle.as.scheduler.metedata' ,'oracle.as.ess']

## Change this String with the list of the servers you want to set the loggers

servers_list = ['AdminServer', 'soa_server1']

trace_32 = 'TRACE:32'
notification_1 = 'NOTIFICATION:1'

connect(username,password,url)
servers = cmo.getServers()
domainRuntime()

# for setting the runtime loggers

for logeerlist in loggers_list:
    for serverlist in servers_list:
        print 'Setting loggers for ' + serverlist +'  --> ' + logeerlist
        setPersistentLogger(serverlist,logeerlist,"NOTIFICATION:1")
        printPersistentlogeer(serverlist,logeerlist)



print 'End of the script'


+++ Script Ends ++++   
   
   

Generic Script contains all four operations

+++ Script Start's ++++
def setRuntimerLogger(serverName,loggerName,loggerLevel):
    Mbean1 = ObjectName('oracle.logging:Location='+serverName +',name='+serverName+',type=LogRuntime')
   
    mbs.invoke(Mbean1,'setLoggerLevel',[loggerName,loggerLevel], ["java.lang.String","java.lang.String"])
def setPersistentLogger(serverName,loggerName,loggerLevel):
    Mbean2 =  ObjectName("oracle.logging:type=LogConfig,ServerName=" + serverName)
    
    mbs.invoke(Mbean2,'setLoggerLevel',[loggerName,loggerLevel], ["java.lang.String","java.lang.String"])
   
def printPersistentlogeer(serverName,loggerName):
   
    Mbean1 = ObjectName("oracle.logging:type=LogConfig,ServerName=" + serverName)
   
   
    l2 =  mbs.invoke(Mbean1,'getLoggerLevel',[loggerName], ["java.lang.String"])
    if l2 == None:
        print serverName +  ' --> Logging Level for : ' + loggerName + ' --> None'
    else:
        print  serverName +  ' --> Logging Level for : ' + loggerName + ' --> ' +l2
   
def printRuntimelogeer(serverName,loggerName):
   
    Mbean1 = ObjectName('oracle.logging:Location='+serverName +',name='+serverName+',type=LogRuntime')
   
   
    l2 =  mbs.invoke(Mbean1,'getLoggerLevel',[loggerName], ["java.lang.String"])
    if l2 == None:
        print serverName +  ' --> Logging Level for : ' + loggerName + ' --> None'
    else:
        print  serverName +  ' --> Logging Level for : ' + loggerName + ' --> ' +l2
   
if __name__ == '__main__':
    from wlstModule import *#@UnusedWildImport
print 'Starting the script to set the loggers ....'
# Change these properties as per your environment
username = 'weblogic'
password = 'Welcome1'
url='t3://localhost:7001'
## Change this String with the list of the loggers you want
loggers_list = ['oracle.as.scheduler', 'oracle.as.scheduler.metedata' ,'oracle.as.ess']
## Change this String with the list of the servers you want to set the loggers
servers_list = ['AdminServer', 'soa_server1']
trace_32 = 'TRACE:32'
notification_1 = 'NOTIFICATION:1'
connect(username,password,url)
servers = cmo.getServers()
domainRuntime()
# for setting the runtime loggers
for logeerlist in loggers_list:
    for serverlist in servers_list:
        print 'Setting loggers for ' + serverlist +'  --> ' + logeerlist
        setRuntimerLogger(serverlist,logeerlist,"TRACE:32")
        printRuntimelogeer(serverlist,logeerlist)
       
"""
# for setting the runtime loggers
for logeerlist in loggers_list:
    for serverlist in servers_list:
        print 'Setting loggers for ' + serverlist +'  --> ' + logeerlist
        setRuntimerLogger(serverlist,logeerlist,"TRACE:32")
        printRuntimelogeer(serverlist,logeerlist)
# for unsetting the runtime loggers you have set in the previos session
for logeerlist in loggers_list:
    for serverlist in servers_list:
        print 'Setting loggers for ' + serverlist +'  --> ' + logeerlist
        setRuntimerLogger(serverlist,logeerlist,"NOTIFICATION:1")
        printRuntimelogeer(serverlist,logeerlist)
# Set Persistent loggers
for logeerlist in loggers_list:
    for serverlist in servers_list:
        print 'Setting loggers for ' + serverlist +'  --> ' + logeerlist
        setPersistentLogger(serverlist,logeerlist,"TRACE:32")
        printPersistentlogeer(serverlist,logeerlist)
       
# for unsetting the previous presistent loggers
for logeerlist in loggers_list:
    for serverlist in servers_list:
        print 'Setting loggers for ' + serverlist +'  --> ' + logeerlist
        setPersistentLogger(serverlist,logeerlist,"NOTIFICATION:1")
        printPersistentlogeer(serverlist,logeerlist)
"""
print 'End of the script'
   
+++ Script End's ++++
   



Tags: Publish
September 02, 2017 at 11:26AM
Open in Evernote