oncheck -pe ....... ?
Posted in 2011
User ran 'oncheck -pe' and found a mysterious object named 'tmp_psh_psd_idx1' listed as a table in chunk output, but couldn't locate it in systables, indexes, or dbschema output. An IBM developer explained it's likely a temporary table created by oncheck itself for sorting operations, which disappears after the command completes. Setting PSORT_DBTEMP environment variable could redirect spills to disk to verify this theory.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Storage & Space Management, Stored Procedures & SPL
Ok, here is something that I don't understand (lack of knowledge), so I need
to ask the gurus.
The following link says -
http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=%2Fcom.ibm
.admin.doc%2Fids_admin_0626.htm
The following information is displayed:
* The name, owner, and creation date of the dbspace
* The size in pages of the chunk, the number of pages used, and the number of
pages free
* A listing of all the *TABLES* in the chunk, with the initial page number and
the length of the table in pages
The *TABLES* within a chunk are listed sequentially. This output is useful for
determining chunk fragmentation. If the database server is unable to allocate
an extent in a chunk despite an adequate number of free pages, the chunk might
be badly fragmented.
When I run an oncheck -pe, one of the lines I get is:
Database:'owner".tmp_psh_psd_idx1 6613710 4
And this is where my problem starts. I cannot find this "object". The manual
says it should be a table, but it is not in systables. I also cannot find it
under fragmented tables.
The naming convention makes it look like and index, so I thought, ok, let me
also check the indexes - nothing.
So eventually I ran a full dbschema (dbschema -d databasename -ss > filename;
grep tmp_psh_psd_idx1 filename) ..... nothing.
What is this object ?
Dirk
NOTE: This e-mail message is subject to the MTN Group disclaimer see
http://www.mtn.co.za/SUPPORT/LEGAL/Pages/EmailDisclaimer.aspx
Hello.
I think it´s some temporary table created.
You could use this query to investigate the issue:
-------------------------------------------
database sysmaster;SELECT trim(n.dbsname),
trim(n.owner),
trim(n.tabname),
COUNT(*),
SUM(i.ti_nptotal) as pages,
SUM(i.ti_nrows) as rows
FROM systabnames n, systabinfo i
WHERE (BITVAL(i.ti_flags, "0x0020") = 1
OR BITVAL(i.ti_flags, "0x0040") = 1)
AND i.ti_partnum = n.partnum
group by 1,2,3
ORDER BY 5 DESC
-----------------------------------------
(just put your tabname column, or partnum value, and see if it´s shown ok?)
Regards.
Em 14/10/2011 05:24, Dirk Cornel.... escreveu:
> Ok, here is something that I don't understand (lack of knowledge), so I need
> to ask the gurus.
>
> The following link says -
>
>
>
http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=%2Fcom.ibm
.admin.doc%2Fids_admin_0626.htm
>
> The following information is displayed:
>
> * The name, owner, and creation date of the dbspace
> * The size in pages of the chunk, the number of pages used, and the number of
> pages free
> * A listing of all the *TABLES* in the chunk, with the initial page number
and
> the length of the table in pages
>
> The *TABLES* within a chunk are listed sequentially. This output is useful
for
> determining chunk fragmentation. If the database server is unable to allocate
> an extent in a chunk despite an adequate number of free pages, the chunk
might
> be badly fragmented.
>
> When I run an oncheck -pe, one of the lines I get is:
>
> Database:'owner".tmp_psh_psd_idx1 6613710 4
>
> And this is where my problem starts. I cannot find this "object". The manual
> says it should be a table, but it is not in systables. I also cannot find it
> under fragmented tables.
> The naming convention makes it look like and index, so I thought, ok, let me
> also check the indexes - nothing.
>
> So eventually I ran a full dbschema (dbschema -d databasename -ss> filename;
> grep tmp_psh_psd_idx1 filename) ..... nothing.
>
> What is this object ?
>
> Dirk
>
> NOTE: This e-mail message is subject to the MTN Group disclaimer see
> http://www.mtn.co.za/SUPPORT/LEGAL/Pages/EmailDisclaimer.aspx
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--
Alexandre Marini
Tecnologia da Informação - DBA
SEFAZ-MS / SGI-UGSR / Sistemas IBM-Informix
<Cert-Info-Mgmt_color.jpg>
IBM Certified System Administrator - Informix Dynamic Server V10 / V11 /
V11.70
IBM Information Management Informix Technical Professional v3
Hi,
the "oncheck -pe" command needs to do some sorting.
This can be the temporary table that you see in the
output of the command. Of course, after the "oncheck -pe"
has finished, that temporary table will disappear. That
should explain, why you can't find it afterwards.
I'm not sure, whether such a temp table is always
created for the sorting done by "oncheck -pe", or
whether it is done only under certain circumstances
(e.g. sort memory space a bit insufficient and things
spilling to disk).
To confirm my theory you could try to run the oncheck
command with PSORT_DBTEMP set to a file name
in your file system. That way any spilling should occur
into that file (rather than a temp table). At least that's
how it used to work ... :) If things are like this, then you
should no longer see this temp table object in the listing
of "oncheck -pe".
Of course it could well have been any other temp table
that just happened to exist at the time you ran the
"oncheck -pe". But in that case I would suspect, that
repeated executions of "oncheck -pe" will not show
this temp table - at least not every time (in case there's
an application running that every now and then creates
this thing).
Regards, Martin
--
Martin Fuerderer
IBM Informix Development Munich, Germany
Information Management
Read about the Informix Warehouse Accelerator:
http://tinyurl.com/the-iwa-blog
IBM Deutschland Research & Development GmbH
Chairman of the Supervisory Board: Martin Jetter
Board of Management: Dirk Wittkopp
Corporate Seat: Boeblingen, Germany
Reg.-Gericht: Amtsgericht Stuttgart, HRB 243294
ids-bounces@iiug.org wrote on 10/14/2011 03:50:33 PM:
>
> Hello.
> I think it´s some temporary table created.
> You could use this query to investigate the issue:
> -------------------------------------------
> database sysmaster;> SELECT trim(n.dbsname),
>
> trim(n.owner),
>
> trim(n.tabname),
>
> COUNT(*),
>
> SUM(i.ti_nptotal) as pages,
>
> SUM(i.ti_nrows) as rows
>
> FROM systabnames n, systabinfo i
> WHERE (BITVAL(i.ti_flags, "0x0020") = 1
>
> OR BITVAL(i.ti_flags, "0x0040") = 1)
>
> AND i.ti_partnum = n.partnum
> group by 1,2,3
> ORDER BY 5 DESC
> -----------------------------------------
> (just put your tabname column, or partnum value, and see if it´s shown
ok?)
>
> Regards.
>
> Em 14/10/2011 05:24, Dirk Cornel.... escreveu:
> > Ok, here is something that I don't understand (lack of knowledge), so
I need
> > to ask the gurus.
> >
> > The following link says -
> >
> >
> >
>
http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=%2Fcom.ibm
.admin.doc%2Fids_admin_0626.htm
> >
> > The following information is displayed:
> >
> > * The name, owner, and creation date of the dbspace
> > * The size in pages of the chunk, the number of pages used, and the
number
> of
> > pages free
> > * A listing of all the *TABLES* in the chunk, with the initial page
number
> and
> > the length of the table in pages
> >
> > The *TABLES* within a chunk are listed sequentially. This output is
useful
> for
> > determining chunk fragmentation. If the database server is unable to
> allocate
> > an extent in a chunk despite an adequate number of free pages, the
chunk
> might
> > be badly fragmented.
> >
> > When I run an oncheck -pe, one of the lines I get is:
> >
> > Database:'owner".tmp_psh_psd_idx1 6613710 4
> >
> > And this is where my problem starts. I cannot find this "object". The
manual
> > says it should be a table, but it is not in systables. I also cannot
find it
> > under fragmented tables.
> > The naming convention makes it look like and index, so I thought, ok,
let me
> > also check the indexes - nothing.
> >
> > So eventually I ran a full dbschema (dbschema -d databasename -ss>
filename;
> > grep tmp_psh_psd_idx1 filename) ..... nothing.
> >
> > What is this object ?
> >
> > Dirk
> >
> > NOTE: This e-mail message is subject to the MTN Group disclaimer see
> > http://www.mtn.co.za/SUPPORT/LEGAL/Pages/EmailDisclaimer.aspx
> >
> >
> >
>
*******************************************************************************
> > Forum Note: Use "Reply" to post a response in the discussion forum.
> >
> >
>
> --
>
> Alexandre Marini
>
> Tecnologia da Informação - DBA
>
> SEFAZ-MS / SGI-UGSR / Sistemas IBM-Informix
>
> <Cert-Info-Mgmt_color.jpg>
>
> IBM Certified System Administrator - Informix Dynamic Server V10 / V11 /
> V11.70
>
> IBM Information Management Informix Technical Professional v3
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
Not all objects in the oncheck -pe report are tables, some are indexes.
Also, even temp tables will appear in the report if they exist during the
oncheck run but temp tables will not show up in any schema. One place to
look for non-temp objects would be sysmaster:systabnames. All permanent
indexes and tables will appear there. Also, you can look up the starting
address of the extent listed in the oncheck report in the
sysmaster:sysextents table to find out what database it belongs to. If the
extent and object do not appear in these sysmaster tables then it is
probably a temp table of internal overhead object like the tablespace
tablespace and database tablespace (by the name it is not an internal
object).
Art
Art S. Kagel
Advanced DataTools (www.advancedatatools.com)
Blog: http://informix-myview.blogspot.com/
Disclaimer: Please keep in mind that my own opinions are my own opinions and
do not reflect on my employer, Advanced DataTools, the IIUG, nor any other
organization with which I am associated either explicitly, implicitly, or by
inference. Neither do those opinions reflect those of other individuals
affiliated with any entity with which I am affiliated nor those of the
entities themselves.
On Fri, Oct 14, 2011 at 5:24 AM, Dirk Cornel.... <moolma_dc@mtn.co.za>wrote:
> Ok, here is something that I don't understand (lack of knowledge), so I
> need
> to ask the gurus.
>
> The following link says -
>
>
>
>
http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=%2Fcom.ibm
.admin.doc%2Fids_admin_0626.htm
>
> The following information is displayed:
>
> * The name, owner, and creation date of the dbspace
> * The size in pages of the chunk, the number of pages used, and the number
> of
> pages free
> * A listing of all the *TABLES* in the chunk, with the initial page number
> and
> the length of the table in pages
>
> The *TABLES* within a chunk are listed sequentially. This output is useful
> for
> determining chunk fragmentation. If the database server is unable to
> allocate
> an extent in a chunk despite an adequate number of free pages, the chunk
> might
> be badly fragmented.
>
> When I run an oncheck -pe, one of the lines I get is:
>
> Database:'owner".tmp_psh_psd_idx1 6613710 4
>
> And this is where my problem starts. I cannot find this "object". The
> manual
> says it should be a table, but it is not in systables. I also cannot find
> it
> under fragmented tables.
> The naming convention makes it look like and index, so I thought, ok, let
> me
> also check the indexes - nothing.
>
> So eventually I ran a full dbschema (dbschema -d databasename -ss >
> filename;
> grep tmp_psh_psd_idx1 filename) ..... nothing.
>
> What is this object ?
>
> Dirk
>
> NOTE: This e-mail message is subject to the MTN Group disclaimer see
> http://www.mtn.co.za/SUPPORT/LEGAL/Pages/EmailDisclaimer.aspx
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--90e6ba6e83429686d804af61d9a9
Art, I found the object in sysmaster:systabnames -
partnum 70254661
dbsname ******
owner root
tabname tmp_psh_psd_idx1
collate en_US.819
I also found it in sysmaster:sysextents
select *
from sysmaster:sysextents
where offset = 6610482
dbsname ******
tabname tmp_psh_psd_idx1
chunk 68
offset 6610482
size 4
But I could not find it in a full dbschema (-ss) of the database.
> -----Original Message-----
> From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
> Art Kagel
> Sent: Sunday, 16 October 2011 05:12 AM
> To: ids@iiug.org
> Subject: Re: oncheck -pe ....... ? [25208]
>
> Not all objects in the oncheck -pe report are tables, some are indexes.
> Also, even temp tables will appear in the report if they exist during
> the
> oncheck run but temp tables will not show up in any schema. One place
> to
> look for non-temp objects would be sysmaster:systabnames. All permanent
> indexes and tables will appear there. Also, you can look up the
> starting
> address of the extent listed in the oncheck report in the
> sysmaster:sysextents table to find out what database it belongs to. If
> the
> extent and object do not appear in these sysmaster tables then it is
> probably a temp table of internal overhead object like the tablespace
> tablespace and database tablespace (by the name it is not an internal
> object).
>
> Art
>
> Art S. Kagel
> Advanced DataTools (www.advancedatatools.com)
> Blog: http://informix-myview.blogspot.com/
>
> Disclaimer: Please keep in mind that my own opinions are my own
> opinions and
> do not reflect on my employer, Advanced DataTools, the IIUG, nor any
> other
> organization with which I am associated either explicitly, implicitly,
> or by
> inference. Neither do those opinions reflect those of other individuals
> affiliated with any entity with which I am affiliated nor those of the
> entities themselves.
>
> On Fri, Oct 14, 2011 at 5:24 AM, Dirk Cornel....
> <moolma_dc@mtn.co.za>wrote:
>
> > Ok, here is something that I don't understand (lack of knowledge), so
> I
> > need
> > to ask the gurus.
> >
> > The following link says -
> >
> >
> >
> >
> http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=%
> 2Fcom.ibm.admin.doc%2Fids_admin_0626.htm
> >
> > The following information is displayed:
> >
> > * The name, owner, and creation date of the dbspace
> > * The size in pages of the chunk, the number of pages used, and the
> number
> > of
> > pages free
> > * A listing of all the *TABLES* in the chunk, with the initial page
> number
> > and
> > the length of the table in pages
> >
> > The *TABLES* within a chunk are listed sequentially. This output is
> useful
> > for
> > determining chunk fragmentation. If the database server is unable to
> > allocate
> > an extent in a chunk despite an adequate number of free pages, the
> chunk
> > might
> > be badly fragmented.
> >
> > When I run an oncheck -pe, one of the lines I get is:
> >
> > Database:'owner".tmp_psh_psd_idx1 6613710 4
> >
> > And this is where my problem starts. I cannot find this "object". The
> > manual
> > says it should be a table, but it is not in systables. I also cannot
> find
> > it
> > under fragmented tables.
> > The naming convention makes it look like and index, so I thought, ok,
> let
> > me
> > also check the indexes - nothing.
> >
> > So eventually I ran a full dbschema (dbschema -d databasename -ss >
> > filename;
> > grep tmp_psh_psd_idx1 filename) ..... nothing.
> >
> > What is this object ?
> >
> > Dirk
> >
> > NOTE: This e-mail message is subject to the MTN Group disclaimer see
> > http://www.mtn.co.za/SUPPORT/LEGAL/Pages/EmailDisclaimer.aspx
> >
> >
> >
> >
> ***********************************************************************
> ********
> > Forum Note: Use "Reply" to post a response in the discussion forum.
> >
> >
>
> --90e6ba6e83429686d804af61d9a9
>
>
> ***********************************************************************
> ********
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
NOTE: This e-mail message is subject to the MTN Group disclaimer see
http://www.mtn.co.za/SUPPORT/LEGAL/Pages/EmailDisclaimer.aspx
Thanks everyone - Alexandre, Martin and Art, for the answers.
> -----Original Message-----
> From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
> Art Kagel
> Sent: Sunday, 16 October 2011 05:12 AM
> To: ids@iiug.org
> Subject: Re: oncheck -pe ....... ? [25208]
>
> Not all objects in the oncheck -pe report are tables, some are indexes.
> Also, even temp tables will appear in the report if they exist during
> the
> oncheck run but temp tables will not show up in any schema. One place
> to
> look for non-temp objects would be sysmaster:systabnames. All permanent
> indexes and tables will appear there. Also, you can look up the
> starting
> address of the extent listed in the oncheck report in the
> sysmaster:sysextents table to find out what database it belongs to. If
> the
> extent and object do not appear in these sysmaster tables then it is
> probably a temp table of internal overhead object like the tablespace
> tablespace and database tablespace (by the name it is not an internal
> object).
>
> Art
>
> Art S. Kagel
> Advanced DataTools (www.advancedatatools.com)
> Blog: http://informix-myview.blogspot.com/
>
> Disclaimer: Please keep in mind that my own opinions are my own
> opinions and
> do not reflect on my employer, Advanced DataTools, the IIUG, nor any
> other
> organization with which I am associated either explicitly, implicitly,
> or by
> inference. Neither do those opinions reflect those of other individuals
> affiliated with any entity with which I am affiliated nor those of the
> entities themselves.
>
> On Fri, Oct 14, 2011 at 5:24 AM, Dirk Cornel....
> <moolma_dc@mtn.co.za>wrote:
>
> > Ok, here is something that I don't understand (lack of knowledge), so
> I
> > need
> > to ask the gurus.
> >
> > The following link says -
> >
> >
> >
> >
> http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=%
> 2Fcom.ibm.admin.doc%2Fids_admin_0626.htm
> >
> > The following information is displayed:
> >
> > * The name, owner, and creation date of the dbspace
> > * The size in pages of the chunk, the number of pages used, and the
> number
> > of
> > pages free
> > * A listing of all the *TABLES* in the chunk, with the initial page
> number
> > and
> > the length of the table in pages
> >
> > The *TABLES* within a chunk are listed sequentially. This output is
> useful
> > for
> > determining chunk fragmentation. If the database server is unable to
> > allocate
> > an extent in a chunk despite an adequate number of free pages, the
> chunk
> > might
> > be badly fragmented.
> >
> > When I run an oncheck -pe, one of the lines I get is:
> >
> > Database:'owner".tmp_psh_psd_idx1 6613710 4
> >
> > And this is where my problem starts. I cannot find this "object". The
> > manual
> > says it should be a table, but it is not in systables. I also cannot
> find
> > it
> > under fragmented tables.
> > The naming convention makes it look like and index, so I thought, ok,
> let
> > me
> > also check the indexes - nothing.
> >
> > So eventually I ran a full dbschema (dbschema -d databasename -ss >
> > filename;
> > grep tmp_psh_psd_idx1 filename) ..... nothing.
> >
> > What is this object ?
> >
> > Dirk
> >
> > NOTE: This e-mail message is subject to the MTN Group disclaimer see
> > http://www.mtn.co.za/SUPPORT/LEGAL/Pages/EmailDisclaimer.aspx
> >
> >
> >
> >
> ***********************************************************************
> ********
> > Forum Note: Use "Reply" to post a response in the discussion forum.
> >
> >
>
> --90e6ba6e83429686d804af61d9a9
>
>
> ***********************************************************************
> ********
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
NOTE: This e-mail message is subject to the MTN Group disclaimer see
http://www.mtn.co.za/SUPPORT/LEGAL/Pages/EmailDisclaimer.aspx