How to serialize the mimemessage
Hi ,
I would like to send the MimeMessage object via socket connection. To do do that i have written the following code fragment
Socket s = new Socket("localhost",3200);
OutputStream os = s.getOutputStream();
MimeMessage mimemessage
//some code to create MimeMessage
mimemessage.writeTo(os);
os.close() // this is important step
In this code fragment if i didnt close the output stream the message is not being delivered to the server side. But when i close the output stream it is closing the socket connection with the stream connection.
What i neeed is i will be sending mimemessage objects via socke asynchronously. For that purpose i would like to keep the outputstream of the socket keep opent always. But how can i send the mimemessage object via socket without closing the stream.
I tried os.flush() also. but no result.
Please help me.
thanks in advance,
Sridhar reddy .R
You can always create a new FilterOutputStream. Overload the close() method so that it does not close the underlying socket output stream. It would look something like:
Socket Output Stream
CustomFilterOutputStream (close() method is not propogated to underlying socket stream)
MimeOutputStream (close() method propogates to CustomFilterOutputStream)
class Custom FilterOutputStream extends FilterOutputStream {
private OutputStream nested;
CustomFilterOutputStream(OutputStream nested) {
this.nested = nested;
public void close() {
// Do nothing
You might want to add a custom method, such as "closeSocket()", to the new filter output stream.
- Saish
"My karma ran over your dogma." - Anon
Similar Messages
-
How to serialize the IDoc of DEBMAS by time sequence?
Hi experts,
We want to transfer customer master data from one client to the other.
We have carried out the serialization distribution for message type DEBMAS
and actived the change point.
Scenario:
time 1 : We created one "NEW" customer 100436.
time 2 : We assigned the Head Office of "existed" customer100435 as 100436
The time of the distribution job was arrived,
the job started to run and failed to change "existed" customer 100435
even though "NEW" customer 100436 has created sucessfully.
We think the IDoc should be processed by time sequence,
but it seems not.
Did you think it is processed by customer key ascendence ?
How do we define the process sequence of the IDoc?
Any advice will be appreciated.
Regards,But what if i want to check the format of date that my
database supports ?
Actually situation is :
I am making a form designer by which user will inset
date to a particular column. okay.
now the format of date must match with the underlying
format of database. Then only query will be
successfull. Is it not so.?No.
Basically you will be doing the following:
Browser -> java.util.Date
java.util.Date -> JDBC -> database
JDBC does the 'conversion' work for you, you just need to put it in the java.util.Date.
suppose database table-> column's format is
YYYY/DD/MM Databases don't store dates like that. They usually (probably always) store it as a signed integer value which is relative to a specific date/time.
When you use a database tool to look at the value the database tool converts it from the number to a format that looks familar to you.
and user enters date in the format
DD/MM/YYYY, then i will have show an error message to
the user that the format of date that he has entered
is wrong. No need for that.
The user does need to put the date in in a form that you understand. So you can convert it to a java.util.Date.
java.text.SimpleDateFormat can help with that. -
How to serialize the txt file?
HI, part of my program is as followings:
FileInputStream f = new FileInputStream ("c:/test1.txt");
ObjectInputStream s =new ObjectInputStream (f);
but,there is an exception when debugging when it runs to second line above.I think this is the problem of the "c:/test1.txt" file which is created by myself.
I just want to realize the function of reading a txt file from the drive.What shall I do?
java.io.StreamCorruptedException: InputStream does not contain a serialized
object
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:849
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:168)......
Many thanks!What if I want to read the whole text? Hi.
Just put the reading in a loop:
BufferedReader br = new BufferedReader(new FileReader(new File("C:\file.txt")));
String line = br.readLine();
while (line != null) {
System.out.println(line);
line = br.readLine(); // returns null if EOF
br.close();Cheers,
kelysar -
How to improve the performance of serialization/deserialization?
Hi, Friends,
I have a question about how to improve the performance of serialization/deserialization.
When an object is serialized, the entire tree of objects rooted at the object is also serialized. When it is deserialized, the tree is reconstructed. For example, suppose a serializable Father object contains (a serializable field of) an array of Child objects. When a Father object is serialized, so is the array of Child objects.
For the sake of performance consideration, when I need to deserialize a Father object, I don't want to deserialize any Child object. However, I should be able to know that Father object has children. I should also be able to deserialize any child of that Father object when necessary.
Could you tell me how to achieve the above idea?
Thanks.
YoubinYou could try something like this...
import java.io.*;
import java.util.*;
class Child implements Serializable {
int id;
Child(int _id) { id=_id; }
public String toString() { return String.valueOf(id); }
class Father implements Serializable
Child[] children = new Child[10];
public Father() {
Arrays.fill(children, new Child(1001));
public void readObject(ObjectInputStream stream)
throws IOException, ClassNotFoundException
int numchildren = stream.readInt();
for(int i=0; i<numchildren; i++)
children[i] = (Child)stream.readObject();
stream.close();
public void writeObject(ObjectOutputStream stream) throws IOException
stream.writeInt(children.length);
for(int i=0; i<children.length; i++)
stream.writeObject(children);
stream.close();
Child[] getChildren() { return children; }
class FatherProxy
int numchildren;
String filename;
public FatherProxy(String _filename) throws IOException
filename = _filename;
ObjectInputStream ois =
new ObjectInputStream(new FileInputStream(filename));
numchildren = ois.readInt();
ois.close();
int getNumChildren() { return numchildren; }
Child[] getChildren() throws IOException, ClassNotFoundException
ObjectInputStream ois =
new ObjectInputStream(new FileInputStream(filename));
Father f = (Father)ois.readObject();
ois.close();
return f.getChildren();
public class fatherref
public static void main(String[] args) throws Exception
// create the serialized file
Father f = new Father();
ObjectOutputStream oos =
new ObjectOutputStream(new FileOutputStream("father.ser"));
oos.writeObject(f);
oos.close();
// read in just what is needed -- numchildren
FatherProxy fp = new FatherProxy("father.ser");
System.out.println("numchildren: " + fp.getNumChildren());
// do some processing
// you need the rest -- children
Child[] c = fp.getChildren();
System.out.println("children:");
for(int i=0; i<c.length; i++)
System.out.println("i " + i + ": " + c[i]); -
Teachers:
How can I Serialize the Object of org.apache.xalan.transformer.TransformerImpl.org.apache.xalan.transformer.TransformerImpl doesn't appear to be serializable... what do you try to achieve?
-
How to get the values of the objects inside an object??
Hi,
I am trying to write code to display name and memory usage of all session attributes, in a recursive way.
I suppose reflection is needed here, but I cant figure out how to get the values of the objects inside an object...
private void handleIt(String attributeName, Object attributeValue) {
boolean isPrimitiveOrNull = ((null == attributeValue) ||
(attributeValue.getClass().isPrimitive()));
if (isPrimitiveOrNull) {
sb.append("{" + attributeName + ":" + sizeOf(attributeValue) + "}");
} else {
sb.append("{" + attributeName + ":" + sizeOf(attributeValue) + "{");
Field[] fields = attributeValue.getClass().getDeclaredFields();
int lim = fields.length;
String name;
Object value = null;
for (int i = 0; i < lim; i++) {
name = fields.getName();
//LOOK AT THIS LINE: !!!!!!!!!!!!!!!!!!!!!!!!!!!
value = fields[i].get(obj); //I don´t know what 'obj' should be??
handleIt(name, value);
sb.append("}");
Any suggestions will be greatly appreciated...I realized that massive int objects called MAX_VALUE, MIN_VALUE and SIZE where causing the StackOverflow, so I removed them from the analysis.
This is the resultant code. But I think it isnt accurate in calculating the real size of objects being got using reflexion.
Do you or somebody have any more suggestions?
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.lang.reflect.Field;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class SessionMeasurer extends HttpServlet {
private static final long serialVersionUID = 1470488362727841992L;
private StringBuilder sb = new StringBuilder();
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
performTask(request, response);
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
performTask(request, response);
public void performTask(HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession(false);
String attributeName = "";
Object attributeValue = null;
for (Enumeration<?> attributeNames = session.getAttributeNames(); attributeNames.hasMoreElements();) {
attributeName = (String)attributeNames.nextElement();
attributeValue = session.getAttribute(attributeName);
handleIt(attributeName, attributeValue);
System.out.println(sb.toString());
private void handleIt(String attributeName, Object attributeValue) {
if (attributeValue != null) {
boolean isPrimitive = attributeValue.getClass().isPrimitive();
if (isPrimitive) {
sb.append("{" + attributeName + ":" + sizeOf(attributeValue) + "}");
} else {
sb.append("{" + attributeName + ":" + sizeOf(attributeValue) + "{");
Field[] fields = attributeValue.getClass().getDeclaredFields();
String name;
Object value = null;
int lim = fields.length;
for (int i = 0; i < lim; i++) {
name = fields.getName();
if (!name.endsWith("_VALUE") && !name.equals("SIZE") && !name.equals("serialVersionUID")) {
try {
value = fields[i].get(attributeValue);
} catch(Exception e) {
//PENDIENTE: Tratamiento excepción
handleIt(name, value);
sb.append("}");
private int sizeOf(Object obj) {
//Valid only for Serializables
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = null;
byte[] bytes = null;
try {
oos = new ObjectOutputStream(baos);
oos.writeObject(obj);
bytes = baos.toByteArray();
} catch(Exception e) {
//PENDIENTE: Tratamiento excepción
} finally {
if (oos != null) {
try {
oos.close();
} catch(Exception e) {
//PENDIENTE: Tratamiento excepción
if (baos != null) {
try {
baos.close();
} catch(Exception e) {
//PENDIENTE: Tratamiento excepción
int size = -1;
if (bytes != null) {
size = bytes.length;
return size; -
How to get the reference of the cell id in validate method in adf
Hi All,
I am using Jdeveloper 11.1.1.2 and i am using custom validator where i have registered the validator in facesconfig.xml.I need to know how can i get the ID of the inputtext box which is present in the hierarchy as Panel Header->Table->column->textbox :-
Below is my custom validator class source , please tell me how to get the reference of the textbox which is present in such hierarchy.:-
package validator;
import java.io.Serializable;
import java.util.Date;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
import oracle.adf.view.rich.component.rich.input.RichInputDate;
import oracle.adf.view.rich.component.rich.input.RichInputText;
import oracle.adfinternal.view.faces.bi.util.JsfUtils;
public class ValidateConversion implements Serializable, Validator {
public ValidateConversion() {
super();
public void validate(FacesContext facesContext, UIComponent uIComponent,
Object object) throws ValidatorException {
System.out.println("*************");
System.out.println((String)object);
//get component id by get("AttributeName");
String conversionComponentId = (String)uIComponent.getAttributes().get("UncommittedOrder_PH:t7:it14");
System.out.println("conversionComponentId=" + conversionComponentId);
RichInputText conversionComponent = (RichInputText)uIComponent.findComponent(conversionComponentId);
Integer conversion = (Integer)conversionComponent.getValue();
Integer quantityInBags = (Integer)object;
//get labels from the two inputDate component.
String conversionLabel = conversionComponent.getLabel();
String quantityInBagsLabel = ((RichInputText)uIComponent).getLabel();
Integer remainder = (quantityInBags % conversion);
//throw error if valiation fails
if (remainder > 0) {
throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR,
"The " + quantityInBagsLabel + " should be in multiples of" + conversion +".",
null));
Thanks,
Plese reply!!!Thanks Jabr,
This is my jsff page source and i need to find the reference of it14 which is the textbox :-
<af:panelGroupLayout id="pgl1" styleClass="AFStretchWidth">
<af:panelHeader text="Results" id="Results_PH" size="1">
<af:table value="#{bindings.queryProductResponseType.collectionModel}"
var="row"
rows="#{bindings.queryProductResponseType.rangeSize}"
emptyText="#{bindings.queryProductResponseType.viewable ? 'No data to display.' : 'Access Denied.'}"
fetchSize="#{bindings.queryProductResponseType.rangeSize}"
rowBandingInterval="1"
filterModel="#{bindings.queryProductResponseTypeQuery.queryDescriptor}"
queryListener="#{bindings.queryProductResponseTypeQuery.processQuery}"
filterVisible="true" varStatus="vs" id="ResultTable_t"
width="99%" partialTriggers="::cb1 ::cb2 ::cb3 it14"
binding="#{viewScope.GrowerOrderBean.resultTable}"
columnStretching="last" rowSelection="multiple"
sortListener="#{viewScope.GrowerOrderBean.sortResultTable_action}"
autoHeightRows="8" first="0"
inlineStyle="height:196px;margin:10px"
selectionListener="#{viewScope.GrowerOrderBean.resultRowSelect_action}">
<af:column filterable="false" sortable="false" headerText="Select"
id="c9" width="55" rendered="false"
filterFeatures="caseInsensitive">
<div align="center">
<af:selectBooleanCheckbox value="#{row.bindings.booleanFlag.inputValue}"
label="#{bindings.queryProductResponseType.hints.booleanFlag.label}"
required="#{bindings.queryProductResponseType.hints.booleanFlag.mandatory}"
shortDesc="#{bindings.queryProductResponseType.hints.booleanFlag.tooltip}"
id="it19" autoSubmit="true">
<f:validator binding="#{row.bindings.booleanFlag.validator}"/>
</af:selectBooleanCheckbox>
</div>
</af:column>
<!-- START of column created by SYSTIME -->
<af:column sortProperty="quantity" headerText="Quantity in Bags" filterFeatures="caseInsensitive"
id="c54" rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
filterable="true" sortable="true">
<af:inputText label="Quantity in Bags" id="it14"
partialTriggers="it19" autoSubmit="true"
readOnly="#{row.activeYN == 'N' or row.availability < 0 or row.availability ==0}"
valueChangeListener="#{viewScope.GrowerOrderBean.compare}">
<af:validateLongRange id="RangeCheck_Val1" minimum="1"
maximum="#{row.availability * row.conversion}"
messageDetailNotInRange="You have entered a quantity more than is available. Quantity entered must be in the range of {2} to {3}"
messageDetailMinimum="Minimum {0} allowed is {2}"
messageDetailMaximum="Maximum {0} allowed is {2}"
hintNotInRange="#{'Quantity In Bags to Order'}"/>
<af:validateRegExp pattern="^[1-9]+[0-9]*$"
messageDetailNoMatch="Quantity In Bags must be in whole number format."/>
<f:validator validatorId="custom.conversionValidator"/>
</af:inputText>
</af:column>
<!-- END of column created by SYSTIME -->
<af:column sortProperty="quantity" filterable="true"
sortable="true" headerText="Quantity" id="c3"
width="60"
rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
filterFeatures="caseInsensitive" visible="false">
<div align="center" >
<af:inputText value="#{row.bindings.quantity.inputValue}"
label="#{bindings.queryProductResponseType.hints.quantity.label}"
required="#{bindings.queryProductResponseType.hints.quantity.mandatory}"
columns="#{bindings.queryProductResponseType.hints.quantity.displayWidth}"
maximumLength="#{bindings.queryProductResponseType.hints.quantity.precision}"
shortDesc="#{bindings.queryProductResponseType.hints.quantity.tooltip}"
id="it5" partialTriggers="it19"
readOnly="#{row.activeYN == 'N' or row.availability < 0 or row.availability ==0}">
<f:validator binding="#{row.bindings.quantity.validator}"/>
<af:validateLongRange id="RangeCheck_Val" minimum="1"
maximum="#{row.bindings.availability.inputValue}"
messageDetailNotInRange="You have entered a quantity more than is available. Quantity entered must be in the range of {2} to {3}"
messageDetailMinimum="Minimum {0} allowed is {2}"
messageDetailMaximum="Maximum {0} allowed is {2}"
hintNotInRange="#{'Quantity to Order'}"/>
<af:validateRegExp pattern="^[1-9]+[0-9]*$"
messageDetailNoMatch="Quantity must be in whole number format."/>
</af:inputText>
</div>
</af:column>
<af:column sortProperty="brand" filterable="true" sortable="true"
headerText="Brand" id="c10" width="80"
rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
filterFeatures="caseInsensitive" displayIndex="-1">
<af:inputText value="#{row.bindings.brand.inputValue}"
label="#{bindings.queryProductResponseType.hints.brand.label}"
required="#{bindings.queryProductResponseType.hints.brand.mandatory}"
columns="#{bindings.queryProductResponseType.hints.brand.displayWidth}"
maximumLength="#{bindings.queryProductResponseType.hints.brand.precision}"
shortDesc="#{bindings.queryProductResponseType.hints.brand.tooltip}"
id="it7" readOnly="true">
<f:validator binding="#{row.bindings.brand.validator}"/>
</af:inputText>
</af:column>
<af:column sortProperty="seedsz" filterable="true" sortable="true"
headerText="Seed Size" id="c7" width="50"
rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
filterFeatures="caseInsensitive">
<af:inputText value="#{row.bindings.seedsz.inputValue}"
label="#{bindings.queryProductResponseType.hints.seedsz.label}"
required="#{bindings.queryProductResponseType.hints.seedsz.mandatory}"
columns="#{bindings.queryProductResponseType.hints.seedsz.displayWidth}"
maximumLength="#{bindings.queryProductResponseType.hints.seedsz.precision}"
shortDesc="#{bindings.queryProductResponseType.hints.seedsz.tooltip}"
id="it11" readOnly="true"
contentStyle="text-transform:uppercase">
<f:validator binding="#{row.bindings.seedsz.validator}"/>
</af:inputText>
</af:column>
<af:column sortProperty="pckSize" filterable="true"
sortable="true" headerText="Pkg Size" id="c11"
width="50"
rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
filterFeatures="caseInsensitive"
inlineStyle="#{row.conversion > 1 ? 'background-color:Yellow;' : 'background-color:White;'}">
<af:inputText value="#{row.bindings.pckSize.inputValue}"
label="#{bindings.queryProductResponseType.hints.pckSize.label}"
required="#{bindings.queryProductResponseType.hints.pckSize.mandatory}"
columns="#{bindings.queryProductResponseType.hints.pckSize.displayWidth}"
maximumLength="#{bindings.queryProductResponseType.hints.pckSize.precision}"
shortDesc="#{bindings.queryProductResponseType.hints.pckSize.tooltip}"
id="it8" readOnly="true">
<f:validator binding="#{row.bindings.pckSize.validator}"/>
</af:inputText>
</af:column>
<af:column sortProperty="conversion" filterable="true"
sortable="true" headerText="Conv" id="c4" width="50"
rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
filterFeatures="caseInsensitive" displayIndex="-1">
<af:inputText value="#{row.bindings.conversion.inputValue}"
label="#{bindings.queryProductResponseType.hints.conversion.label}"
required="#{bindings.queryProductResponseType.hints.conversion.mandatory}"
columns="#{bindings.queryProductResponseType.hints.conversion.displayWidth}"
maximumLength="#{bindings.queryProductResponseType.hints.conversion.precision}"
shortDesc="#{bindings.queryProductResponseType.hints.conversion.tooltip}"
id="conversion_it" readOnly="true">
<f:validator binding="#{row.bindings.conversion.validator}"/>
</af:inputText>
</af:column>
<af:column sortProperty="treatment" filterable="true"
sortable="true" headerText="Treatment" id="c13"
width="70"
rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
filterFeatures="caseInsensitive">
<af:inputText value="#{row.bindings.treatment.inputValue}"
label="#{bindings.queryProductResponseType.hints.treatment.label}"
required="#{bindings.queryProductResponseType.hints.treatment.mandatory}"
columns="#{bindings.queryProductResponseType.hints.treatment.displayWidth}"
maximumLength="#{bindings.queryProductResponseType.hints.treatment.precision}"
shortDesc="#{bindings.queryProductResponseType.hints.treatment.tooltip}"
id="it20" readOnly="true">
<f:validator binding="#{row.bindings.treatment.validator}"/>
</af:inputText>
</af:column>
<af:column sortProperty="availability" filterable="true"
sortable="true" headerText="Availability" id="c15"
width="60"
rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
filterFeatures="caseInsensitive">
<af:inputText value="#{row.availability> 500 ? '>=500': (row.availability> 100 and row.availability<500 ? '100-500' : row.availability) }"
label="#{bindings.queryProductResponseType.hints.availability.label}"
required="#{bindings.queryProductResponseType.hints.availability.mandatory}"
columns="#{bindings.queryProductResponseType.hints.availability.displayWidth}"
maximumLength="#{bindings.queryProductResponseType.hints.availability.precision}"
shortDesc="#{bindings.queryProductResponseType.hints.availability.tooltip}"
id="it9" readOnly="true">
<f:validator binding="#{row.bindings.availability.validator}"/>
</af:inputText>
</af:column>
<af:column sortProperty="desiredDeliveryDate" filterable="true"
sortable="true" headerText="Desired Delivery Month" id="c2"
rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
filterFeatures="caseInsensitive" width="90">
<af:selectOneChoice id="soc1" partialTriggers="it19"
unselectedLabel="#{viewScope.GrowerOrderBean.desiredDeliveryDate}"
value="#{row.bindings.desiredDeliveryDate.inputValue}"
readOnly="#{row.activeYN == 'N'}">
<af:forEach var="item"
items="#{viewScope.GrowerOrderBean.selectItems}">
<af:selectItem label="#{item.label}" value="#{item.value}"/>
</af:forEach>
</af:selectOneChoice>
</af:column>
<af:column sortProperty="maturity" filterable="true"
sortable="true" headerText="Maturity" id="c5"
width="60"
rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
filterFeatures="caseInsensitive">
<div align="center">
<af:inputText value="#{row.bindings.maturity.inputValue}"
label="#{bindings.queryProductResponseType.hints.maturity.label}"
required="#{bindings.queryProductResponseType.hints.maturity.mandatory}"
columns="#{bindings.queryProductResponseType.hints.maturity.displayWidth}"
maximumLength="#{bindings.queryProductResponseType.hints.maturity.precision}"
shortDesc="#{bindings.queryProductResponseType.hints.maturity.tooltip}"
id="it16" readOnly="true">
<f:validator binding="#{row.bindings.maturity.validator}"/>
</af:inputText>
</div>
</af:column>
<af:column sortProperty="technology" filterable="true"
sortable="true" headerText="Technology" id="c14"
rendered="true" filterFeatures="caseInsensitive">
<af:inputText value="#{row.bindings.technology.inputValue}"
label="#{bindings.queryProductResponseType.hints.technology.label}"
required="#{bindings.queryProductResponseType.hints.technology.mandatory}"
columns="#{bindings.queryProductResponseType.hints.technology.displayWidth}"
maximumLength="#{bindings.queryProductResponseType.hints.technology.precision}"
shortDesc="#{bindings.queryProductResponseType.hints.technology.tooltip}"
id="it15" readOnly="true">
<f:validator binding="#{row.bindings.technology.validator}"/>
</af:inputText>
</af:column>
<af:column sortProperty="prdLine" filterable="true"
sortable="true" headerText="Product Line" id="c6"
width="70"
rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
filterFeatures="caseInsensitive">
<af:inputText value="#{row.bindings.prdLine.inputValue}"
label="#{bindings.queryProductResponseType.hints.prdLine.label}"
required="#{bindings.queryProductResponseType.hints.prdLine.mandatory}"
columns="#{bindings.queryProductResponseType.hints.prdLine.displayWidth}"
maximumLength="#{bindings.queryProductResponseType.hints.prdLine.precision}"
shortDesc="#{bindings.queryProductResponseType.hints.prdLine.tooltip}"
id="it12" readOnly="true">
<f:validator binding="#{row.bindings.prdLine.validator}"/>
</af:inputText>
</af:column>
<af:column sortProperty="brandMktName" filterable="true"
sortable="true" headerText="Marketing Brand" id="c8"
rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
filterFeatures="caseInsensitive" width="80">
<af:inputText value="#{row.bindings.brandMktName.inputValue}"
label="#{bindings.queryProductResponseType.hints.brandMktName.label}"
required="#{bindings.queryProductResponseType.hints.brandMktName.mandatory}"
columns="#{bindings.queryProductResponseType.hints.brandMktName.displayWidth}"
maximumLength="#{bindings.queryProductResponseType.hints.brandMktName.precision}"
shortDesc="#{bindings.queryProductResponseType.hints.brandMktName.tooltip}"
id="it17" readOnly="true">
<f:validator binding="#{row.bindings.brandMktName.validator}"/>
</af:inputText>
</af:column>
<af:column sortProperty="itemID" filterable="true" sortable="true"
headerText="Item#" id="c1"
rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
filterFeatures="caseInsensitive" width="60">
<af:inputText value="#{row.bindings.itemID.inputValue}"
label="#{bindings.queryProductResponseType.hints.itemID.label}"
required="#{bindings.queryProductResponseType.hints.itemID.mandatory}"
columns="#{bindings.queryProductResponseType.hints.itemID.displayWidth}"
maximumLength="#{bindings.queryProductResponseType.hints.itemID.precision}"
shortDesc="#{bindings.queryProductResponseType.hints.itemID.tooltip}"
id="it6" readOnly="true">
<f:validator binding="#{row.bindings.itemID.validator}"/>
</af:inputText>
</af:column>
<af:column sortProperty="descp" filterable="true" sortable="true"
headerText="Description" id="c17" width="105"
rendered="#{row.bindings.booleanFlag.inputValue != 'E'}"
filterFeatures="caseInsensitive">
<af:inputText value="#{row.bindings.descp.inputValue}"
label="#{bindings.queryProductResponseType.hints.descp.label}"
required="#{bindings.queryProductResponseType.hints.descp.mandatory}"
columns="#{bindings.queryProductResponseType.hints.descp.displayWidth}"
maximumLength="#{bindings.queryProductResponseType.hints.descp.precision}"
shortDesc="#{bindings.queryProductResponseType.hints.descp.tooltip}"
id="it10" readOnly="true">
<f:validator binding="#{row.bindings.descp.validator}"/>
</af:inputText>
</af:column>
<af:column sortProperty="primaryUOM" filterable="true"
sortable="true"
headerText="#{bindings.queryProductResponseType.hints.primaryUOM.label}"
id="c16" rendered="false"
filterFeatures="caseInsensitive">
<af:inputText value="#{row.bindings.primaryUOM.inputValue}"
label="#{bindings.queryProductResponseType.hints.primaryUOM.label}"
required="#{bindings.queryProductResponseType.hints.primaryUOM.mandatory}"
columns="#{bindings.queryProductResponseType.hints.primaryUOM.displayWidth}"
maximumLength="#{bindings.queryProductResponseType.hints.primaryUOM.precision}"
shortDesc="#{bindings.queryProductResponseType.hints.primaryUOM.tooltip}"
id="it18">
<f:validator binding="#{row.bindings.primaryUOM.validator}"/>
</af:inputText>
</af:column>
<af:column sortProperty="secondaryUOM" filterable="true"
sortable="true"
headerText="#{bindings.queryProductResponseType.hints.secondaryUOM.label}"
id="c12" rendered="false"
filterFeatures="caseInsensitive">
<af:inputText value="#{row.bindings.secondaryUOM.inputValue}"
label="#{bindings.queryProductResponseType.hints.secondaryUOM.label}"
required="#{bindings.queryProductResponseType.hints.secondaryUOM.mandatory}"
columns="#{bindings.queryProductResponseType.hints.secondaryUOM.displayWidth}"
maximumLength="#{bindings.queryProductResponseType.hints.secondaryUOM.precision}"
shortDesc="#{bindings.queryProductResponseType.hints.secondaryUOM.tooltip}"
id="it21">
<f:validator binding="#{row.bindings.secondaryUOM.validator}"/>
</af:inputText>
</af:column>
</af:table>
<af:spacer width="10" height="5" id="s7"/>
<af:toolbar id="t1">
<af:commandButton id="AddToOrderButton2"
actionListener="#{viewScope.GrowerOrderBean.addToOrder_action}"
partialSubmit="true"
styleClass="addToOrderButton">
<af:clientListener method="setFocus" type="action"/>
</af:commandButton>
</af:toolbar>
<f:facet name="context">
<af:group id="g1">
<af:spacer width="60" height="10" id="s1"/>
<af:commandButton id="cb4"
actionListener="#{viewScope.GrowerOrderBean.addToOrder_action}"
partialSubmit="true"
styleClass="addToOrderButton">
<af:clientListener method="setFocus" type="action"/>
</af:commandButton>
</af:group>
</f:facet>
<f:facet name="info"/>
<f:facet name="legend"/>
<f:facet name="menuBar"/>
<f:facet name="toolbar"/>
</af:panelHeader>
</jsp:root>
Please reply !!
Thanks. -
How to get the number of columns in a result set???
hi everyone..
i am trying to establish a servlet applet communication....
my applet send the sql query to the servlet as serialised string and then the servlet executes the query...
Since i need to pass the result back to the applet, i thaught of passing the whole reult set to the applet..but that seems to be not possible..
so i thaught of storing my result set data in a vector and then pass the vector,but the first problem that i came across is that how to get the number of colums in a result set....
so is there a way to get the number of columns in a result set...???
and also i would like to know if it possible to send my whole result set to the applet bye serialization or by any method...???
thanx in advanceYou shouldn't do. It expenses resources (you should always close the ResultSet and the Statement as fast as possible). Simply gently process it into a Collection or Map of DTO's. Those are serializable.
-
hi i am creating xml publisher and from OAF with parameters
cusname:
runreportdate:
go clear buttons
click go open report in pdf
SELECT hp.party_name CustomerName,
csi.incident_number SRNumber,
to_char(csi.incident_date,'DD-MON-YYYY') SRDate,
to_char(csi.close_date,'DD-MON-YYYY') SRCloseDate,
mtl.description SRItemName,
csi.summary Summary,
csi.problem_code,
csi.incident_address SRAddress,
csi.INCIDENT_COUNTRY SRCountry,
'31-DEC-2008' Reportrundate,
COUNT ( * ) over () cnt,
cis.name,
COUNT(
CASE
WHEN cis.name='Low'
THEN 1
END) over () Low,
COUNT(
CASE
WHEN cis.name='Medium'
THEN 1
END) over () Medium,
COUNT(
CASE
WHEN cis.name='High'
THEN 1
END) over () High1,
to_char(csi.incident_date,'MON-YYYY') SrMonth
FROM hz_parties hp,
hz_cust_accounts hca,
hz_contact_points hc,
cs_incidents_all_b csi,
ar_lookups arl,
cs_incident_severities_b cis,
mtl_system_items_kfv mtl
WHERE hca.cust_account_id =csi.account_id
AND hp.party_type IN ('PERSON','ORGANIZATION')
AND hp.status ='A'
AND hp.party_id = hca.party_id
AND hca.status ='A'
AND hp.party_id =hc.owner_table_id(+)
AND hc.owner_table_name(+) ='HZ_PARTIES'
AND hp.party_id =hca.cust_account_id
AND hc.contact_point_type(+)='PHONE'
AND hc.primary_flag(+) ='Y'
AND hc.status(+) ='A'
AND arl.lookup_type(+) = 'PHONE_LINE_TYPE'
AND arl.lookup_code(+) = hc.phone_line_type
AND hp.party_name='Business World'
AND csi.incident_date BETWEEN to_date('01-JAN-2000','DD-MON-YYYY') AND to_date('31-DEC-2008','DD-MON-YYYY')
AND cis.incident_severity_id=csi.incident_severity_id
AND mtl.inventory_item_id=csi.inventory_item_id
GROUP BY hp.party_name,
csi.incident_number,
csi.incident_date,
csi.close_date,
csi.summary,
csi.problem_code,
csi.incident_address,
cis.name,
csi.INCIDENT_COUNTRY,
mtl.description,
to_char(csi.incident_date,'MON-YYYY')
Am code
public void initQuery(String paramString1, String paramString2)
SrReportVOImpl vo=getSrReportVO1();
if ((paramString1 != null) && (!("".equals(paramString1.trim()))) && (paramString2 != null) && (!("".equals(paramString2.trim()))))
vo.setWhereClauseParams(null);
vo.setWhereClauseParam(0, paramString1);
vo.setWhereClauseParam(1, paramString2);
vo.executeQuery();
public XMLNode getPrintDataXML()
//SrReportVOImpl vo=getSrReportVO1();
OAViewObject vo = (OAViewObject)findViewObject("SrReportVO1");
//vo.initQuery(s,s1);
XMLNode xmlNode=(XMLNode) vo.writeXML(4,XMLInterface.XML_OPT_ALL_ROWS);
return xmlNode;
CO code
SrAMImpl am=(SrAMImpl)pageContext.getApplicationModule(webBean);
if(pageContext.getParameter("Go")!=null)
//am.searchSrDetails(pageContext,webBean);
String s=pageContext.getParameter("CustomerName");
String s1=pageContext.getParameter("RunReportDate");
am.initQuery(s,s1);
// Get the HttpServletResponse object from the PageContext. The report output is written to HttpServletResponse.
DataObject sessionDictionary = (DataObject)pageContext.getNamedDataObject("_SessionParameters");
HttpServletResponse response = (HttpServletResponse)sessionDictionary.selectValue(null,"HttpServletResponse");
try {
ServletOutputStream os = response.getOutputStream();
// Set the Output Report File Name and Content Type
String contentDisposition ="attachment;filename=ServiceReport.pdf";
response.setHeader("Content-Disposition",contentDisposition);
response.setContentType("application/pdf");
Serializable param[]={pageContext.getParameter("CustomerName"),pageContext.getParameter("RunReportDate")};
System.out.println("hiiii 12");
// Get the Data XML Output as the XMLNode
XMLNode xmlNode = (XMLNode) am.invokeMethod("getPrintDataXML",param);
System.out.println("hiiii 13");
System.out.println(xmlNode.toString());
System.out.println("hiiii 14");
// Get the Data XML File as the XMLNode
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
xmlNode.print(outputStream);
ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
ByteArrayOutputStream pdfFile = new ByteArrayOutputStream();
//Generate the PDF Report.
TemplateHelper.processTemplate(
((OADBTransactionImpl)pageContext.getApplicationModule(webBean).getOADBTransaction()).getAppsContext(),
APP_NAME,
TEMPLATE_CODE,
((OADBTransactionImpl)pageContext.getApplicationModule(webBean).getOADBTransaction()).getUserLocale().getLanguage(),
((OADBTransactionImpl)pageContext.getApplicationModule(webBean).getOADBTransaction()).getUserLocale().getCountry(),
inputStream,
TemplateHelper.OUTPUT_TYPE_PDF,
null,
pdfFile);
// Write the PDF Report to the HttpServletResponse object and flush.
byte[] b = pdfFile.toByteArray();
response.setContentLength(b.length);
os.write(b, 0, b.length);
os.flush();
os.close();
pdfFile.flush();
pdfFile.close();
catch(Exception e)
response.setContentType("text/html");
throw new OAException(e.getMessage(), OAException.ERROR);
pageContext.setDocumentRendered(false);
System.out.println("hiiii 13");
if(pageContext.getParameter("Clear")!=null)
am.ClearFields(pageContext,webBean);
}can any one tell me how to set the bind parameters or setting parameterHi,
Could not understand your problem exactly. DId you try adding bind variables in the query like below:
AND hp.party_name='Business World'
AND csi.incident_date BETWEEN to_date('01-JAN-2000','DD-MON-YYYY') AND to_date('31-DEC-2008','DD-MON-YYYY')
change to
AND hp.party_name=:1
AND csi.incident_date BETWEEN :2 AND :3
Please note you will need three bind variables. Second and third for SR Dates.
~Amol -
How to get the value of attribute.
Hi,
I have requirement that i have to pass lineid as parameter to procedure.
Line id is prasent in the vo.
So to capture the value of that line id after clicking update button.
I've created one event on update button in that created the parameter
updaterecord ${oa.UpdateVO1.LineId}
and to capture that i write the following code in the PFR.
if("update".equals(pageContext.getParameter(EVENT_PARAM)))
OAApplicationModule am=(OAApplicationModule)pageContext.getRootApplicationModule();
String lid = pageContext.getParameter("updaterecord").toString();
String promiseD=pageContext.getParameter("PromiseDate").toString();
Serializable [] parameters1={lid,promiseD};
am.invokeMethod("Update", parameters1);
But its passing null value .
Please any one will help how to capture the values.
Regards,
SanguHi Sangu,
Try below code
//In Controller
java.sql.Date convDate; //declare variable
String lid = pageContext.getParameter("updaterecord").toString();
String promiseD=pageContext.getParameter("PromiseDate");
OADBTransaction txn = am.getOADBTransaction();
if(promiseD!=null)
java.sql.Date javaSqlDate = txn.getOANLSServices().stringToDate(promiseD);
convDate= javaSqlDate;
// set converted value
Serializable [] parameters1={lid,convDate};
am.invokeMethod("Update", parameters1);
Do date conversion same way in AM before setting date Value.
How to call pl/sql function from oaf
Regards,
Dilip -
How to fix the program???
Hi all,
I'm writing an application which need to use a vector to store data from a file when the program starts. Then, after the user input new data and press "Save" button, the new data will be append to the vector. The following code has error. Maybe I don't know how to define the vector so that the MainPrg and testFrame can also identify it. Would anyone help? Thanks in advance.
public class MainPrg implements Serializable
public static void main (String[] args) throws IOException, ClassNotFoundException
Vector testVect;
FileInputStream inFile = new FileInputStream("test.dat");
ObjectInputStream inStream = new ObjectInputStream(inFile);
testVect = (Vector) inStream.readObject();
inStream.close();
class testFrame extends JFrame implements ActionListener
public testFrame ()
public void actionPerformed (ActionEvent e)
if (e.getSource()==save)
Test test1 = new Test (number, name);
testVect.add(test1);move
Vector testVect;to the spot commented below
public class MainPrg implements Serializable
//right here is where it needs to go
public static void main (String[] args) throws IOException, ClassNotFoundException -
How to configure the smtp server..
i had an error when running the java mail program..
this is my program
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
import java.io.*;
import java.util.Properties;
public class MailClient
public void sendMail(String mailServer, String from, String to,
String subject, String messageBody,
String[] attachments) throws
MessagingException, AddressException
// Setup mail server
Properties props = System.getProperties();
props.put("mail.smtp.host", mailServer);
// Get a mail session
Session session = Session.getDefaultInstance(props, null);
// Define a new mail message
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);
// Create a message part to represent the body text
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText(messageBody);
//use a MimeMultipart as we need to handle the file attachments
Multipart multipart = new MimeMultipart();
//add the message body to the mime message
multipart.addBodyPart(messageBodyPart);
// add any file attachments to the message
// addAtachments(attachments, multipart);
// Put all message parts in the message
message.setContent(multipart);
// Send the message
Transport.send(message);
protected void addAtachments(String[] attachments, Multipart multipart)
throws MessagingException, AddressException
for(int i = 0; i<= attachments.length -1; i++)
String filename = attachments;
MimeBodyPart attachmentBodyPart = new MimeBodyPart();
//use a JAF FileDataSource as it does MIME type detection
DataSource source = new FileDataSource(filename);
attachmentBodyPart.setDataHandler(new DataHandler(source));
//assume that the filename you want to send is the same as the
//actual file name - could alter this to remove the file path
attachmentBodyPart.setFileName(filename);
//add the attachment
multipart.addBodyPart(attachmentBodyPart);
public static void main(String[] args)
try
MailClient client = new MailClient();
String server="smtp.canvasindia.com";
String from="[email protected]";
String to = "[email protected]";
String subject="Test";
String message="Testing";
String[] filenames ={"c:/A.java"};
client.sendMail(server,from,to,subject,message,filenames);
catch(Exception e)
e.printStackTrace(System.out);
the error is .................
javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
com.sun.mail.smtp.SMTPAddressFailedException: 553 Attack detected from p
ool 59.144.8.116. <http://unblock.secureserver.net/?ip=59.144.8.*>
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1196)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:584)
at javax.mail.Transport.send0(Transport.java:169)
at javax.mail.Transport.send(Transport.java:98)
at MailClient.sendMail(MailClient.java:47)
at MailClient.main(MailClient.java:84)
Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 553 Attack detected fro
m pool 59.144.8.116. <http://unblock.secureserver.net/?ip=59.144.8.*>
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1047)
... 5 more
how to configure the smtp server in my machine..
please guide me...This uses gmail account, and gmail smtp
* MailSender.java
* Created on 14 November 2006, 17:07
* This class is used to send mails to other users
package jmailer;
* @author Abubakar Gurnah
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public class MailSender{
private String d_email,d_password;
* This example is for gmail, you can use any smtp server
* @param d_email --> your gmail account e.g. [email protected]
* @param d_password --> your gmail password
* @param d_host --> smtp.gmail.com
* @param d_port --> 465
* @param m_to --> [email protected]
* @param m_subject --> Subject of the message
* @param m_text --> The main message body
public String send(String d_email,String d_password,String d_host,String d_port,
String m_from,String m_to,String m_subject,String m_text ) {
this.d_email=d_email;
this.d_password=d_password;
Properties props = new Properties();
props.put("mail.smtp.user", d_email);
props.put("mail.smtp.host", d_host);
props.put("mail.smtp.port", d_port);
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.auth", "true");
//props.put("mail.smtp.debug", "true");
props.put("mail.smtp.socketFactory.port", d_port);
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
SecurityManager security = System.getSecurityManager();
try {
Authenticator auth = new SMTPAuthenticator();
Session session = Session.getInstance(props, auth);
//session.setDebug(true);
MimeMessage msg = new MimeMessage(session);
msg.setText(m_text);
msg.setSubject(m_subject);
msg.setFrom(new InternetAddress(m_from));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(m_to));
Transport.send(msg);
return "Successful";
} catch (Exception mex) {
mex.printStackTrace();
return "Fail";
//public static void main(String[] args) {
// MailSender blah = new MailSender();
private class SMTPAuthenticator extends javax.mail.Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(d_email, d_password);
} -
How to set the correct shared pool size and db_buffer_cache using awr
Hi All,
I want to how to set the correct size for shared_pool_size and db_cache_size using shared pool advisory and buffer pool advisory of awr report. I have paste the shared and buffer pool advisory of awr report.
Shared Pool Advisory
* SP: Shared Pool Est LC: Estimated Library Cache Factr: Factor
* Note there is often a 1:Many correlation between a single logical object in the Library Cache, and the physical number of memory objects associated with it. Therefore comparing the number of Lib Cache objects (e.g. in v$librarycache), with the number of Lib Cache Memory Objects is invalid.
Shared Pool Size(M) SP Size Factr Est LC Size (M) Est LC Mem Obj Est LC Time Saved (s) Est LC Time Saved Factr Est LC Load Time (s) Est LC Load Time Factr Est LC Mem Obj Hits (K)
4,096 1.00 471 25,153 184,206 1.00 149 1.00 9,069
4,736 1.16 511 27,328 184,206 1.00 149 1.00 9,766
5,248 1.28 511 27,346 184,206 1.00 149 1.00 9,766
5,760 1.41 511 27,346 184,206 1.00 149 1.00 9,766
6,272 1.53 511 27,346 184,206 1.00 149 1.00 9,766
6,784 1.66 511 27,346 184,206 1.00 149 1.00 9,766
7,296 1.78 511 27,346 184,206 1.00 149 1.00 9,766
7,808 1.91 511 27,346 184,206 1.00 149 1.00 9,766
8,320 2.03 511 27,346 184,206 1.00 149 1.00 9,766
Buffer Pool Advisory
* Only rows with estimated physical reads >0 are displayed
* ordered by Block Size, Buffers For Estimate
P Size for Est (M) Size Factor Buffers (thousands) Est Phys Read Factor Estimated Phys Reads (thousands) Est Phys Read Time Est %DBtime for Rds
D 4,096 0.10 485 1.02 1,002 1 0.00
D 8,192 0.20 970 1.00 987 1 0.00
D 12,288 0.30 1,454 1.00 987 1 0.00
D 16,384 0.40 1,939 1.00 987 1 0.00
D 20,480 0.50 2,424 1.00 987 1 0.00
D 24,576 0.60 2,909 1.00 987 1 0.00
D 28,672 0.70 3,394 1.00 987 1 0.00
D 32,768 0.80 3,878 1.00 987 1 0.00
D 36,864 0.90 4,363 1.00 987 1 0.00
D 40,960 1.00 4,848 1.00 987 1 0.00
D 45,056 1.10 5,333 1.00 987 1 0.00
D 49,152 1.20 5,818 1.00 987 1 0.00
D 53,248 1.30 6,302 1.00 987 1 0.00
D 57,344 1.40 6,787 1.00 987 1 0.00
D 61,440 1.50 7,272 1.00 987 1 0.00
D 65,536 1.60 7,757 1.00 987 1 0.00
D 69,632 1.70 8,242 1.00 987 1 0.00
D 73,728 1.80 8,726 1.00 987 1 0.00
D 77,824 1.90 9,211 1.00 987 1 0.00
D 81,920 2.00 9,696 1.00 987 1 0.00
My shared pool size is 4gb and db_cache_size is 40Gb.
Please help me in configuring the correct size for this.
Thanks and Regards,Hi ,
Actually batch load is taking too much time.
Please find below the 1 hr awr report
Snap Id Snap Time Sessions Cursors/Session
Begin Snap: 6557 27-Nov-11 16:00:06 126 1.3
End Snap: 6558 27-Nov-11 17:00:17 130 1.6
Elapsed: 60.17 (mins)
DB Time: 34.00 (mins)
Report Summary
Cache Sizes
Begin End
Buffer Cache: 40,960M 40,960M Std Block Size: 8K
Shared Pool Size: 4,096M 4,096M Log Buffer: 25,908K
Load Profile
Per Second Per Transaction Per Exec Per Call
DB Time(s): 0.6 1.4 0.00 0.07
DB CPU(s): 0.5 1.2 0.00 0.06
Redo size: 281,296.9 698,483.4
Logical reads: 20,545.6 51,016.4
Block changes: 1,879.5 4,667.0
Physical reads: 123.7 307.2
Physical writes: 66.4 164.8
User calls: 8.2 20.4
Parses: 309.4 768.4
Hard parses: 8.5 21.2
W/A MB processed: 1.7 4.3
Logons: 0.7 1.6
Executes: 1,235.9 3,068.7
Rollbacks: 0.0 0.0
Transactions: 0.4
Instance Efficiency Percentages (Target 100%)
Buffer Nowait %: 100.00 Redo NoWait %: 100.00
Buffer Hit %: 99.66 In-memory Sort %: 100.00
Library Hit %: 99.19 Soft Parse %: 97.25
Execute to Parse %: 74.96 Latch Hit %: 99.97
Parse CPU to Parse Elapsd %: 92.41 % Non-Parse CPU: 98.65
Shared Pool Statistics
Begin End
Memory Usage %: 80.33 82.01
% SQL with executions>1: 90.90 86.48
% Memory for SQL w/exec>1: 90.10 86.89
Top 5 Timed Foreground Events
Event Waits Time(s) Avg wait (ms) % DB time Wait Class
DB CPU 1,789 87.72
db file sequential read 27,531 50 2 2.45 User I/O
db file scattered read 26,322 30 1 1.47 User I/O
row cache lock 1,798 20 11 0.96 Concurrency
OJVM: Generic 36 15 421 0.74 Other
Host CPU (CPUs: 24 Cores: 12 Sockets: )
Load Average Begin Load Average End %User %System %WIO %Idle
0.58 1.50 2.8 0.7 0.1 96.6
Instance CPU
%Total CPU %Busy CPU %DB time waiting for CPU (Resource Manager)
2.2 63.6 0.0
Memory Statistics
Begin End
Host Mem (MB): 131,072.0 131,072.0
SGA use (MB): 50,971.4 50,971.4
PGA use (MB): 545.5 1,066.3
% Host Mem used for SGA+PGA: 39.30 39.70
RAC Statistics
Begin End
Number of Instances: 2 2
Global Cache Load Profile
Per Second Per Transaction
Global Cache blocks received: 3.09 7.68
Global Cache blocks served: 1.86 4.62
GCS/GES messages received: 78.64 195.27
GCS/GES messages sent: 53.82 133.65
DBWR Fusion writes: 0.52 1.30
Estd Interconnect traffic (KB) 65.50
Global Cache Efficiency Percentages (Target local+remote 100%)
Buffer access - local cache %: 99.65
Buffer access - remote cache %: 0.02
Buffer access - disk %: 0.34
Global Cache and Enqueue Services - Workload Characteristics
Avg global enqueue get time (ms): 0.0
Avg global cache cr block receive time (ms): 1.7
Avg global cache current block receive time (ms): 1.0
Avg global cache cr block build time (ms): 0.0
Avg global cache cr block send time (ms): 0.0
Global cache log flushes for cr blocks served %: 1.4
Avg global cache cr block flush time (ms): 0.9
Avg global cache current block pin time (ms): 0.0
Avg global cache current block send time (ms): 0.0
Global cache log flushes for current blocks served %: 0.1
Avg global cache current block flush time (ms): 0.0
Global Cache and Enqueue Services - Messaging Statistics
Avg message sent queue time (ms): 0.0
Avg message sent queue time on ksxp (ms): 0.4
Avg message received queue time (ms): 0.5
Avg GCS message process time (ms): 0.0
Avg GES message process time (ms): 0.0
% of direct sent messages: 79.13
% of indirect sent messages: 17.10
% of flow controlled messages: 3.77
Cluster Interconnect
Begin End
Interface IP Address Pub Source IP Pub Src
en9 10.51.10.61 N Oracle Cluster Repository
Main Report
* Report Summary
* Wait Events Statistics
* SQL Statistics
* Instance Activity Statistics
* IO Stats
* Buffer Pool Statistics
* Advisory Statistics
* Wait Statistics
* Undo Statistics
* Latch Statistics
* Segment Statistics
* Dictionary Cache Statistics
* Library Cache Statistics
* Memory Statistics
* Streams Statistics
* Resource Limit Statistics
* Shared Server Statistics
* init.ora Parameters
More RAC Statistics
* RAC Report Summary
* Global Messaging Statistics
* Global CR Served Stats
* Global CURRENT Served Stats
* Global Cache Transfer Stats
* Interconnect Stats
* Dynamic Remastering Statistics
Back to Top
Statistic Name Time (s) % of DB Time
sql execute elapsed time 1,925.20 94.38
DB CPU 1,789.38 87.72
connection management call elapsed time 99.65 4.89
PL/SQL execution elapsed time 89.81 4.40
parse time elapsed 46.32 2.27
hard parse elapsed time 25.01 1.23
Java execution elapsed time 21.24 1.04
PL/SQL compilation elapsed time 11.92 0.58
failed parse elapsed time 9.37 0.46
hard parse (sharing criteria) elapsed time 8.71 0.43
sequence load elapsed time 0.06 0.00
repeated bind elapsed time 0.02 0.00
hard parse (bind mismatch) elapsed time 0.01 0.00
DB time 2,039.77
background elapsed time 122.00
background cpu time 113.42
Statistic Value End Value
NUM_LCPUS 0
NUM_VCPUS 0
AVG_BUSY_TIME 12,339
AVG_IDLE_TIME 348,838
AVG_IOWAIT_TIME 221
AVG_SYS_TIME 2,274
AVG_USER_TIME 9,944
BUSY_TIME 299,090
IDLE_TIME 8,375,051
IOWAIT_TIME 6,820
SYS_TIME 57,512
USER_TIME 241,578
LOAD 1 2
OS_CPU_WAIT_TIME 312,200
PHYSICAL_MEMORY_BYTES 137,438,953,472
NUM_CPUS 24
NUM_CPU_CORES 12
GLOBAL_RECEIVE_SIZE_MAX 1,310,720
GLOBAL_SEND_SIZE_MAX 1,310,720
TCP_RECEIVE_SIZE_DEFAULT 16,384
TCP_RECEIVE_SIZE_MAX 9,223,372,036,854,775,807
TCP_RECEIVE_SIZE_MIN 4,096
TCP_SEND_SIZE_DEFAULT 16,384
TCP_SEND_SIZE_MAX 9,223,372,036,854,775,807
TCP_SEND_SIZE_MIN 4,096
Back to Wait Events Statistics
Back to Top
Operating System Statistics - Detail
Snap Time Load %busy %user %sys %idle %iowait
27-Nov 16:00:06 0.58
27-Nov 17:00:17 1.50 3.45 2.79 0.66 96.55 0.08
Back to Wait Events Statistics
Back to Top
Foreground Wait Class
* s - second, ms - millisecond - 1000th of a second
* ordered by wait time desc, waits desc
* %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
* Captured Time accounts for 95.7% of Total DB time 2,039.77 (s)
* Total FG Wait Time: 163.14 (s) DB CPU time: 1,789.38 (s)
Wait Class Waits %Time -outs Total Wait Time (s) Avg wait (ms) %DB time
DB CPU 1,789 87.72
User I/O 61,229 0 92 1 4.49
Other 102,743 40 31 0 1.50
Concurrency 3,169 10 24 7 1.16
Cluster 58,920 0 11 0 0.52
System I/O 45,407 0 6 0 0.29
Configuration 107 7 1 5 0.03
Commit 383 0 0 1 0.01
Network 15,275 0 0 0 0.00
Application 52 8 0 0 0.00
Back to Wait Events Statistics
Back to Top
Foreground Wait Events
* s - second, ms - millisecond - 1000th of a second
* Only events with Total Wait Time (s) >= .001 are shown
* ordered by wait time desc, waits desc (idle events last)
* %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
Event Waits %Time -outs Total Wait Time (s) Avg wait (ms) Waits /txn % DB time
db file sequential read 27,531 0 50 2 18.93 2.45
db file scattered read 26,322 0 30 1 18.10 1.47
row cache lock 1,798 0 20 11 1.24 0.96
OJVM: Generic 36 42 15 421 0.02 0.74
db file parallel read 394 0 7 19 0.27 0.36
control file sequential read 22,248 0 6 0 15.30 0.28
reliable message 4,439 0 4 1 3.05 0.18
gc current grant busy 7,597 0 3 0 5.22 0.16
PX Deq: Slave Session Stats 2,661 0 3 1 1.83 0.16
DFS lock handle 3,208 0 3 1 2.21 0.16
direct path write temp 4,842 0 3 1 3.33 0.15
library cache load lock 39 0 3 72 0.03 0.14
gc cr multi block request 37,008 0 3 0 25.45 0.14
IPC send completion sync 5,451 0 2 0 3.75 0.10
gc cr block 2-way 4,669 0 2 0 3.21 0.09
enq: PS - contention 3,183 33 1 0 2.19 0.06
gc cr grant 2-way 5,151 0 1 0 3.54 0.06
direct path read temp 1,722 0 1 1 1.18 0.05
gc current block 2-way 1,807 0 1 0 1.24 0.03
os thread startup 6 0 1 108 0.00 0.03
name-service call wait 12 0 1 47 0.01 0.03
PX Deq: Signal ACK RSG 2,046 50 0 0 1.41 0.02
log file switch completion 3 0 0 149 0.00 0.02
rdbms ipc reply 3,610 0 0 0 2.48 0.02
gc current grant 2-way 1,432 0 0 0 0.98 0.02
library cache pin 903 32 0 0 0.62 0.02
PX Deq: reap credit 35,815 100 0 0 24.63 0.01
log file sync 383 0 0 1 0.26 0.01
Disk file operations I/O 405 0 0 0 0.28 0.01
library cache lock 418 3 0 0 0.29 0.01
kfk: async disk IO 23,159 0 0 0 15.93 0.01
gc current block busy 4 0 0 35 0.00 0.01
gc current multi block request 1,206 0 0 0 0.83 0.01
ges message buffer allocation 38,526 0 0 0 26.50 0.00
enq: FB - contention 131 0 0 0 0.09 0.00
undo segment extension 8 100 0 6 0.01 0.00
CSS initialization 8 0 0 6 0.01 0.00
SQL*Net message to client 14,600 0 0 0 10.04 0.00
enq: HW - contention 96 0 0 0 0.07 0.00
CSS operation: action 8 0 0 4 0.01 0.00
gc cr block busy 33 0 0 1 0.02 0.00
latch free 30 0 0 1 0.02 0.00
enq: TM - contention 49 6 0 0 0.03 0.00
enq: JQ - contention 19 100 0 1 0.01 0.00
SQL*Net more data to client 666 0 0 0 0.46 0.00
asynch descriptor resize 3,179 100 0 0 2.19 0.00
latch: shared pool 3 0 0 3 0.00 0.00
CSS operation: query 24 0 0 0 0.02 0.00
PX Deq: Signal ACK EXT 72 0 0 0 0.05 0.00
KJC: Wait for msg sends to complete 269 0 0 0 0.19 0.00
latch: object queue header operation 4 0 0 1 0.00 0.00
gc cr block congested 5 0 0 0 0.00 0.00
utl_file I/O 11 0 0 0 0.01 0.00
enq: TO - contention 3 33 0 0 0.00 0.00
SQL*Net message from client 14,600 0 219,478 15033 10.04
jobq slave wait 7,726 100 3,856 499 5.31
PX Deq: Execution Msg 10,556 19 50 5 7.26
PX Deq: Execute Reply 2,946 31 27 9 2.03
PX Deq: Parse Reply 3,157 35 3 1 2.17
PX Deq: Join ACK 2,976 28 2 1 2.05
PX Deq Credit: send blkd 7 14 0 4 0.00
Back to Wait Events Statistics
Back to Top
Background Wait Events
* ordered by wait time desc, waits desc (idle events last)
* Only events with Total Wait Time (s) >= .001 are shown
* %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
Event Waits %Time -outs Total Wait Time (s) Avg wait (ms) Waits /txn % bg time
os thread startup 140 0 13 90 0.10 10.35
db file parallel write 8,233 0 6 1 5.66 5.08
log file parallel write 3,906 0 6 1 2.69 4.62
log file sequential read 350 0 5 16 0.24 4.49
control file sequential read 13,737 0 5 0 9.45 3.72
DFS lock handle 2,990 27 2 1 2.06 1.43
db file sequential read 921 0 2 2 0.63 1.39
SQL*Net break/reset to client 18 0 1 81 0.01 1.19
control file parallel write 2,455 0 1 1 1.69 1.12
ges lms sync during dynamic remastering and reconfig 24 100 1 50 0.02 0.98
library cache load lock 35 0 1 24 0.02 0.68
ASM file metadata operation 3,483 0 1 0 2.40 0.65
enq: CO - master slave det 1,203 100 1 0 0.83 0.46
kjbdrmcvtq lmon drm quiesce: ping completion 9 0 1 62 0.01 0.46
enq: WF - contention 11 0 0 35 0.01 0.31
CGS wait for IPC msg 32,702 100 0 0 22.49 0.19
gc object scan 28,788 100 0 0 19.80 0.15
row cache lock 535 0 0 0 0.37 0.14
library cache pin 370 55 0 0 0.25 0.12
ksxr poll remote instances 19,119 100 0 0 13.15 0.11
name-service call wait 6 0 0 19 0.00 0.10
gc current block 2-way 304 0 0 0 0.21 0.09
gc cr block 2-way 267 0 0 0 0.18 0.08
gc cr grant 2-way 355 0 0 0 0.24 0.08
ges LMON to get to FTDONE 3 100 0 24 0.00 0.06
enq: CF - contention 145 76 0 0 0.10 0.05
PX Deq: reap credit 8,842 100 0 0 6.08 0.05
reliable message 126 0 0 0 0.09 0.05
db file scattered read 19 0 0 3 0.01 0.05
library cache lock 162 1 0 0 0.11 0.04
latch: shared pool 2 0 0 27 0.00 0.04
Disk file operations I/O 504 0 0 0 0.35 0.04
gc current grant busy 148 0 0 0 0.10 0.04
gcs log flush sync 84 0 0 1 0.06 0.04
ges message buffer allocation 24,934 0 0 0 17.15 0.02
enq: CR - block range reuse ckpt 83 0 0 0 0.06 0.02
latch free 22 0 0 1 0.02 0.02
CSS operation: action 13 0 0 2 0.01 0.02
CSS initialization 4 0 0 6 0.00 0.02
direct path read 1 0 0 21 0.00 0.02
rdbms ipc reply 153 0 0 0 0.11 0.01
db file parallel read 2 0 0 8 0.00 0.01
direct path write 5 0 0 3 0.00 0.01
gc current multi block request 49 0 0 0 0.03 0.01
gc current block busy 5 0 0 2 0.00 0.01
enq: PS - contention 24 50 0 0 0.02 0.01
gc cr multi block request 54 0 0 0 0.04 0.01
ges generic event 1 100 0 10 0.00 0.01
gc current grant 2-way 35 0 0 0 0.02 0.01
kfk: async disk IO 183 0 0 0 0.13 0.01
Log archive I/O 3 0 0 2 0.00 0.01
gc buffer busy acquire 2 0 0 3 0.00 0.00
LGWR wait for redo copy 123 0 0 0 0.08 0.00
IPC send completion sync 18 0 0 0 0.01 0.00
enq: TA - contention 11 0 0 0 0.01 0.00
read by other session 2 0 0 2 0.00 0.00
enq: TM - contention 9 89 0 0 0.01 0.00
latch: ges resource hash list 135 0 0 0 0.09 0.00
PX Deq: Slave Session Stats 12 0 0 0 0.01 0.00
KJC: Wait for msg sends to complete 89 0 0 0 0.06 0.00
enq: TD - KTF dump entries 8 0 0 0 0.01 0.00
enq: US - contention 7 0 0 0 0.00 0.00
CSS operation: query 12 0 0 0 0.01 0.00
enq: TK - Auto Task Serialization 6 100 0 0 0.00 0.00
PX Deq: Signal ACK RSG 24 50 0 0 0.02 0.00
log file single write 6 0 0 0 0.00 0.00
enq: WL - contention 2 100 0 1 0.00 0.00
ADR block file read 13 0 0 0 0.01 0.00
ADR block file write 5 0 0 0 0.00 0.00
latch: object queue header operation 1 0 0 1 0.00 0.00
gc cr block busy 1 0 0 1 0.00 0.00
rdbms ipc message 103,276 67 126,259 1223 71.03
PX Idle Wait 6,467 67 12,719 1967 4.45
wait for unread message on broadcast channel 7,240 100 7,221 997 4.98
gcs remote message 218,809 84 7,213 33 150.49
DIAG idle wait 203,228 95 7,185 35 139.77
shared server idle wait 121 100 3,630 30000 0.08
ASM background timer 3,343 0 3,611 1080 2.30
Space Manager: slave idle wait 723 100 3,610 4993 0.50
heartbeat monitor sleep 722 100 3,610 5000 0.50
ges remote message 73,089 52 3,609 49 50.27
dispatcher timer 66 88 3,608 54660 0.05
pmon timer 1,474 82 3,607 2447 1.01
PING 1,487 19 3,607 2426 1.02
Streams AQ: qmn slave idle wait 125 0 3,594 28754 0.09
Streams AQ: qmn coordinator idle wait 250 50 3,594 14377 0.17
smon timer 18 50 3,505 194740 0.01
JOX Jit Process Sleep 73 100 976 13370 0.05
class slave wait 56 0 605 10806 0.04
KSV master wait 2,215 98 1 0 1.52
SQL*Net message from client 109 0 0 2 0.07
PX Deq: Parse Reply 27 44 0 1 0.02
PX Deq: Join ACK 30 40 0 1 0.02
PX Deq: Execute Reply 20 30 0 0 0.01
Streams AQ: RAC qmn coordinator idle wait 259 100 0 0 0.18
Back to Wait Events Statistics
Back to Top
Wait Event Histogram
* Units for Total Waits column: K is 1000, M is 1000000, G is 1000000000
* % of Waits: value of .0 indicates value was <.05%; value of null is truly 0
* % of Waits: column heading of <=1s is truly <1024ms, >1s is truly >=1024ms
* Ordered by Event (idle events last)
% of Waits
Event Total Waits <1ms <2ms <4ms <8ms <16ms <32ms <=1s >1s
ADR block file read 13 100.0
ADR block file write 5 100.0
ADR file lock 6 100.0
ARCH wait for archivelog lock 3 100.0
ASM file metadata operation 3483 99.6 .1 .1 .2
CGS wait for IPC msg 32.7K 100.0
CSS initialization 12 50.0 50.0
CSS operation: action 21 28.6 9.5 61.9
CSS operation: query 36 86.1 5.6 8.3
DFS lock handle 6198 98.6 1.2 .1 .1
Disk file operations I/O 909 95.7 3.6 .7
IPC send completion sync 5469 99.9 .1 .0 .0
KJC: Wait for msg sends to complete 313 100.0
LGWR wait for redo copy 122 100.0
Log archive I/O 3 66.7 33.3
OJVM: Generic 36 55.6 44.4
PX Deq: Signal ACK EXT 72 98.6 1.4
PX Deq: Signal ACK RSG 2070 99.7 .0 .1 .0 .1
PX Deq: Slave Session Stats 2673 99.7 .2 .1 .0
PX Deq: reap credit 44.7K 100.0
SQL*Net break/reset to client 20 95.0 5.0
SQL*Net message to client 14.7K 100.0
SQL*Net more data from client 32 100.0
SQL*Net more data to client 689 100.0
asynch descriptor resize 3387 100.0
buffer busy waits 2 100.0
control file parallel write 2455 96.6 2.2 .6 .6 .1
control file sequential read 36K 99.4 .3 .1 .1 .1 .1 .0
db file parallel read 397 8.8 .8 5.5 12.6 17.4 46.3 8.6
db file parallel write 8233 85.4 10.3 2.3 1.4 .4 .1
db file scattered read 26.3K 79.2 1.5 8.2 10.5 .6 .1 .0
db file sequential read 28.4K 60.2 3.3 18.0 18.1 .3 .1 .0
db file single write 2 100.0
direct path read 2 50.0 50.0
direct path read temp 1722 95.8 2.8 .1 .5 .8 .1
direct path write 6 83.3 16.7
direct path write temp 4842 96.3 2.7 .5 .2 .0 .0 .2
enq: AF - task serialization 1 100.0
enq: CF - contention 145 99.3 .7
enq: CO - master slave det 1203 98.9 .8 .2
enq: CR - block range reuse ckpt 83 100.0
enq: DR - contention 2 100.0
enq: FB - contention 131 100.0
enq: HW - contention 97 100.0
enq: JQ - contention 19 89.5 10.5
enq: JS - job run lock - synchronize 3 100.0
enq: MD - contention 1 100.0
enq: MW - contention 2 100.0
enq: PS - contention 3207 99.5 .4 .1
enq: TA - contention 11 100.0
enq: TD - KTF dump entries 8 100.0
enq: TK - Auto Task Serialization 6 100.0
enq: TM - contention 58 100.0
enq: TO - contention 3 100.0
enq: TQ - DDL contention 1 100.0
enq: TS - contention 1 100.0
enq: UL - contention 1 100.0
enq: US - contention 7 100.0
enq: WF - contention 11 81.8 18.2
enq: WL - contention 2 50.0 50.0
gc buffer busy acquire 2 50.0 50.0
gc cr block 2-way 4934 99.9 .1 .0 .0
gc cr block busy 35 68.6 31.4
gc cr block congested 6 100.0
gc cr disk read 2 100.0
gc cr grant 2-way 4824 100.0 .0
gc cr grant congested 2 100.0
gc cr multi block request 37.1K 99.8 .2 .0 .0 .0 .0 .0
gc current block 2-way 2134 99.9 .0 .0
gc current block busy 7 14.3 14.3 14.3 28.6 28.6
gc current block congested 2 100.0
gc current grant 2-way 1337 99.9 .1
gc current grant busy 7123 99.2 .2 .2 .0 .0 .3 .1
gc current grant congested 2 100.0
gc current multi block request 1260 99.8 .2
gc object scan 28.8K 100.0
gcs log flush sync 65 95.4 3.1 1.5
ges LMON to get to FTDONE 3 100.0
ges generic event 1 100.0
ges inquiry response 2 100.0
ges lms sync during dynamic remastering and reconfig 24 16.7 29.2 54.2
ges message buffer allocation 63.1K 100.0
kfk: async disk IO 23.3K 100.0 .0 .0
kjbdrmcvtq lmon drm quiesce: ping completion 9 11.1 88.9
ksxr poll remote instances 19.1K 100.0
latch free 52 59.6 40.4
latch: call allocation 2 100.0
latch: gc element 1 100.0
latch: gcs resource hash 1 100.0
latch: ges resource hash list 135 100.0
latch: object queue header operation 5 40.0 40.0 20.0
latch: shared pool 5 40.0 20.0 20.0 20.0
library cache load lock 74 9.5 5.4 8.1 17.6 10.8 13.5 35.1
library cache lock 493 99.2 .4 .4
library cache pin 1186 98.4 .3 1.2 .1
library cache: mutex X 6 100.0
log file parallel write 3897 72.9 1.5 17.1 7.5 .6 .3 .1
log file sequential read 350 4.6 3.1 59.4 30.0 2.9
log file single write 6 100.0
log file switch completion 3 33.3 66.7
log file sync 385 90.4 3.6 4.7 .8 .5
name-service call wait 18 5.6 5.6 5.6 16.7 44.4 22.2
os thread startup 146 100.0
rdbms ipc reply 3763 99.7 .3
read by other session 2 50.0 50.0
reliable message 4565 99.7 .2 .0 .0 .1
row cache lock 2334 99.3 .2 .1 .1 .3
undo segment extension 8 50.0 37.5 12.5
utl_file I/O 11 100.0
ASM background timer 3343 57.0 .3 .1 .1 .1 21.1 21.4
DIAG idle wait 203.2K 3.4 .2 .4 18.0 41.4 14.8 21.8
JOX Jit Process Sleep 73 2.7 97.3
KSV master wait 2213 99.4 .1 .2 .3
PING 1487 81.0 19.0
PX Deq Credit: send blkd 7 57.1 14.3 14.3 14.3
PX Deq: Execute Reply 2966 59.8 .8 9.5 5.6 10.2 2.6 11.4
PX Deq: Execution Msg 10.6K 72.4 12.1 2.6 2.5 .1 5.6 4.6 .0
PX Deq: Join ACK 3006 77.9 22.1 .1
PX Deq: Parse Reply 3184 67.1 31.1 1.6 .2
PX Idle Wait 6466 .2 8.7 4.3 4.8 .3 .1 5.0 76.6
SQL*Net message from client 14.7K 72.4 2.8 .8 .5 .9 .4 2.8 19.3
Space Manager: slave idle wait 722 100.0
Streams AQ: RAC qmn coordinator idle wait 259 100.0
Streams AQ: qmn coordinator idle wait 250 50.0 50.0
Streams AQ: qmn slave idle wait 125 100.0
class slave wait 55 67.3 7.3 1.8 5.5 1.8 7.3 9.1
dispatcher timer 66 6.1 93.9
gcs remote message 218.6K 7.7 1.8 1.2 1.6 1.7 15.7 70.3
ges remote message 72.9K 29.7 5.1 2.7 2.2 1.5 4.0 54.7
heartbeat monitor sleep 722 100.0
jobq slave wait 7725 .1 .0 99.9
pmon timer 1474 18.4 81.6
rdbms ipc message 103.3K 20.7 2.7 1.5 1.3 .9 .7 40.7 31.6
shared server idle wait 121 100.0
smon timer 18 100.0
wait for unread message on broadcast channel 7238 .3 99.7
Back to Wait Events Statistics
Back to Top
Wait Event Histogram Detail (64 msec to 2 sec)
* Units for Total Waits column: K is 1000, M is 1000000, G is 1000000000
* Units for % of Total Waits: ms is milliseconds s is 1024 milliseconds (approximately 1 second)
* % of Total Waits: total waits for all wait classes, including Idle
* % of Total Waits: value of .0 indicates value was <.05%; value of null is truly 0
* Ordered by Event (only non-idle events are displayed)
% of Total Waits
Event Waits 64ms to 2s <32ms <64ms <1/8s <1/4s <1/2s <1s <2s >=2s
ASM file metadata operation 6 99.8 .1 .1
DFS lock handle 6 99.9 .1 .0
OJVM: Generic 16 55.6 2.8 41.7
PX Deq: Signal ACK RSG 3 99.9 .0 .1
PX Deq: Slave Session Stats 3 99.9 .0 .0 .0
SQL*Net break/reset to client 1 95.0 5.0
control file sequential read 1 100.0 .0
db file parallel read 34 91.4 8.6
db file scattered read 4 100.0 .0 .0
db file sequential read 6 100.0 .0 .0 .0
direct path write temp 11 99.8 .1 .1 .0
enq: WF - contention 2 81.8 18.2
gc cr block 2-way 1 100.0 .0
gc cr multi block request 1 100.0 .0
gc current block 2-way 1 100.0 .0
gc current block busy 2 71.4 28.6
gc current grant busy 8 99.9 .0 .1
ges lms sync during dynamic remastering and reconfig 13 45.8 20.8 33.3
kjbdrmcvtq lmon drm quiesce: ping completion 8 11.1 11.1 77.8
latch: shared pool 1 80.0 20.0
library cache load lock 26 64.9 14.9 12.2 4.1 4.1
log file parallel write 2 99.9 .0 .0
log file sequential read 10 97.1 2.0 .6 .3
log file switch completion 2 33.3 66.7
name-service call wait 4 77.8 22.2
os thread startup 146 100.0
reliable message 4 99.9 .0 .1
row cache lock 2 99.7 .0 .0 .3
Back to Wait Events Statistics
Back to Top
Wait Event Histogram Detail (4 sec to 2 min)
* Units for Total Waits column: K is 1000, M is 1000000, G is 1000000000
* Units for % of Total Waits: s is 1024 milliseconds (approximately 1 second) m is 64*1024 milliseconds (approximately 67 seconds or 1.1 minutes)
* % of Total Waits: total waits for all wait classes, including Idle
* % of Total Waits: value of .0 indicates value was <.05%; value of null is truly 0
* Ordered by Event (only non-idle events are displayed)
% of Total Waits
Event Waits 4s to 2m <2s <4s <8s <16s <32s < 1m < 2m >=2m
row cache lock 6 99.7 .3
Back to Wait Events Statistics
Back to Top
Wait Event Histogram Detail (4 min to 1 hr)
No data exists for this section of the report.
Back to Wait Events Statistics
Back to Top
Service Statistics
* ordered by DB Time
Service Name DB Time (s) DB CPU (s) Physical Reads (K) Logical Reads (K)
ubshost 1,934 1,744 445 73,633
SYS$USERS 105 45 1 404
SYS$BACKGROUND 0 0 1 128
ubshostXDB 0 0 0 0
Back to Wait Events Statistics
Back to Top
Service Wait Class Stats
* Wait Class info for services in the Service Statistics section.
* Total Waits and Time Waited displayed for the following wait classes: User I/O, Concurrency, Administrative, Network
* Time Waited (Wt Time) in seconds
Service Name User I/O Total Wts User I/O Wt Time Concurcy Total Wts Concurcy Wt Time Admin Total Wts Admin Wt Time Network Total Wts Network Wt Time
ubshost 60232 90 2644 4 0 0 13302 0
SYS$USERS 997 2 525 19 0 0 1973 0
SYS$BACKGROUND 1456 2 1258 14 0 0 0 0
I am not able to paste the whole awr report. I have paste some of the sections of awr report.
Please help.
Thanks and Regards, -
How to serialize only 10 variables in a program among more than 10 variable
actually i'am new to this forum .
any body help me how to serialize only 10 variables in a program among more than 10 variables.
assume that there are more than 10 variacles.
give me some guidelinesAsk this question in the Serialization forum. Try to do it only once ;-)
-
How to set the isolation level on Entity EJBs
I am using 10.1.3.3 of the OC4J app server.
I am creating an application that uses EJB 2.1.
I am trying to set the isolation levels on the EJBs to either serializable or repeatable read.
When i deploy the EAR file from the OC4J admin console, i can set the isolation level property on the EJB's however when i inspect the orion-ejb-jar.xml file I do not see the isolation level being set. Furthermore, i tried to manually change the isolation setting by editing the orion-ejb-jar.xml and adding the isolation="serialiable" attribute on the entity bean descriptor. I then stopped and restarted the server. I noticed that my change was no longer in the file.
Can someone please let me know how to solve this problem and set the isolation level on Entity EJBs . ThanksI find it at ejb.pdf from BEA.
The transaction-isolation stanza can contain the elements shown here:
<transaction-isolation>
<isolation-level>Serializable</isolation-level>
<method>
<description>...</description>
<ejb-name>...</ejb-name>
<method-intf>...</method-intf>
<method-name>...</method-name>
<method-params>...</method-params>
</method>
</transaction-isolation>
"Hyun Min" <[email protected]> wrote in message
news:3c4e7a83$[email protected]..
> Hi!
>
> I have a question.
> How to set the transaction isolation level using CMT in descriptor?
>
> The Isolation level not supported in CMT?
>
> Thanks.
> Hyun Min
>
>
Maybe you are looking for
-
How do I get rid of swagbucks search from coming up when I search from my address bar?
I have deleted swagbucks from control panel and add ons. But when I try to do a search from my address bar the stupid swag search results comes up. I have e-mailed them more times that I can count and they wont help. It is driving me crazy. I even we
-
Consuming ABAP Webservice from Android device
Dear Experts, I am ABAP developer (limited knowledge on android) trying to connect Android device to a.SAP Webservice Through trial and error and help from SDN and Android forums i managed to link up the ABAP webservice and android using KSOAP2 API.
-
Use of Remote JDBC SQL Database External Resource
Does anybody here uses a Remote JDBC External Resource to connect to a database? If so, can you tell me if had any impediment with this approach? I'm asking this because our company has a lot of tools to monitor a lot of weblogic assets (such as jdbc
-
Can "Mocha Pro" work with After Effect??? I know Mocha AE can work with After Effect...but can Mocha Pro??? Can anyone tell me please.....
-
Can I display the date of the clip taken and somehow use it in the video?
Hello everyone! I am currently making a video of my daughter, one clip every day. I have done almost 5 months now and everything is looking good. The thing is, I think I might be doing this a little bit harder than it should be. To add a date for eve