Circular reference detected while serializing

I have been trying hard to get this resolved this, but haven't reached to any conclusion.
Here is my situation.
I have two entities called Parent and Child, where parent has a refernce to many child and child has one parent so inturn there is OneToMany(Bidirectional) relationship between them. When i expose this as a webservice I get the following exception :
<faultstring>Internal Server Error (circular reference detected while serializing: com.thoughtclicks.Parent)</faultstring>
This error occurs incase i expose the service as Document/Literal, incase i expose this service as RPC Encoded then this exception doesn�t occurs and everything is fine, but Axis2 doesn;t support client generation for RPC/Encoded so again a problem.
Also, I have already tried putting @XMLTransient annotation on getChild() of the Parent class, but it doesn�t help and i continue getting the same error.
Let me know if there is a work around for this solution.
Any pointers are highly appreciated.
Thanks,
Rahul

Hello,
You might want to post this in the JDev/ADF forum, as it is not related to TopLink/JPA. The error seems to indicate that you are getting the problem because it is finding Location has a reference to an association that has a reference back to the same location, causing a problem when creating the copies for serialization. I am not familar with this problem, but there is likely a way to mark one of these references as transient to the serialization process so that it is no longer a loop - yet can still be used in your object model and in JPA. Something like @XmlTransient for JAXB.
Best Regards,
Chris

