Did you check a few more things?
1. OS and type of processors
o Found out that Linux works 25% faster than Itanium with the same
amount of ram amount of CPUs .
2. SAN versus local hard drive. Depending on the amount of data,
with a larger dataset SAN is far faster.
3. Amount of Oracle sessions, sometimes the oracle sessions just
hang due to a long process in Windchill
o This disappears in a restart of oracle
4. Amount of free space in the Oracle tablespaces. It is best
practice not to let the tablespaces automatically extent all the time.
You can leave it to auto extend, but always have thresholds for
freespace on a tablespace.
The charts you have is great with oracle CPU and timeline. You need or
have to overlay this with Windchill tomcat and methodservers java
processes on the same timeline down to the second/minute. Thus, you can
fine the bottlenecks if they are on the Windchill, Tomcat or Oracle. I
have to look into a good "silk test" scripts you can run to repeated
test with load. A good test is usually above 20 to 40 concurrent users
to warm up the system. The more the better to find the bottlenecks.
In the case of #3, it may not be oracle that is the culprit of the
performance. This may due to just Java heaps of tomcat and
methodservers. This may cause case 4 with large temp tablespaces.
FlexPDM and customized queries played the majority of these performance
issues.
Good Luck,