2 Replies Latest reply on Jun 12, 2018 3:50 AM by 3532425

    SOALocalTxDataSource is OverLoading

    3532425

      Hi All,

       

      We have composites, bpel processes using database adapters.

       

      We keep getting Pool SOALocalTxDataSource is OverLoaded for every 8 hours, This has become a continuous process for the last 60 days.

      At present "Maximum Capacity" on the connection pool is 200.Even though no instances created on this environment for few days , it gets overloaded.

      Restart is the only "solution" for now...

       

      Please let me know what makes the data source gets overloaded and the remedy for this.

      Regards

      Madhava

        • 1. Re: SOALocalTxDataSource is OverLoading
          Martien van den Akker

          HI,

           

          I'd suggest to modify the datasource with the following properties:

           

          def modifyDatasource(dsName):

              print '---- Modify DataSource '+dsName+' ----'

             

              cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCDriverParams/'+dsName)

                 

              property = 'v$session.program'

              value = '${servername}/${domainname}'

              print '  - Property: '+property+', value: '+value

              cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCDriverParams/'+dsName+'/Properties/'+dsName)

              cmo.createProperty(property)

              cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCDriverParams/'+dsName+'/Properties/'+dsName+'/Properties/'+property)

              cmo.setSysPropValue(value)

             

              property = 'v$session.terminal'

              value = '${datasourcename}'

              print '  - Property: '+property+', value: '+value

              cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCDriverParams/'+dsName+'/Properties/'+dsName)

              cmo.createProperty(property)

              cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCDriverParams/'+dsName+'/Properties/'+dsName+'/Properties/'+property)

              cmo.setSysPropValue(value)

             

              property = 'v$session.process'

              value = '${pid}'

              print '  - Property: '+property+', value: '+value

              cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCDriverParams/'+dsName+'/Properties/'+dsName)

              cmo.createProperty(property)

              cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCDriverParams/'+dsName+'/Properties/'+dsName+'/Properties/'+property)

              cmo.setSysPropValue(value)

           

          print 'Connecting to AdminServer'

          connect(url=ADMINSERVER_URL, adminServerName='AdminServer')

          print 'Starting Edit Session'

          edit()

          startEdit()

          print 'Updating Jdbc DataSources'

          cd('/')

          for jdbcSystemResource in cmo.getJDBCSystemResources():

              dsName = jdbcSystemResource.getName()

              modifyDatasource(dsName)

          print 'End of updating Jdbc DataSources'

          print 'Saving and activating'

          save()

          activate()

           

          print 'Disconnecting from AdminServer'

          disconnect()

          exit()

          I copied and pasted the above from a script we use to update our FMW setup post install.

          With the above settings you can query the v$sessions and related views in the database to see what the origins of the sessions of all the datasources are.

          It's not a solution but it may give more insight.

           

          Also check which service create the largest number of instances. Are you initiating services from a (jms) queue for instance? Or a database polling job? You might want to throttle those.

           

          Regards,

          Martien