Similar Messages

  • Internal Server Error (circular reference detected while serializing: ....

    Hello Folks -
    I am trying to implement both ManyToMany and OneToMany relationships in J2EE EJB3.0.
    My application client has no problems, but when I expose my session bean methods as WebServices, I constantly run into this circular reference error.
    My example tables are simple:
    CREATE TABLE CLUB
    ID NUMBER NOT NULL,
    NAME VARCHAR2(100 BYTE) NOT NULL,
    CITY VARCHAR2(100 BYTE) NOT NULL,
    COUNTRY VARCHAR2(100 BYTE) NOT NULL
    TABLESPACE USERS
    PCTUSED 0
    PCTFREE 10
    INITRANS 1
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    CREATE UNIQUE INDEX CLUB_PK ON CLUB
    (ID)
    TABLESPACE USERS
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    CREATE UNIQUE INDEX CLUB_UK1 ON CLUB
    (NAME, COUNTRY)
    TABLESPACE USERS
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    ALTER TABLE CLUB ADD (
    CONSTRAINT CLUB_PK
    PRIMARY KEY
    (ID)
    USING INDEX
    TABLESPACE USERS
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    ALTER TABLE CLUB ADD (
    CONSTRAINT CLUB_UK1
    UNIQUE (NAME, COUNTRY)
    USING INDEX
    TABLESPACE USERS
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    CREATE TABLE CONTRACTPERIOD
    ID NUMBER NOT NULL,
    PYR_ID NUMBER NOT NULL,
    CUB_ID NUMBER NOT NULL,
    START_DATE DATE NOT NULL,
    END_DATE DATE
    TABLESPACE USERS
    PCTUSED 0
    PCTFREE 10
    INITRANS 1
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    CREATE UNIQUE INDEX CONTRACTPERIOD_PK ON CONTRACTPERIOD
    (ID)
    TABLESPACE USERS
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    ALTER TABLE CONTRACTPERIOD ADD (
    CONSTRAINT CONTRACTPERIOD_PK
    PRIMARY KEY
    (ID)
    USING INDEX
    TABLESPACE USERS
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    ALTER TABLE CONTRACTPERIOD ADD (
    CONSTRAINT CONTRACTPERIOD_FK
    FOREIGN KEY (PYR_ID)
    REFERENCES PLAYER (ID)
    ON DELETE CASCADE);
    ALTER TABLE CONTRACTPERIOD ADD (
    CONSTRAINT CONTRACTPERIOD_FK2
    FOREIGN KEY (CUB_ID)
    REFERENCES CLUB (ID)
    ON DELETE CASCADE);
    CREATE TABLE PLAYER
    ID NUMBER NOT NULL,
    FIRSTNAME VARCHAR2(30 BYTE) NOT NULL,
    LASTNAME VARCHAR2(30 BYTE) NOT NULL,
    NATIONALITY VARCHAR2(30 BYTE) NOT NULL,
    BIRTHDATE DATE NOT NULL
    TABLESPACE USERS
    PCTUSED 0
    PCTFREE 10
    INITRANS 1
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    CREATE UNIQUE INDEX PLAYERS_PK ON PLAYER
    (ID)
    TABLESPACE USERS
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    ALTER TABLE PLAYER ADD (
    CONSTRAINT PLAYERS_PK
    PRIMARY KEY
    (ID)
    USING INDEX
    TABLESPACE USERS
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    Also the Stateless session bean is simple:
    package demo;
    import java.util.Collection;
    import java.util.List;
    import javax.ejb.Stateless;
    import javax.jws.WebService;
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.EntityTransaction;
    import javax.persistence.Persistence;
    import javax.persistence.Query;
    @Stateless
    @WebService
    public class JavaServiceFacade {
    private EntityManagerFactory emf = Persistence.createEntityManagerFactory("demo-1");
    public JavaServiceFacade() {
    public static void main(String [] args) {
    final JavaServiceFacade javaServiceFacade = new JavaServiceFacade();
    // TODO: Call methods on javaServiceFacade here...
    Collection<Player> playerCollection = javaServiceFacade.queryPlayerFindAll();
    for (Player player : playerCollection){
    System.out.println(player.getFirstname()+" "+player.getLastname()+"\n");
    Collection<Club> clubCollection = (Collection<Club>)javaServiceFacade.queryClubFindAll();
    for (Club club : clubCollection){
    System.out.println(club.getName()+"\n");
    List<Contractperiod> contractperiodList= player.getContractperiodList();
    for (Contractperiod contractperiod : contractperiodList){
    System.out.println("contracts: "+ contractperiod.getClub().getName() + ": from: "
    contractperiod.getStartDate()" to: " contractperiod.getEndDate() "\n");
    private EntityManager getEntityManager() {
    return emf.createEntityManager();
    public Object mergeEntity(Object entity) {
    final EntityManager em = getEntityManager();
    try {
    final EntityTransaction et = em.getTransaction();
    try {
    et.begin();
    em.merge(entity);
    et.commit();
    } finally {
    if (et != null && et.isActive()) {
    entity = null;
    et.rollback();
    } finally {
    if (em != null && em.isOpen()) {
    em.close();
    return entity;
    public Object persistEntity(Object entity) {
    final EntityManager em = getEntityManager();
    try {
    final EntityTransaction et = em.getTransaction();
    try {
    et.begin();
    em.persist(entity);
    et.commit();
    } finally {
    if (et != null && et.isActive()) {
    entity = null;
    et.rollback();
    } finally {
    if (em != null && em.isOpen()) {
    em.close();
    return entity;
    /** <code>select o from Club o</code> */
    public List<Club> queryClubFindAll() {
    Query query = getEntityManager().createNamedQuery("Club.findAll");
    return (List<Club>) query.getResultList();
    public void removeClub(Club club) {
    final EntityManager em = getEntityManager();
    try {
    final EntityTransaction et = em.getTransaction();
    try {
    et.begin();
    club = em.find(Club.class, club.getId());
    et.commit();
    } finally {
    if (et != null && et.isActive()) {
    et.rollback();
    } finally {
    if (em != null && em.isOpen()) {
    em.close();
    /** <code>select o from Contractperiod o</code> */
    public List<Contractperiod> queryContractperiodFindAll() {
    Query query = getEntityManager().createNamedQuery("Contractperiod.findAll");
    return (List<Contractperiod>) query.getResultList();
    public void removeContractperiod(Contractperiod contractperiod) {
    final EntityManager em = getEntityManager();
    try {
    final EntityTransaction et = em.getTransaction();
    try {
    et.begin();
    contractperiod = em.find(Contractperiod.class, contractperiod.getId());
    et.commit();
    } finally {
    if (et != null && et.isActive()) {
    et.rollback();
    } finally {
    if (em != null && em.isOpen()) {
    em.close();
    /** <code>select o from Player o</code> */
    public List<Player> queryPlayerFindAll() {
    Query query = getEntityManager().createNamedQuery("Player.findAll");
    return (List<Player>) query.getResultList();
    public void removePlayer(Player player) {
    final EntityManager em = getEntityManager();
    try {
    final EntityTransaction et = em.getTransaction();
    try {
    et.begin();
    player = em.find(Player.class, player.getId());
    et.commit();
    } finally {
    if (et != null && et.isActive()) {
    et.rollback();
    } finally {
    if (em != null && em.isOpen()) {
    em.close();
    public void removeClub(Club player) {
    final EntityManager em = getEntityManager();
    try {
    final EntityTransaction et = em.getTransaction();
    try {
    et.begin();
    player = em.find(Player.class, player.getId());
    et.commit();
    } finally {
    if (et != null && et.isActive()) {
    et.rollback();
    } finally {
    if (em != null && em.isOpen()) {
    em.close();
    (A few commented lines, as I tried both OneToMany and ManyToMany...)
    my Webservice result, after deploying to OC4J Standalone, is always the same:
    Entity Beans:
    package demo;
    import java.io.Serializable;
    import java.util.Collection;
    import java.util.List;
    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.ManyToMany;
    import javax.persistence.NamedQuery;
    import javax.persistence.OneToMany;
    @Entity
    @NamedQuery(name = "Club.findAll", query = "select o from Club o")
    public class Club implements Serializable {
    @Column(nullable = false)
    private String city;
    @Column(nullable = false)
    private String country;
    @Id
    @Column(nullable = false)
    private Long id;
    @Column(nullable = false)
    private String name;
    @ManyToMany(mappedBy = "clubCollection",cascade={CascadeType.PERSIST})
    private Collection<Player> playerCollection;
    public Club() {
    public String getCity() {
    return city;
    public void setCity(String city) {
    this.city = city;
    public String getCountry() {
    return country;
    public void setCountry(String country) {
    this.country = country;
    public Long getId() {
    return id;
    public void setId(Long id) {
    this.id = id;
    public String getName() {
    return name;
    public void setName(String name) {
    this.name = name;
    public Collection<Player> getPlayerCollection() {
    return playerCollection;
    public void setPlayerCollection(Collection<Player> playerCollection) {
    this.playerCollection = playerCollection;
    public Contractperiod addContractperiod(Contractperiod contractperiod) {
    getContractperiodList().add(contractperiod);
    contractperiod.setClub(this);
    return contractperiod;
    public Contractperiod removeContractperiod(Contractperiod contractperiod) {
    getContractperiodList().remove(contractperiod);
    contractperiod.setClub(null);
    return contractperiod;
    package demo;
    import java.io.Serializable;
    import java.sql.Timestamp;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.JoinColumn;
    import javax.persistence.ManyToOne;
    import javax.persistence.NamedQuery;
    @Entity
    @NamedQuery(name = "Contractperiod.findAll",
    query = "select o from Contractperiod o")
    public class Contractperiod implements Serializable {
    @Column(name="END_DATE")
    private Timestamp endDate;
    @Id
    @Column(nullable = false)
    private Long id;
    @Column(name="START_DATE", nullable = false)
    private Timestamp startDate;
    @ManyToOne
    @JoinColumn(name = "PYR_ID", referencedColumnName = "ID")
    private Player player;
    @ManyToOne
    @JoinColumn(name = "CUB_ID", referencedColumnName = "ID")
    private Club club;
    public Contractperiod() {
    public Timestamp getEndDate() {
    return endDate;
    public void setEndDate(Timestamp endDate) {
    this.endDate = endDate;
    public Long getId() {
    return id;
    public void setId(Long id) {
    this.id = id;
    public Timestamp getStartDate() {
    return startDate;
    public void setStartDate(Timestamp startDate) {
    this.startDate = startDate;
    public Player getPlayer() {
    return player;
    public void setPlayer(Player player) {
    this.player = player;
    public Club getClub() {
    return club;
    public void setClub(Club club) {
    this.club = club;
    package demo;
    import java.io.Serializable;
    import java.sql.Timestamp;
    import java.util.Collection;
    import java.util.List;
    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.JoinColumn;
    import javax.persistence.JoinTable;
    import javax.persistence.ManyToMany;
    import javax.persistence.NamedQuery;
    import javax.persistence.OneToMany;
    @Entity
    @NamedQuery(name = "Player.findAll", query = "select o from Player o")
    public class Player implements Serializable {
    @Column(nullable = false)
    private Timestamp birthdate;
    @Column(nullable = false)
    private String firstname;
    @Id
    @Column(nullable = false)
    private Long id;
    @Column(nullable = false)
    private String lastname;
    @Column(nullable = false)
    private String nationality;
    @ManyToMany
    @JoinTable(name="CONTRACTPERIOD",
    joinColumns=@JoinColumn(name="PYR_ID"),
    inverseJoinColumns=@JoinColumn(name="CUB_ID"))
    private Collection<Club> clubCollection;
    public Player() {
    public Timestamp getBirthdate() {
    return birthdate;
    public void setBirthdate(Timestamp birthdate) {
    this.birthdate = birthdate;
    public String getFirstname() {
    return firstname;
    public void setFirstname(String firstname) {
    this.firstname = firstname;
    public Long getId() {
    return id;
    public void setId(Long id) {
    this.id = id;
    public String getLastname() {
    return lastname;
    public void setLastname(String lastname) {
    this.lastname = lastname;
    public String getNationality() {
    return nationality;
    public void setNationality(String nationality) {
    this.nationality = nationality;
    public Collection<Club> getClubCollection() {
    return clubCollection;
    public void setClubCollection(Collection<Club> clubCollection) {
    this.clubCollection = clubCollection;
    public Contractperiod addContractperiod(Contractperiod contractperiod) {
    getContractperiodList().add(contractperiod);
    contractperiod.setPlayer(this);
    return contractperiod;
    public Contractperiod removeContractperiod(Contractperiod contractperiod) {
    getContractperiodList().remove(contractperiod);
    contractperiod.setPlayer(null);
    return contractperiod;
    <env:Envelope
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ns0="http://demo/">
    <env:Body>
    <env:Fault>
    <faultcode>env:Server</faultcode>
    <faultstring>Internal Server Error (circular reference detected while serializing: demo.Contractperiod)</faultstring>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    Anyone else run into this Troll?
    All suggestions(almost all) received with thanks.
    Regards,
    Charles
    Some strange error messages in Diagnostic Logs:
    Log Message: September 18, 2006 3:58:02 PM CEST
         Component Name          OC4J          Component ID          j2ee
         Host Network Address          192.168.1.69          Message Level          1
         Module ID          home_ejb.transaction          User ID          Charles
         Execution Context ID          192.168.1.69:35920:1158587882221:405          Execution Context Sequence          0
         Host Name          vmware          Message ID          J2EE EJB-08006
         Thread ID          44          Message Type          Error
         J2EE Application Module          OraPorterAPIdeploy          J2EE Application          OraPorterAPIdeploy
         Web Service Port          JavaServiceFacade          Web Service Name          JavaServiceFacadeService
    Message Text
    [JavaServiceFacade:public java.util.List demo.JavaServiceFacade.queryClubFindAll()] exception occurred during method invocation: oracle.
    Supplemental Text
    oracle.oc4j.rmi.OracleRemoteException: java.lang.IllegalStateException: ClassLoader "OraPorterAPIdeploy.root:0.0.0" (from <application>
    in /C:/Oracle/oc4j/j2ee/home/applications/OraPorterAPIdeploy/): This loader has been closed and should not be in use.
    Nested exception is:
    java.lang.IllegalStateException: ClassLoader "OraPorterAPIdeploy.root:0.0.0" (from <application> in /C:/Oracle/oc4j/j2ee/home/applications/OraPorterAPIdeploy/):
    This loader has been closed and should not be in use.
    ........This loader has been
    closed and should not be in use.; nested exception is:
    java.lang.IllegalStateException: ClassLoader
    Message was edited by:
    promise
    Message was edited by:
    promise

    Hei Guys -
    I see that the ClassLoader exceptions are known, and are "to be ignored".
    I left a reference to them, in case they play into our problems anyway.....
    "java.lang.IllegalStateException: ClassLoader" - known harmless bug... ?
    Best Regards,
    Charles

  • Server Error (circular reference detected while serializing: )

    Hi,
    I just installed OC4J and it looks great. I have a problem however ...
    I used JBuilder to generate entity beans from database. Then I generated a session bean with facade methods, and finally I created a session bean which injects the facade and is annotated with @WebService to publish a method (so that I could test the entity).
    However, when trying to run findAllEmployees() I get this error returned:
    <?xml version="1.0" encoding="UTF-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://logic.porter.xait.no/" xmlns:ns1="http://www.oracle.com/webservices/internal/literal"><env:Body><env:Fault><faultcode>env:Server</faultcode><faultstring>Internal Server Error (circular reference detected while serializing: no.bie.persistence.Employee)</faultstring></env:Fault></env:Body></env:Envelope>
    I suspect this has something to do with the relationships between tables (@OneToMany etc.) -- but does anyone have more information on what would cause this problem and how to fix it?
    Thanks!

    Hei Guys -
    I see that the ClassLoader exceptions are known, and are "to be ignored".
    I left a reference to them, in case they play into our problems anyway.....
    "java.lang.IllegalStateException: ClassLoader" - known harmless bug... ?
    Best Regards,
    Charles

  • Circular reference during serialization error

    I am getting the following error when invoking an operation on my web service that returns a 'Make' object:
    ERROR OWS-04046 circular reference detected while serializing: com.edmunds.vehicle.definition.Make circular reference detected while serializing: com.edmunds.vehicle.definition.Make
    I am running oc4j-101310.
    I can successfully call a 'createMake' operation as it returns 'void' so i know the WS is deployed correctly. The only values I am using to create the make are "Make.name" & "Manufacturer.name" so there isn't much to it. I know there are object graphs with 'models' and a parent reference to 'Manufacturer so I don't know if this has anything to do with it.
    One weird thing is that this worked the first time i deployed it but then started breaking on subsequent re-deployments (maybe I'm smoking crack)...
    Any help is appreciated!!
    Make object:
    public class Make implements Serializable {
    private Long id;
    private Set models;
    private String name;
    private Manufacturer manufacturer;
    public Set getModels() {
    return models;
    public void setModels(Set models) {
    this.models = models;
    public void setName(String name) {
    this.name = name;
    public String getName() {
    return name;
    public void setManufacturer(Manufacturer manufacturer) {
    this.manufacturer = manufacturer;
    public Manufacturer getManufacturer() {
    return manufacturer;
    public void setId(Long id) {
    this.id = id;
    public Long getId() {
    return id;
    Here is the SOAP request:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.matchbox.edmunds.com/">
    <soapenv:Header/>
    <soapenv:Body>
    <ws:findMakeElement>
    <ws:Long_1>22</ws:Long_1>
    </ws:findMakeElement>
    </soapenv:Body>
    </soapenv:Envelope>
    Here is the SOAP response:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://ws.matchbox.edmunds.com/" xmlns:ns1="http://definition.vehicle.edmunds.com/" xmlns:ns2="http://www.oracle.com/webservices/internal/literal" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <env:Body>
    <env:Fault>
    <faultcode>env:Server</faultcode>
    <faultstring>Internal Server Error (circular reference detected while serializing: com.edmunds.vehicle.definition.Make)</faultstring>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    Here is my WSDL:
    <?xml version="1.0" encoding="UTF-8" ?>
    <definitions
    name="VehicleService"
    targetNamespace="http://ws.matchbox.edmunds.com/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://ws.matchbox.edmunds.com/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:tns0="http://definition.vehicle.edmunds.com/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns1="http://www.oracle.com/webservices/internal/literal"
    >
    <types>
    <schema elementFormDefault="qualified" targetNamespace="http://definition.vehicle.edmunds.com/"
    xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.oracle.com/webservices/internal/literal"
    xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://definition.vehicle.edmunds.com/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <import namespace="http://ws.matchbox.edmunds.com/"/>
    <import namespace="http://www.oracle.com/webservices/internal/literal"/>
    <complexType name="Make">
    <sequence>
    <element name="manufacturer" nillable="true" type="tns:Manufacturer"/>
    <element name="models" nillable="true" type="ns1:set"/>
    <element name="name" nillable="true" type="string"/>
    <element name="id" nillable="true" type="long"/>
    </sequence>
    </complexType>
    <complexType name="Manufacturer">
    <sequence>
    <element name="makes" nillable="true" type="ns1:set"/>
    <element name="name" nillable="true" type="string"/>
    <element name="id" nillable="true" type="long"/>
    </sequence>
    </complexType>
    </schema>
    <schema elementFormDefault="qualified" targetNamespace="http://www.oracle.com/webservices/internal/literal"
    xmlns="http://www.w3.org/2001/XMLSchema" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:tns="http://www.oracle.com/webservices/internal/literal" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <import namespace="http://ws.matchbox.edmunds.com/"/>
    <import namespace="http://definition.vehicle.edmunds.com/"/>
    <complexType name="set">
    <complexContent>
    <extension base="tns:collection">
    <sequence/>
    </extension>
    </complexContent>
    </complexType>
    <complexType name="collection">
    <sequence>
    <element maxOccurs="unbounded" minOccurs="0" name="item" type="anyType"/>
    </sequence>
    </complexType>
    </schema>
    <schema elementFormDefault="qualified" targetNamespace="http://ws.matchbox.edmunds.com/"
    xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://definition.vehicle.edmunds.com/"
    xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://ws.matchbox.edmunds.com/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <import namespace="http://www.oracle.com/webservices/internal/literal"/>
    <import namespace="http://definition.vehicle.edmunds.com/"/>
    <element name="createMakeElement">
    <complexType>
    <sequence>
    <element name="String_1" nillable="true" type="string"/>
    <element name="String_2" nillable="true" type="string"/>
    </sequence>
    </complexType>
    </element>
    <element name="createMakeResponseElement">
    <complexType>
    <sequence/>
    </complexType>
    </element>
    <element name="findMakeElement">
    <complexType>
    <sequence>
    <element name="Long_1" nillable="true" type="long"/>
    </sequence>
    </complexType>
    </element>
    <element name="findMakeResponseElement">
    <complexType>
    <sequence>
    <element name="result" nillable="true" type="ns1:Make"/>
    </sequence>
    </complexType>
    </element>
    </schema>
    </types>
    <message name="RemoteTestVehicleServiceWS_createMake">
    <part name="parameters" element="tns:createMakeElement"/>
    </message>
    <message name="RemoteTestVehicleServiceWS_createMakeResponse">
    <part name="parameters" element="tns:createMakeResponseElement"/>
    </message>
    <message name="RemoteTestVehicleServiceWS_findMake">
    <part name="parameters" element="tns:findMakeElement"/>
    </message>
    <message name="RemoteTestVehicleServiceWS_findMakeResponse">
    <part name="parameters" element="tns:findMakeResponseElement"/>
    </message>
    <portType name="RemoteTestVehicleServiceWS">
    <operation name="createMake">
    <input message="tns:RemoteTestVehicleServiceWS_createMake"/>
    <output message="tns:RemoteTestVehicleServiceWS_createMakeResponse"/>
    </operation>
    <operation name="findMake">
    <input message="tns:RemoteTestVehicleServiceWS_findMake"/>
    <output message="tns:RemoteTestVehicleServiceWS_findMakeResponse"/>
    </operation>
    </portType>
    <binding name="HttpSoap11Binding" type="tns:RemoteTestVehicleServiceWS">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="createMake">
    <soap:operation soapAction="http://ws.matchbox.edmunds.com//createMake"/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="findMake">
    <soap:operation soapAction="http://ws.matchbox.edmunds.com//findMake"/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    <service name="VehicleService">
    <port name="HttpSoap11" binding="tns:HttpSoap11Binding">
    <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
    </port>
    </service>
    </definitions>

    Graph and Circular dependencies cannot be model with document-literal message format with POJO development style. You will need to invent your own model to break the cycle and uses a mechanism similar to href, as with RPC-encoded message format.
    All the best,
    -Eric

  • How to check circular reference in data of millions of rows

    Hi all,
    I am new as an oracle developer.
    I have a table(say table1) of hierarchical data with columns child_id and parent_id. The table has around 0.5 million records. There are around 0.2 million root level records are present.
    I need to update some (the number variies on different conditions, might differ from 50K to 0.4 million) of the parent_ids from other table only if that do not cause any circular reference in data of table1.
    I am using Oracle9i.
    The approach I have tried is:
    I copied all data from table1 to a work table table3. Update the parent_id on columns that matches the condition and updated a column source_table to table2.
    I copied all the child_id from table2 that are to be updated into another table table4 and built tree for each of those childs. If it builds the tree successfully updated a column is_circular in the table3 to 0 and then deleted the child_id from table4.
    This whole process needs to run recursively until no tree is built successfully in an iteration.
    But this process is running slow and at the rate it is executing it would run for days for the 0.3 million records.
    Please suggest a better way to do this.
    The code I am using is :
    INSERT /*+ append parallel (target,5) */
    INTO table3 target
    select /*+ parallel (src,5) */
    child_id, parent_id, 'table1' source_table,null
    from table1 src;
    INSERT INTO table4
    select distinct child_id, parent_id
    from table2
    where status_cd is null;
    commit;
    Update dtable3 a
    set (parent_id,source_table) = (select parent_id,'table2' source_table
    from table4 b
    where b.child_id = a.child_id);
    WHILE v_loop_limit<>v_new_count
    LOOP
    select count(1)
    into v_loop_limit
         from table4;
    -+-----------------------------------------------------------
    --| You need to actually traverse the tree in order to
    --| detect circular dependencies.
    +-----------------------------------------------------------           
    For i in 1 .. v_new_count
    BEGIN
    select child_id
    into v_child_id from(
    select child_id, row_number() over (order by child_id) pri from table4)
    where pri = i;
    SELECT COUNT (*) cnt
    INTO v_cnt
    FROM table3 dl
    START WITH dl.child_id = v_child_id
    CONNECT BY PRIOR dl.child_id = dl.parent_id ;
    UPDATE table3SET is_circular = '0'
    where child_id= v_child_id
    and source_table = 'table2';
    delete from table3
    where child_id = v_child_id;
    select count(1)
    into v_new_count
         from table4;
    COMMIT;
    EXCEPTION WHEN e_infinite_loop
    THEN dbms_output.put_line ('Loop detected!'||v_child_id);
    WHEN OTHERS THEN
         dbms_output.put_line ('Other Exceptions!');
    END;
    END LOOP;
    END LOOP;
    Thanks & Regards,
    Ruchira

    Hello,
    First off, if you're so new to a technology why do you brush off the first thing an experienced, recognized "guru" tells you? Take out that WHEN OTHERS ! It is a bug in your code, period.
    Secondly, here is some code to try. Notice that the result depends on what order you do the updates, that's why I run the same code twice but in ASCENDING or DESCENDING order. You can get a circular reference from a PAIR of updates, and whichever comes second is the "bad" one.drop table tab1;
    create table TAB1(PARENT_ID number, CHILD_ID number);
    create index I1 on TAB1(CHILD_ID);
    create index I2 on TAB1(PARENT_ID);
    drop table tab2;
    create table TAB2(PARENT_NEW number, CHILD_ID number);
    insert into TAB1 values (1,2);
    insert into TAB1 values (1,3);
    insert into tab1 values (2,4);
    insert into TAB1 values (3,5);
    commit;
    insert into TAB2 values(4,3);
    insert into TAB2 values(3,2);
    commit;
    begin
    for REC in (select * from TAB2 order by child_id ASC) LOOP
      merge into TAB1 O
      using (select rec.child_id child_id, rec.parent_new parent_new from dual) n
      on (O.CHILD_ID = N.CHILD_ID)
      when matched then update set PARENT_ID = PARENT_NEW
      where (select COUNT(*) from TAB1
        where PARENT_ID = n.CHILD_ID
        start with CHILD_ID = n.PARENT_NEW
        connect by CHILD_ID = prior PARENT_ID
        and prior PARENT_ID <> n.CHILD_ID) = 0;
    end LOOP;
    end;
    select distinct * from TAB1
    connect by PARENT_ID = prior CHILD_ID
    order by 1, 2;
    rollback;
    begin
    for REC in (select * from TAB2 order by child_id DESC) LOOP
      merge into TAB1 O
      using (select rec.child_id child_id, rec.parent_new parent_new from dual) n
      on (O.CHILD_ID = N.CHILD_ID)
      when matched then update set PARENT_ID = PARENT_NEW
      where (select COUNT(*) from TAB1
        where PARENT_ID = n.CHILD_ID
        start with CHILD_ID = n.PARENT_NEW
        connect by CHILD_ID = prior PARENT_ID
        and prior PARENT_ID <> n.CHILD_ID) = 0;
    end LOOP;
    end;
    select distinct * from TAB1
    connect by PARENT_ID = prior CHILD_ID
    order by 1, 2;One last thing, be sure and have indexes on child_id and parent_id in your main table!

  • Caused by: java.sql.SQLException: ORA-00060: deadlock detected while waitin

    Hi,
    I'm getting following exception:
    Caused by: net.sf.hibernate.exception.GenericJDBCException: could not update: [com.sample.database.hibernate.mappings.reference.impl.TaskImpl#156979998]
         at net.sf.hibernate.exception.ErrorCodeConverter.handledNonSpecificException(ErrorCodeConverter.java:90)
         at net.sf.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:79)
         at net.sf.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:30)
         at net.sf.hibernate.persister.AbstractEntityPersister.convert(AbstractEntityPersister.java:1332)
         at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:683)
         at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:623)
         at net.sf.hibernate.impl.ScheduledUpdate.execute(ScheduledUpdate.java:52)
         at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2438)
         at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2392)
         at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2260)
         at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61)
         at com.sample.database.hibernate.util.HibernateUtil.doSessionWork(HibernateUtil.java:83)
         ... 8 more
    Caused by: java.sql.SQLException: ORA-00060: deadlock detected while waiting for resource
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:158)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:623)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:181)
         at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:685)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1138)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3018)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3090)
         at com.mchange.v2.sql.filter.FilterPreparedStatement.executeUpdate(FilterPreparedStatement.java:71)
         at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:666)
         ... 15 more
    what could be the reason??
    thanks.

    The error is coming from an application. Please check the alert log file of the database and further there will be a trace file mentioned in the alert log file in which you will have information of the object which is causing deadlock.
    Regards

  • ORA-00060: deadlock detected while waiting for resource with Tbs Read-only

    Hi all,
    We're using Oracle 10.2.0.1 and 9.2.0.4.
    I'm testing the performing of a procedure that inserts, like this:
    CREATE OR REPLACE PROCEDURE P$TAD_TEST
    IS
    TYPE T_T1_C1          IS TABLE OF T1.C1%TYPE INDEX BY PLS_INTEGER;
    TYPE T_T1_DT           IS TABLE OF T1.DT%TYPE INDEX BY PLS_INTEGER;
    P_C1 T_T1_C1;
    P_DT T_T1_DT;
    P_RESULT NUMBER;
    BEGIN
    FOR j IN 1..4032 LOOP
    P_C1(j) := j;
    P_DT(j) := SYSDATE + (j/24/60);
    END LOOP;
    FORALL i IN P_C1.FIRST..P_C1.LAST SAVE EXCEPTIONS
    INSERT INTO T1 VALUES (P_C1(i), P_DT(i));
    EXCEPTION
    WHEN OTHERS THEN
    P_RESULT := SQLCODE;
    END;
    The table T1 is partitioned across 10 tablespaces. The test consist to take
    these tablespace read-only and perform the procedure, and analyze the results,
    like erros.
    but when I perform the procedure, The alert.log indicates the error
    ORA-00060: deadlock detected while waiting for resource.
    Why this occurs only the tablespaces are read-only?
    thank you!!!!

    Hi,
    yesterday we got this error again(in fact twice) and we were able to get the trace file. It says this is NOT oracle error. i was wrong in suspecting Oracle. This is the trace file details. i dont know how to debug this. Any help appreciated.
    *** 2010-06-15 16:24:29.243
    *** ACTION NAME:() 2010-06-15 16:24:29.231
    *** MODULE NAME:(JDBC Thin Client) 2010-06-15 16:24:29.231
    *** SERVICE NAME: 2010-06-15 16:24:29.231
    *** SESSION ID:(482.4266) 2010-06-15 16:24:29.231
    DEADLOCK DETECTED ( ORA-00060 )
    [Transaction Deadlock]
    The following deadlock is not an ORACLE error. It is a
    deadlock due to user error in the design of an application
    or from issuing incorrect ad-hoc SQL. The following
    information may aid in determining the deadlock:
    Deadlock graph:
    ---------Blocker(s)-------- ---------Waiter(s)---------
    Resource Name process session holds waits process session holds waits
    TX-00300021-0000b52d 209 482 X 247 474 S
    TX-002a0009-00011b24 247 474 X 209 482 S
    session 482: DID 0001-00D1-0000000A session 474: DID 0001-00F7-00000008
    session 474: DID 0001-00F7-00000008 session 482: DID 0001-00D1-0000000A
    Rows waited on:
    Session 474: obj - rowid = 0000CED4 - AAAM7UAAxAAAVgSAAA
    (dictionary objn - 52948, file - 49, block - 88082, slot - 0)
    Session 482: obj - rowid = 0000D8BF - AAANi/AAuAAB+z/AAA
    (dictionary objn - 55487, file - 46, block - 519423, slot - 0)
    Information on the OTHER waiting sessions:
    Session 474:
    pid=247 serial=31796 audsid=25502259 user: 62/USER
    O/S info: ....
    program: JDBC Thin Client
    application name: JDBC Thin Client, hash value=2546894660
    Current SQL Statement:
    INSERT QUERY1
    End of information on OTHER waiting sessions.
    Current SQL statement for this session:
    INSERT QUERY2
    Thanks,
    AK

  • Circular reference error

    Hi all,
    In a Check payment PLD,  when I am create new formula field  when I am adding formula Concat(F_196,ToString(Field_150))
    Its shows Circular reference have been detected ,Document may not print correctly .
    pl suggest me
    Thanks
    Nitin

    Hi Sir,
    Thank You very much.
    Regards
    Nitin

  • Circular references in Hashtable

    Hi,
    I was wondering if anyone could help me in determining when circular references appear in java.util.Hashtable I have written a class that serializes any arbitrary java object into XML. The problem occurs when the object contains many references to Hashtables. The serializer does not know how to handle circular references and goes into an infinite loop causing a stack overflow. Any help would be greatly appreciated.

    Hi.
    The solution is simple: keep all the processed objects in a set or map. Before sending an object check if it was already processed. If not, process it. If yes, place a reference in the XML file that will enable you to read find it during the read.
    Java Serialization uses a "serial number" for the objects it serializes. It keeps something like an HashMap of the objects already serialized. When writing, if it finds an object already writen it only writes its serial number. When reading a serial number it uses a map of the objects already read to find the object.
    Hope this helps,
    Nuno

  • JDAPI Error: ORA-04020: deadlock detected while trying to lock object

    I have written a JDAPI program to perform read-only impact analysis and report any problems.
    The following error is occurring:
    "A deadlock among DDL and parse locks is detected.
    This deadlock is usually due to user errors in the design of an application or from issuing a set of concurrent statements which can cause a deadlock.
    ORA-04020: deadlock detected while trying to lock object /NSPC6/CHECK_FOR_FORM_CHANGE"
    The error refers to a procedure in a PL/SQL library.
    In one case the error occurred after my final "end of processing" message, which is followed only by a call to "Jdapi.shutdown()".
    Any ideas?
    Thanks,
    Neville Sweet.

    I have written a JDAPI program to perform read-only impact analysis and report any problems.
    The following error is occurring:
    "A deadlock among DDL and parse locks is detected.
    This deadlock is usually due to user errors in the design of an application or from issuing a set of concurrent statements which can cause a deadlock.
    ORA-04020: deadlock detected while trying to lock object /NSPC6/CHECK_FOR_FORM_CHANGE"
    The error refers to a procedure in a PL/SQL library.
    In one case the error occurred after my final "end of processing" message, which is followed only by a call to "Jdapi.shutdown()".
    Any ideas?
    Thanks,
    Neville Sweet.

  • Database error"ORA-00060: deadlock detected while waiting for resource"

    Hi All,
    I got dump as
    Database error text........: "ORA-00060: deadlock detected while waiting for
      resource"
    Internal call code.........: "[RSQL/RDUP/NRIV ]"
    Please check the entries in the system log (Transaction SM21).
    An exception occurred that is explained in detail below.
    The exception, which is assigned to class 'CX_SY_OPEN_SQL_DB', was not caught
    in
    procedure "READ_NRIV" "(FORM)", nor was it propagated by a RAISING clause.
    Can u ppl tell me how to get correct this?
    Edited by: Bala Chandar on Jul 20, 2009 11:01 AM

    Hi Bala,
    Same type of dump we got when we trigger the DTP which in process chain to load data from DSO to Info cube. And the load had processed with 225 data package and at 164th data package we got this error and except 164th data package all data package processed successfully
    And the request was red. So we had done processed manually by clicking the icon. So all its been green and successfully loaded.
    So when you do process manual the particular data package which got failed will be process successfully  

  • ORA-00060: deadlock detected while waiting for resource CLOSE cursor

    Hi,
    I am a new member of this forum. I am working with a problem we got a few weeks ago. It is from a Pro C batch executable running on 10 threads dealing with >800 data accessed from multiple tables. The error as reported came from a package.function call.
    This is the error I encountered:
    process_item~G****, D***~-60~ORA-00060: deadlock detected while waiting for resource~PACKAGE ERROR = CLOSE cursor C_***** in package R***.I*** 7641
    The cursor is a simple SELECT cursor without Table or Record locking.
    My questions are:
    *Upon the occurrence of this error, is the execution already at the CLOSE cursor line or did the error occurred between the OPEN cursor and the CLOSE cursor? There are several lines of code in between OPEN and CLOSE:
    - one that calls for a package.function that simply stores parameter values to a variable
    - another one which fetches the cursor. The group that holds the cursor values is only used by a single function in the package
    *Is it possible for this CLOSE cursor to cause a deadlock? What could have caused this?
    *From what I know, Oracle deals with deadlocks by aborting the deadlocking process while others continue, but this deadlock caused our program to hang. How is this possible? Could the root cause of the deadlock be from our threading program? This is a rare occurrence and happened only twice this year.
    Thanks,
    Raf

    Raf Serrano wrote:
    Hi,
    I am a new member of this forum. I am working with a problem we got a few weeks ago. It is from a Pro C batch executable running on 10 threads dealing with >800 data accessed from multiple tables. The error as reported came from a package.function call.
    This is the error I encountered:
    process_item~G****, D***~-60~ORA-00060: deadlock detected while waiting for resource~PACKAGE ERROR = CLOSE cursor C_***** in package R***.I*** 7641
    The cursor is a simple SELECT cursor without Table or Record locking.
    My questions are:
    *Upon the occurrence of this error, is the execution already at the CLOSE cursor line or did the error occurred between the OPEN cursor and the CLOSE cursor? There are several lines of code in between OPEN and CLOSE:
    - one that calls for a package.function that simply stores parameter values to a variable
    - another one which fetches the cursor. The group that holds the cursor values is only used by a single function in the package
    *Is it possible for this CLOSE cursor to cause a deadlock? What could have caused this?
    *From what I know, Oracle deals with deadlocks by aborting the deadlocking process while others continue, but this deadlock caused our program to hang. How is this possible? Could the root cause of the deadlock be from our threading program? This is a rare occurrence and happened only twice this year.
    Thanks,
    RafSELECT (without FOR UPDATE) statements are never involved in ORA-00060.
    only DML statements throw ORA-00060 error

  • ORA-00060: deadlock detected while adding a datafile

    Hello all,
    I found a strange error today.
    We were trying add datafile to our existing tablespace as usually but suddenly caught in a problem.
    SQL> alter tablespace erp_dat2 add datafile '/hotdata2/irsdata/erp_dat2irs_145.dbf' size 2000M;
    alter tablespace erp_dat2 add datafile '/hotdata2/irsdata/erp_dat2irs_145.dbf' size 2000M
    ERROR at line 1:
    ORA-00060: deadlock detected while waiting for resourcelooks very strange.Searched on google but not found something useful.Still searching.No trace file is generated as such.
    Any ideas will be appreciated. Is it related to any batch job running?
    OS : SunOS 5.10 Generic_142900-13 sun4u sparc SUNW,Sun-Fire (64-bit)
    RDBMS : 11.1.0.7
    Regards!
    Edited by: Nitin Joshi on Sep 30, 2010 3:41 PM
    Changed subject line

    seems like you're hitting a bug in 11.1.0.7
    Bug 8332021 - Cannot add a datafiles when sessions reporting ORA-1653 [ID 8332021.8]
    ORA-60 can occur during datafile addition when concurrent sessions
    are reporting ORA-1653 .>>Workaround:
    >> Stop the sessions getting the errors then add the datafile.

  • Copy Salesperson from Reference PO while creating a new PO using ME21N

    Hi,
    I have requirement to copy the "Salesperson" field that appear in the header (Communication tab) while creating a PO with reference to the other PO.
    Is there any exit's or BADI's available in SAP which will help me to copy the "Salesperson" data from the reference PO while creating                                 a new PO in ME21N.
    Thanks,
    Swapna

    Check the badi ME_PROCESS_PO_CUST.
    Thanks,
    Vikram.M

  • Getting deadlock detected while waiting for resource error for select Query.....

    Hi all,
    i am getting a below error whenever executing the below select query....
    some times it will show dead lock detected while waiting for resource and terminated...
    some times it executes and gives result..
    but all the time it writes an alert to alert log
    Plesae suggest how to resolve the issue..........
    Thanks in advance
    Env: Linux / Oracle 11.2.0.3.3
    Error from alert log:
    Errors in file /u01/oracle/oracle/diag/rdbms/bdrdb/bdrdb/trace/bdrdb_p017_6076.trc:
    ORA-00060: deadlock detected while waiting for resource
    ORA-10387: parallel query server interrupt (normal)
    Trace file info... bdrdb_p017_6076.trc:
    Trace file /u01/oracle/oracle/diag/rdbms/bdrdb/bdrdb/trace/bdrdb_p017_6076.trc
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    ORACLE_HOME = /u01/oracle/oracle/product/11.2.0/dbhome_1
    System name:    Linux
    Node name:      bdrdb.cteplindia.com
    Release:        2.6.18-308.el5PAE
    Version:        #1 SMP Fri Jan 27 17:40:09 EST 2012
    Machine:        i686
    Instance name: bdrdb
    Redo thread mounted by this instance: 1
    Oracle process number: 92
    Unix process pid: 6076, image: [email protected] (P017)
    *** 2013-11-04 23:18:57.915
    *** SESSION ID:(423.59970) 2013-11-04 23:18:57.915
    *** CLIENT ID:() 2013-11-04 23:18:57.915
    *** SERVICE NAME:(bdrdb) 2013-11-04 23:18:57.915
    *** MODULE NAME:() 2013-11-04 23:18:57.915
    *** ACTION NAME:() 2013-11-04 23:18:57.915
    *** 2013-11-04 23:18:57.915
    DEADLOCK DETECTED ( ORA-00060 )
    [Transaction Deadlock]
    Deadlock graph:
                           ---------Blocker(s)--------  ---------Waiter(s)---------
    Resource Name          process session holds waits  process session holds waits
    PS-00000001-00000011        92     423     S             33     128     S     X
    BF-2ed08c01-00000000        33     128     S             92     423     S     X
    session 423: DID 0001-005C-00081126     session 128: DID 0001-0021-00067D23
    session 128: DID 0001-0021-00067D23     session 423: DID 0001-005C-00081126
    DEADLOCK DETECTED ( ORA-00060 )
    [Transaction Deadlock]
    Deadlock graph:
                           ---------Blocker(s)--------  ---------Waiter(s)---------
    Resource Name          process session holds waits  process session holds waits
    PS-00000001-00000011        92     423     S             33     128     S     X
    BF-2ed08c01-00000000        33     128     S             92     423     S     X
    session 423: DID 0001-005C-00081126     session 128: DID 0001-0021-00067D23
    session 128: DID 0001-0021-00067D23     session 423: DID 0001-005C-00081126
    Rows waited on:
      Session 423: no row
      Session 128: obj - rowid = 00021DC1 - AAAh3BAAVAAAQL/AAA
      (dictionary objn - 138689, file - 21, block - 66303, slot - 0)
    ----- Information for the OTHER waiting sessions -----
    Session 128:
      sid: 128 ser: 46176 audsid: 1836857 user: 102/DBLOCAL
        flags: (0x8000041) USR/- flags_idl: (0x1) BSY/-/-/-/-/-
        flags2: (0x40009) -/-/INC
      pid: 33 O/S info: user: oracle, term: UNKNOWN, ospid: 31611
        image: [email protected]
      client details:
        O/S info: user: masked, term: masked, ospid: 5924:568
        machine: masked program: Toad.exe
        application name: TOAD background query session, hash value=526966934
      current SQL:
        application name: TOAD background query session, hash value=526966934
      current SQL:
      SELECT  DISTINCT B_FP_TEST.TEST_ID
      FROM B_FP_TEST,
           B_USER_INFO,
           J_FP_INVESTIGATOR,
           L_TEST_STATUS,
           L_ATMS_TEST_TYPE,
           j_op_test_anml
    WHERE     B_FP_TEST.TEST_ID = J_FP_INVESTIGATOR.TEST_ID
           AND B_FP_TEST.TEST_TYPE_ID = L_ATMS_TEST_TYPE.ATMS_TEST_TYPE_ID
           AND B_USER_INFO.B_USER_INFO_ID = J_FP_INVESTIGATOR.INVESTIGATOR_ID
           AND B_FP_TEST.STATUS_ID = L_TEST_STATUS.STATUS_ID
           AND B_FP_TEST.IS_DELETED = :"SYS_B_00"
           AND B_FP_TEST.TEST_NUM NOT IN (:"SYS_B_01", :"SYS_B_02", :"SYS_B_03")
           AND L_ATMS_TEST_TYPE.IS_DELETED = :"SYS_B_04"
           AND J_FP_INVESTIGATOR.is_pi = :"SYS_B_05"
           AND L_TEST_STATUS.STATUS IN (:"SYS_B_06", :"SYS_B_07", :"SYS_B_08")
           AND j_op_test_anml.test_id = B_FP_TEST.TEST_ID
    ----- End of information for the OTHER waiting sessions -----
    *** 2013-11-04 23:18:57.916
    dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x0, level=3, mask=0x0)
    ----- Error Stack Dump -----
    ORA-00060: deadlock detected while waiting for resource
    ORA-10387: parallel query server interrupt (normal)
    ----- SQL Statement (None) -----
    Current SQL information unavailable - no cursor.
    ----- Call Stack Trace -----
    calling              call     entry                argument values in hex
    location             type     point                (? means dubious value)
    More......
    Query:
    SELECT DISTINCT B_FP_TEST.TEST_ID
      FROM B_FP_TEST,
           B_USER_INFO,
           J_FP_INVESTIGATOR,
           L_TEST_STATUS,
           L_ATMS_TEST_TYPE,
           j_op_test_anml
    WHERE     B_FP_TEST.TEST_ID = J_FP_INVESTIGATOR.TEST_ID
           AND B_FP_TEST.TEST_TYPE_ID = L_ATMS_TEST_TYPE.ATMS_TEST_TYPE_ID
           AND B_USER_INFO.B_USER_INFO_ID = J_FP_INVESTIGATOR.INVESTIGATOR_ID
           AND B_FP_TEST.STATUS_ID = L_TEST_STATUS.STATUS_ID
           AND B_FP_TEST.IS_DELETED = 0
           AND B_FP_TEST.TEST_NUM NOT IN (1, 2, 99)
           AND L_ATMS_TEST_TYPE.IS_DELETED = 0
           AND J_FP_INVESTIGATOR.is_pi = 1
           AND L_TEST_STATUS.STATUS IN ('Scheduled', 'In-Progress', 'Completed')
           AND j_op_test_anml.test_id = B_FP_TEST.TEST_ID
           AND (   (j_op_test_anml.end_date BETWEEN TO_DATE ('28-Oct-2013') - 1
                                                AND TO_DATE ('04-Nov-2013') + 1)
                OR (j_op_test_anml.start_date BETWEEN TO_DATE ('28-Oct-2013') - 1
                                                  AND TO_DATE ('04-Nov-2013') + 1)
                OR (TO_DATE ('28-Oct-2013') BETWEEN j_op_test_anml.start_date
                                                AND j_op_test_anml.end_date)
                OR (TO_DATE ('04-Nov-2013') BETWEEN j_op_test_anml.start_date
                                                AND j_op_test_anml.end_date))
           AND L_ATMS_TEST_TYPE.IS_DELETED = 0
           AND B_FP_TEST.DATASOURCE_ID = 9
    Query Exp plan:
    Plan hash value: 3398228788
    | Id  | Operation                                          | Name                | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |    TQ  |IN-OUT| PQ Distrib |
    |   0 | SELECT STATEMENT                                   |                     |  1501 |   102K|  1929   (1)| 00:00:24 |       |       |        |      |            |
    |   1 |  HASH UNIQUE                                       |                     |  1501 |   102K|  1929   (1)| 00:00:24 |       |       |        |      |            |
    |   2 |   CONCATENATION                                    |                     |       |       |            |          |       |       |        |      |            |
    |   3 |    PX COORDINATOR                                  |                     |       |       |            |          |       |       |        |      |            |
    |   4 |     PX SEND QC (RANDOM)                            | :TQ30005            |   241 | 16870 |   800   (1)| 00:00:10 |       |       |  Q3,05 | P->S | QC (RAND)  |
    |*  5 |      HASH JOIN                                     |                     |   241 | 16870 |   800   (1)| 00:00:10 |       |       |  Q3,05 | PCWP |            |
    |   6 |       PX RECEIVE                                   |                     |   246 | 15990 |   797   (1)| 00:00:10 |       |       |  Q3,05 | PCWP |            |
    |   7 |        PX SEND HASH                                | :TQ30004            |   246 | 15990 |   797   (1)| 00:00:10 |       |       |  Q3,04 | P->P | HASH       |
    |*  8 |         HASH JOIN                                  |                     |   246 | 15990 |   797   (1)| 00:00:10 |       |       |  Q3,04 | PCWP |            |
    |   9 |          PX RECEIVE                                |                     |   573 | 29223 |   793   (1)| 00:00:10 |       |       |  Q3,04 | PCWP |            |
    |  10 |           PX SEND HASH                             | :TQ30003            |   573 | 29223 |   793   (1)| 00:00:10 |       |       |  Q3,03 | P->P | HASH       |
    |* 11 |            HASH JOIN                               |                     |   573 | 29223 |   793   (1)| 00:00:10 |       |       |  Q3,03 | PCWP |            |
    |  12 |             BUFFER SORT                            |                     |       |       |            |          |       |       |  Q3,03 | PCWC |            |
    |  13 |              PX RECEIVE                            |                     |       |       |            |          |       |       |  Q3,03 | PCWP |            |
    |  14 |               PX SEND BROADCAST                    | :TQ30000            |       |       |            |          |       |       |        | S->P | BROADCAST  |
    |  15 |                NESTED LOOPS                        |                     |       |       |            |          |       |       |        |      |            |
    |  16 |                 NESTED LOOPS                       |                     |   485 | 20855 |   781   (0)| 00:00:10 |       |       |        |      |            |
    |  17 |                  TABLE ACCESS BY GLOBAL INDEX ROWID| J_OP_TEST_ANML      |   485 | 10185 |   296   (0)| 00:00:04 | ROWID | ROWID |        |      |            |
    |* 18 |                   INDEX RANGE SCAN                 | IDX$$_2D190001      |   485 |       |     4   (0)| 00:00:01 |       |       |        |      |            |
    |* 19 |                  INDEX UNIQUE SCAN                 | FT_TEST_ID_PK       |     1 |       |     0   (0)| 00:00:01 |       |       |        |      |            |
    |* 20 |                 TABLE ACCESS BY GLOBAL INDEX ROWID | B_FP_TEST           |     1 |    22 |     1   (0)| 00:00:01 | ROWID | ROWID |        |      |            |
    |  21 |             PX BLOCK ITERATOR                      |                     | 70382 |   549K|    11   (0)| 00:00:01 |       |       |  Q3,03 | PCWC |            |
    |* 22 |              TABLE ACCESS FULL                     | J_FP_INVESTIGATOR   | 70382 |   549K|    11   (0)| 00:00:01 |       |       |  Q3,03 | PCWP |            |
    |  23 |          BUFFER SORT                               |                     |       |       |            |          |       |       |  Q3,04 | PCWC |            |
    |  24 |           PX RECEIVE                               |                     |     3 |    42 |     3   (0)| 00:00:01 |       |       |  Q3,04 | PCWP |            |
    |  25 |            PX SEND HASH                            | :TQ30001            |     3 |    42 |     3   (0)| 00:00:01 |       |       |        | S->P | HASH       |
    |* 26 |             TABLE ACCESS FULL                      | L_TEST_STATUS       |     3 |    42 |     3   (0)| 00:00:01 |       |       |        |      |            |
    |  27 |       BUFFER SORT                                  |                     |       |       |            |          |       |       |  Q3,05 | PCWC |            |
    |  28 |        PX RECEIVE                                  |                     |    30 |   150 |     3   (0)| 00:00:01 |       |       |  Q3,05 | PCWP |            |
    |  29 |         PX SEND HASH                               | :TQ30002            |    30 |   150 |     3   (0)| 00:00:01 |       |       |        | S->P | HASH       |
    |* 30 |          TABLE ACCESS FULL                         | L_ATMS_TEST_TYPE    |    30 |   150 |     3   (0)| 00:00:01 |       |       |        |      |            |
    |  31 |    NESTED LOOPS                                    |                     |       |       |            |          |       |       |        |      |            |
    |  32 |     NESTED LOOPS                                   |                     |     3 |   210 |   329   (1)| 00:00:04 |       |       |        |      |            |
    |  33 |      NESTED LOOPS                                  |                     |     3 |   195 |   329   (1)| 00:00:04 |       |       |        |      |            |
    |* 34 |       HASH JOIN                                    |                     |     2 |   114 |   325   (1)| 00:00:04 |       |       |        |      |            |
    |  35 |        NESTED LOOPS                                |                     |       |       |            |          |       |       |        |      |            |
    |  36 |         NESTED LOOPS                               |                     |     6 |   258 |   322   (1)| 00:00:04 |       |       |        |      |            |
    |  37 |          PARTITION RANGE SINGLE                    |                     |     6 |   126 |   316   (1)| 00:00:04 |     7 |     7 |        |      |            |
    |* 38 |           TABLE ACCESS FULL                        | J_OP_TEST_ANML      |     6 |   126 |   316   (1)| 00:00:04 |     7 |     7 |        |      |            |
    |* 39 |          INDEX UNIQUE SCAN                         | FT_TEST_ID_PK       |     1 |       |     0   (0)| 00:00:01 |       |       |        |      |            |
    |* 40 |         TABLE ACCESS BY GLOBAL INDEX ROWID         | B_FP_TEST           |     1 |    22 |     1   (0)| 00:00:01 | ROWID | ROWID |        |      |            |
    |* 41 |        TABLE ACCESS FULL                           | L_TEST_STATUS       |     3 |    42 |     3   (0)| 00:00:01 |       |       |        |      |            |
    |* 42 |       TABLE ACCESS BY INDEX ROWID                  | J_FP_INVESTIGATOR   |     1 |     8 |     2   (0)| 00:00:01 |       |       |        |      |            |
    |* 43 |        INDEX RANGE SCAN                            | FI_TEST_ID_PK       |     1 |       |     1   (0)| 00:00:01 |       |       |        |      |            |
    |* 44 |      INDEX UNIQUE SCAN                             | L_ATMS_TEST_TYPE_PK |     1 |       |     0   (0)| 00:00:01 |       |       |        |      |            |
    |* 45 |     TABLE ACCESS BY INDEX ROWID                    | L_ATMS_TEST_TYPE    |     1 |     5 |     1   (0)| 00:00:01 |       |       |        |      |            |
    |  46 |    PX COORDINATOR                                  |                     |       |       |            |          |       |       |        |      |            |
    |  47 |     PX SEND QC (RANDOM)                            | :TQ20003            |       |       |            |          |       |       |  Q2,03 | P->S | QC (RAND)  |
    |  48 |      NESTED LOOPS                                  |                     |       |       |            |          |       |       |  Q2,03 | PCWP |            |
    |  49 |       NESTED LOOPS                                 |                     |    33 |  2310 |   399   (2)| 00:00:05 |       |       |  Q2,03 | PCWP |            |
    |* 50 |        HASH JOIN                                   |                     |    33 |  2145 |   397   (2)| 00:00:05 |       |       |  Q2,03 | PCWP |            |
    |  51 |         PX RECEIVE                                 |                     |    78 |  3978 |   393   (1)| 00:00:05 |       |       |  Q2,03 | PCWP |            |
    |  52 |          PX SEND HASH                              | :TQ20002            |    78 |  3978 |   393   (1)| 00:00:05 |       |       |  Q2,02 | P->P | HASH       |
    |* 53 |           HASH JOIN                                |                     |    78 |  3978 |   393   (1)| 00:00:05 |       |       |  Q2,02 | PCWP |            |
    |  54 |            BUFFER SORT                             |                     |       |       |            |          |       |       |  Q2,02 | PCWC |            |
    |  55 |             PX RECEIVE                             |                     |       |       |            |          |       |       |  Q2,02 | PCWP |            |
    |  56 |              PX SEND BROADCAST                     | :TQ20000            |       |       |            |          |       |       |        | S->P | BROADCAST  |
    |  57 |               NESTED LOOPS                         |                     |       |       |            |          |       |       |        |      |            |
    |  58 |                NESTED LOOPS                        |                     |    66 |  2838 |   382   (1)| 00:00:05 |       |       |        |      |            |
    |  59 |                 PARTITION RANGE SINGLE             |                     |    66 |  1386 |   316   (1)| 00:00:04 |     7 |     7 |        |      |            |
    |* 60 |                  TABLE ACCESS FULL                 | J_OP_TEST_ANML      |    66 |  1386 |   316   (1)| 00:00:04 |     7 |     7 |        |      |            |
    |* 61 |                 INDEX UNIQUE SCAN                  | FT_TEST_ID_PK       |     1 |       |     0   (0)| 00:00:01 |       |       |        |      |            |
    |* 62 |                TABLE ACCESS BY GLOBAL INDEX ROWID  | B_FP_TEST           |     1 |    22 |     1   (0)| 00:00:01 | ROWID | ROWID |        |      |            |
    |  63 |            PX BLOCK ITERATOR                       |                     | 70382 |   549K|    11   (0)| 00:00:01 |       |       |  Q2,02 | PCWC |            |
    |* 64 |             TABLE ACCESS FULL                      | J_FP_INVESTIGATOR   | 70382 |   549K|    11   (0)| 00:00:01 |       |       |  Q2,02 | PCWP |            |
    |  65 |         BUFFER SORT                                |                     |       |       |            |          |       |       |  Q2,03 | PCWC |            |
    |  66 |          PX RECEIVE                                |                     |     3 |    42 |     3   (0)| 00:00:01 |       |       |  Q2,03 | PCWP |            |
    |  67 |           PX SEND HASH                             | :TQ20001            |     3 |    42 |     3   (0)| 00:00:01 |       |       |        | S->P | HASH       |
    |* 68 |            TABLE ACCESS FULL                       | L_TEST_STATUS       |     3 |    42 |     3   (0)| 00:00:01 |       |       |        |      |            |
    |* 69 |        INDEX UNIQUE SCAN                           | L_ATMS_TEST_TYPE_PK |     1 |       |     0   (0)| 00:00:01 |       |       |  Q2,03 | PCWP |            |
    |* 70 |       TABLE ACCESS BY INDEX ROWID                  | L_ATMS_TEST_TYPE    |     1 |     5 |     1   (0)| 00:00:01 |       |       |  Q2,03 | PCWP |            |
    |  71 |    PX COORDINATOR                                  |                     |       |       |            |          |       |       |        |      |            |
    |  72 |     PX SEND QC (RANDOM)                            | :TQ10003            |       |       |            |          |       |       |  Q1,03 | P->S | QC (RAND)  |
    |  73 |      NESTED LOOPS                                  |                     |       |       |            |          |       |       |  Q1,03 | PCWP |            |
    |  74 |       NESTED LOOPS                                 |                     |    33 |  2310 |   399   (2)| 00:00:05 |       |       |  Q1,03 | PCWP |            |
    |* 75 |        HASH JOIN                                   |                     |    34 |  2210 |   397   (2)| 00:00:05 |       |       |  Q1,03 | PCWP |            |
    |  76 |         PX RECEIVE                                 |                     |    78 |  3978 |   393   (1)| 00:00:05 |       |       |  Q1,03 | PCWP |            |
    |  77 |          PX SEND HASH                              | :TQ10002            |    78 |  3978 |   393   (1)| 00:00:05 |       |       |  Q1,02 | P->P | HASH       |
    |* 78 |           HASH JOIN                                |                     |    78 |  3978 |   393   (1)| 00:00:05 |       |       |  Q1,02 | PCWP |            |
    |  79 |            BUFFER SORT                             |                     |       |       |            |          |       |       |  Q1,02 | PCWC |            |
    |  80 |             PX RECEIVE                             |                     |       |       |            |          |       |       |  Q1,02 | PCWP |            |
    |  81 |              PX SEND BROADCAST                     | :TQ10000            |       |       |            |          |       |       |        | S->P | BROADCAST  |
    |  82 |               NESTED LOOPS                         |                     |       |       |            |          |       |       |        |      |            |
    |  83 |                NESTED LOOPS                        |                     |    66 |  2838 |   382   (1)| 00:00:05 |       |       |        |      |            |
    |  84 |                 PARTITION RANGE SINGLE             |                     |    66 |  1386 |   316   (1)| 00:00:04 |     7 |     7 |        |      |            |
    |* 85 |                  TABLE ACCESS FULL                 | J_OP_TEST_ANML      |    66 |  1386 |   316   (1)| 00:00:04 |     7 |     7 |        |      |            |
    |* 86 |                 INDEX UNIQUE SCAN                  | FT_TEST_ID_PK       |     1 |       |     0   (0)| 00:00:01 |       |       |        |      |            |
    |* 87 |                TABLE ACCESS BY GLOBAL INDEX ROWID  | B_FP_TEST           |     1 |    22 |     1   (0)| 00:00:01 | ROWID | ROWID |        |      |            |
    |  88 |            PX BLOCK ITERATOR                       |                     | 70382 |   549K|    11   (0)| 00:00:01 |       |       |  Q1,02 | PCWC |            |
    |* 89 |             TABLE ACCESS FULL                      | J_FP_INVESTIGATOR   | 70382 |   549K|    11   (0)| 00:00:01 |       |       |  Q1,02 | PCWP |            |
    |  90 |         BUFFER SORT                                |                     |       |       |            |          |       |       |  Q1,03 | PCWC |            |
    |  91 |          PX RECEIVE                                |                     |     3 |    42 |     3   (0)| 00:00:01 |       |       |  Q1,03 | PCWP |            |
    |  92 |           PX SEND HASH                             | :TQ10001            |     3 |    42 |     3   (0)| 00:00:01 |       |       |        | S->P | HASH       |
    |* 93 |            TABLE ACCESS FULL                       | L_TEST_STATUS       |     3 |    42 |     3   (0)| 00:00:01 |       |       |        |      |            |
    |* 94 |        INDEX UNIQUE SCAN                           | L_ATMS_TEST_TYPE_PK |     1 |       |     0   (0)| 00:00:01 |       |       |  Q1,03 | PCWP |            |
    |* 95 |       TABLE ACCESS BY INDEX ROWID                  | L_ATMS_TEST_TYPE    |     1 |     5 |     1   (0)| 00:00:01 |       |       |  Q1,03 | PCWP |            |
    Predicate Information (identified by operation id):
       5 - access("B_FP_TEST"."TEST_TYPE_ID"="L_ATMS_TEST_TYPE"."ATMS_TEST_TYPE_ID")
       8 - access("B_FP_TEST"."STATUS_ID"="L_TEST_STATUS"."STATUS_ID")
      11 - access("B_FP_TEST"."TEST_ID"="J_FP_INVESTIGATOR"."TEST_ID")
      18 - access("J_OP_TEST_ANML"."START_DATE">=TO_DATE(' 2013-10-27 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND "J_OP_TEST_ANML"."START_DATE"<=TO_DATE(' 2013-11-05
                  00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
      19 - access("J_OP_TEST_ANML"."TEST_ID"="B_FP_TEST"."TEST_ID")
      20 - filter("B_FP_TEST"."DATASOURCE_ID"=9 AND "B_FP_TEST"."IS_DELETED"=0 AND "B_FP_TEST"."TEST_NUM"<>1 AND "B_FP_TEST"."TEST_NUM"<>2 AND
                  "B_FP_TEST"."TEST_NUM"<>99)
      22 - filter("J_FP_INVESTIGATOR"."IS_PI"=1)
      26 - filter("L_TEST_STATUS"."STATUS"='Completed' OR "L_TEST_STATUS"."STATUS"='In-Progress' OR "L_TEST_STATUS"."STATUS"='Scheduled')
      30 - filter("L_ATMS_TEST_TYPE"."IS_DELETED"=0)
      34 - access("B_FP_TEST"."STATUS_ID"="L_TEST_STATUS"."STATUS_ID")
      38 - filter("J_OP_TEST_ANML"."END_DATE">=TO_DATE(' 2013-10-27 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND "J_OP_TEST_ANML"."END_DATE"<=TO_DATE(' 2013-11-05
                  00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND (LNNVL("J_OP_TEST_ANML"."START_DATE">=TO_DATE(' 2013-10-27 00:00:00', 'syyyy-mm-dd hh24:mi:ss')) OR
                  LNNVL("J_OP_TEST_ANML"."START_DATE"<=TO_DATE(' 2013-11-05 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))))
      39 - access("J_OP_TEST_ANML"."TEST_ID"="B_FP_TEST"."TEST_ID")
      40 - filter("B_FP_TEST"."DATASOURCE_ID"=9 AND "B_FP_TEST"."IS_DELETED"=0 AND "B_FP_TEST"."TEST_NUM"<>1 AND "B_FP_TEST"."TEST_NUM"<>2 AND
                  "B_FP_TEST"."TEST_NUM"<>99)
      41 - filter("L_TEST_STATUS"."STATUS"='Completed' OR "L_TEST_STATUS"."STATUS"='In-Progress' OR "L_TEST_STATUS"."STATUS"='Scheduled')
      42 - filter("J_FP_INVESTIGATOR"."IS_PI"=1)
      43 - access("B_FP_TEST"."TEST_ID"="J_FP_INVESTIGATOR"."TEST_ID")
      44 - access("B_FP_TEST"."TEST_TYPE_ID"="L_ATMS_TEST_TYPE"."ATMS_TEST_TYPE_ID")
      45 - filter("L_ATMS_TEST_TYPE"."IS_DELETED"=0)
      50 - access("B_FP_TEST"."STATUS_ID"="L_TEST_STATUS"."STATUS_ID")
      53 - access("B_FP_TEST"."TEST_ID"="J_FP_INVESTIGATOR"."TEST_ID")
      60 - filter("J_OP_TEST_ANML"."END_DATE">=TO_DATE(' 2013-11-04 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND "J_OP_TEST_ANML"."START_DATE"<=TO_DATE(' 2013-11-04
                  00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND (LNNVL("J_OP_TEST_ANML"."END_DATE">=TO_DATE(' 2013-10-27 00:00:00', 'syyyy-mm-dd hh24:mi:ss')) OR
                  LNNVL("J_OP_TEST_ANML"."END_DATE"<=TO_DATE(' 2013-11-05 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))) AND (LNNVL("J_OP_TEST_ANML"."START_DATE">=TO_DATE(' 2013-10-27
                  00:00:00', 'syyyy-mm-dd hh24:mi:ss')) OR LNNVL("J_OP_TEST_ANML"."START_DATE"<=TO_DATE(' 2013-11-05 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))))
      61 - access("J_OP_TEST_ANML"."TEST_ID"="B_FP_TEST"."TEST_ID")
      62 - filter("B_FP_TEST"."DATASOURCE_ID"=9 AND "B_FP_TEST"."IS_DELETED"=0 AND "B_FP_TEST"."TEST_NUM"<>1 AND "B_FP_TEST"."TEST_NUM"<>2 AND
                  "B_FP_TEST"."TEST_NUM"<>99)
      64 - filter("J_FP_INVESTIGATOR"."IS_PI"=1)
      68 - filter("L_TEST_STATUS"."STATUS"='Completed' OR "L_TEST_STATUS"."STATUS"='In-Progress' OR "L_TEST_STATUS"."STATUS"='Scheduled')
      69 - access("B_FP_TEST"."TEST_TYPE_ID"="L_ATMS_TEST_TYPE"."ATMS_TEST_TYPE_ID")
      70 - filter("L_ATMS_TEST_TYPE"."IS_DELETED"=0)
      75 - access("B_FP_TEST"."STATUS_ID"="L_TEST_STATUS"."STATUS_ID")
      78 - access("B_FP_TEST"."TEST_ID"="J_FP_INVESTIGATOR"."TEST_ID")
      85 - filter("J_OP_TEST_ANML"."END_DATE">=TO_DATE(' 2013-10-28 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND "J_OP_TEST_ANML"."START_DATE"<=TO_DATE(' 2013-10-28
                  00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND (LNNVL("J_OP_TEST_ANML"."END_DATE">=TO_DATE(' 2013-11-04 00:00:00', 'syyyy-mm-dd hh24:mi:ss')) OR
                  LNNVL("J_OP_TEST_ANML"."START_DATE"<=TO_DATE(' 2013-11-04 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))) AND (LNNVL("J_OP_TEST_ANML"."END_DATE">=TO_DATE(' 2013-10-27
                  00:00:00', 'syyyy-mm-dd hh24:mi:ss')) OR LNNVL("J_OP_TEST_ANML"."END_DATE"<=TO_DATE(' 2013-11-05 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))) AND
                  (LNNVL("J_OP_TEST_ANML"."START_DATE">=TO_DATE(' 2013-10-27 00:00:00', 'syyyy-mm-dd hh24:mi:ss')) OR LNNVL("J_OP_TEST_ANML"."START_DATE"<=TO_DATE(' 2013-11-05
                  00:00:00', 'syyyy-mm-dd hh24:mi:ss'))))
      86 - access("J_OP_TEST_ANML"."TEST_ID"="B_FP_TEST"."TEST_ID")
      87 - filter("B_FP_TEST"."DATASOURCE_ID"=9 AND "B_FP_TEST"."IS_DELETED"=0 AND "B_FP_TEST"."TEST_NUM"<>1 AND "B_FP_TEST"."TEST_NUM"<>2 AND
                  "B_FP_TEST"."TEST_NUM"<>99)
      89 - filter("J_FP_INVESTIGATOR"."IS_PI"=1)
      93 - filter("L_TEST_STATUS"."STATUS"='Completed' OR "L_TEST_STATUS"."STATUS"='In-Progress' OR "L_TEST_STATUS"."STATUS"='Scheduled')
      94 - access("B_FP_TEST"."TEST_TYPE_ID"="L_ATMS_TEST_TYPE"."ATMS_TEST_TYPE_ID")
      95 - filter("L_ATMS_TEST_TYPE"."IS_DELETED"=0)

    Excellent piece of follow-up on my first suggestion.
    I nearly made a comment about how the plan doesn't show Bloom filter pruning either - and then I realised why not. The plan you've shown us comes from Explain Plan with literal values present; the trace file shows bind variables with names that are generated when cursor_sharing is set to force or similar - so the run-time plan and the plan from explain plan are almost guaranteed to be different.
    Oracle support will need you to supply the plan you get from trying to run the query and then making a call to dbms_xplan.display_cursor() - dbms_xplan in 10g | Oracle Scratchpad If you do this I think you'll find that the pstart/pstop columns contain entries like :BF0000, and you may even find operations link PX JOIN FILTER CREATE / PX JOIN FILTER USE
    A couple of generic notes:
    if a query does sufficient work to merit parallel execution, then it's usually better to supply the best possible information to the optimizer, which means using literals rather than bind variables - you could try executing the query with the hint /*+ cursor_sharing_exact */ to stop Oracle from turning your literals into binds; it might be the presence of bind variables that's making the optimizer choose a path that has to include bloom filter pruning in your case.
    Where you have the to_date() call you've used a four-digit year - which is a very good thing and helps the optimizer - but it's also a good idea to include an explicit format string as well: with a four-digit year this probably won't make any difference, but it avoids any risk of ambiguity for the optimizer.
    I made a comment about the P->S stage and bottlenecks - I spent a couple more minutes looking at the plan, and I see the optimizer has used concatentation: in effect it has run three query blocks one after the other and fed the results to the query co-ordinator - in this case the P->S would make no difference to the end-user response time there's always a final P->S to the coordinator, you just happen to have three of them.
    Regards
    Jonathan Lewis

Maybe you are looking for

  • How to read the contents in the excel file on the basis of colunm heading?

    Hi, Here is my requirement like that  in excel file i got the customer number , amount etc.... And my required fields are customer and amount. In file customer nr is under the heading 'CUSTOMER' and amount is under the heading 'AMOUNT'. Is there any

  • Images are too Large

    I am new to Muse and have a problem.  I created a page where the background was a photo and I set it to Scale to Fill.  The site looks great, but the page takes too long to load on a slower connection.  I had a professional web designer look at it fo

  • IPhoto problem with email, export, editing...

    Had my iMac upgraded with a new harddrive and Lion at my authorized retailer & service center. All has been good but did not use iPhoto much after the upgrade, but all seemed to be good. Recently photographed a family occasion and now I experience th

  • How to generate the DNS_VERIFY program

    I�d like to prevent form the spam mails from internet. I edited the mappings table of orig_mail_access segment, but I couldn't find the DNS_verify program in the iPlanet Messaging Server 5.1. Not knowing how to generate the DNS_VERIFY program in the

  • Exort Slideshow for DVD project

    Hi, I have made several slideshows in Aperture 3.1.1 which I now want to burn on a DVD. I'm having problems figuring out which export option to use. HD wouldn't work as DVDs are SD by definition, so would probably loose a lot of quality in compressio