PabloF@my-dejanews.com wrote:
>
> Hi All,
> Anyone out there knows why i can read sometimes the message
> "Changing data structure forced command termination."
> when i execute "onstat -g ses" ?
> I think there's a problem with a ODBC connection.
OK definitive answer. Remember that onstat references the shared
memory data structures and does not lock or latch them to prevent them
from changing. What this message is telling you is that the systems
normal activity has caused some linked data structure chain to become
relinked or unlinked out from under onstat. It can no longer follow
the chain that it was following to get where it was going. For an
onstat -g ses it usually means that some session was disconnectingwhile the onstat was running and getting its profile information from
the various tables was no longer possible since the records were
cleaned up by an admin thread partway through collecting data on the
session. This problem is normally only seen in a multi-processor
environment.
This is not a problem, or a bug, just a fact of life. In a dynamic
system you only have two choices, acquire a latch on the data
structures, in which case noone would be able to connect while onstat
is running, or cope as well as possible with dynamically changing data
structures without jumping into never-never land.
Solution? Just rerun the onstat command and hope it completes its task
before it gets lost again.
Art S. Kagel