Case Sensitive DB & Oncheck
Posted in 2016
Dan couldn't run oncheck -pt against a mixed-case table name in a case-sensitive (DELIMIDENT) database on IDS 11.70 — oncheck lowercased the name and reported the tblspace not found, even with quoting. Fernando confirmed oncheck seems to ignore DELIMIDENT (it worked in 12.10.FC6) and suggested the SQL admin API: EXECUTE FUNCTION sysadmin:task('check partition', partnum), plus opening a PMR. Jacques added that oncheck accepts a partition number instead of a name (e.g. oncheck -pt 0x100001), though on fragmented tables that checks only one fragment, and that "number of keys = 0" for the data partition is normal with detached indexes (confirmed by John Miller). Dan opened a PMR; no fix is recorded in the thread.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Storage & Space Management
O/S Linux
Linux linux5925.icallinc.com 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41
EST 2013 x86_64 x86_64 x86_64 GNU/Linux
IDS 11.70.FC8GE
Hi Folks,
Can anyone tell me how to use oncheck against a table in a case sensitive DB
when there is a cap letting in the table name? I tried
[informix@linux5925.icallinc.com /opt/informix] oncheck -pt
ier_main_prod:"Registrant"
ERROR: TBLspace registrant not found in database ier_main_prod.
[informix@linux5925.icallinc.com /opt/informix] as well as other variations
but cannot get oncheck to resocnize the cap letter. Dbschema does okay with
this as well as sql uning the "tabname" syntax. DELIMIDENT is set to "Y".
thanx,
dan
Hello, Dan.
Please try using sysadmin API, through this link:
http://www.ibm.com/support/knowledgecenter/SSGU8G_11.70.0/com.ibm.adref.doc/ids_
sapi_068.htm?lang=en
Hope it works.
Regards.
Alexandre Marini
________________________________________
De: ids-bounces@iiug.org <ids-bounces@iiug.org> em nome de DAN MUELLER
<ddmueller@west.com>
Enviado: segunda-feira, 11 de abril de 2016 11:45
Para: ids@iiug.org
Assunto: Case Sensitive DB & Oncheck [36947]
O/S Linux
Linux linux5925.icallinc.com 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41
EST 2013 x86_64 x86_64 x86_64 GNU/Linux
IDS 11.70.FC8GE
Hi Folks,
Can anyone tell me how to use oncheck against a table in a case sensitive DB
when there is a cap letting in the table name? I tried
[informix@linux5925.icallinc.com /opt/informix] oncheck -pt
ier_main_prod:"Registrant"
ERROR: TBLspace registrant not found in database ier_main_prod.
[informix@linux5925.icallinc.com /opt/informix] as well as other variations
but cannot get oncheck to resocnize the cap letter. Dbschema does okay with
this as well as sql uning the "tabname" syntax. DELIMIDENT is set to "Y".
thanx,
dan
*******************************************************************************
Forum Note: Use "Reply" to post a response in the discussion forum.
For now:
Get the partnum of the table in question (from systables) and run:
EXECUTE FUNCTION sysadmin:task('check partition', partnum);
But this is more interesting.... If I find anything else, I'll get back
here... otherwise I'd recommend a PMR.
Regards.
On Mon, Apr 11, 2016 at 3:45 PM, DAN MUELLER <ddmueller@west.com> wrote:
> O/S Linux
> Linux linux5925.icallinc.com 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29
> 11:47:41
> EST 2013 x86_64 x86_64 x86_64 GNU/Linux
>
> IDS 11.70.FC8GE
>
> Hi Folks,
>
> Can anyone tell me how to use oncheck against a table in a case sensitive
> DB
> when there is a cap letting in the table name? I tried
>
> [informix@linux5925.icallinc.com /opt/informix] oncheck -pt
> ier_main_prod:"Registrant"
> ERROR: TBLspace registrant not found in database ier_main_prod.
> [informix@linux5925.icallinc.com /opt/informix] as well as other
> variations
> but cannot get oncheck to resocnize the cap letter. Dbschema does okay with
> this as well as sql uning the "tabname" syntax. DELIMIDENT is set to "Y".
>
> thanx,
> dan
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--
Fernando Nunes
Portugal
http://informix-technology.blogspot.com
My email works... but I don't check it frequently...
--001a1141bb98227b2f053036d775
I can't find a way to make it work directly with oncheck.
And apparently there was already a PMR that touched this (same database
name, but if it's a 3rd party solution this doesn't mean it was for your
company), but the conlusion of it seems a bit dubious.
I recommend you open a PMR. It seems oncheck is not sensitive to
DBDELIMIDENT and it should.
Note however that you command prompt will "eat" the double quotes. But I
tried enclosing the argument with single quotes without success...
Meanwhile the SQL admin API will show you what you need, but currently we
don't offer the same functionality that we have in oncheck.
Regards.
On Mon, Apr 11, 2016 at 4:03 PM, Fernando Nunes <domusonline@gmail.com>
wrote:
> For now:
>
> Get the partnum of the table in question (from systables) and run:
>
> EXECUTE FUNCTION sysadmin:task('check partition', partnum);>
> But this is more interesting.... If I find anything else, I'll get back
> here... otherwise I'd recommend a PMR.
>
> Regards.
>
> On Mon, Apr 11, 2016 at 3:45 PM, DAN MUELLER <ddmueller@west.com> wrote:
>
> > O/S Linux
> > Linux linux5925.icallinc.com 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29
> > 11:47:41
> > EST 2013 x86_64 x86_64 x86_64 GNU/Linux
> >
> > IDS 11.70.FC8GE
> >
> > Hi Folks,
> >
> > Can anyone tell me how to use oncheck against a table in a case sensitive
> > DB
> > when there is a cap letting in the table name? I tried
> >
> > [informix@linux5925.icallinc.com /opt/informix] oncheck -pt
> > ier_main_prod:"Registrant"
> > ERROR: TBLspace registrant not found in database ier_main_prod.
> > [informix@linux5925.icallinc.com /opt/informix] as well as other
> > variations
> > but cannot get oncheck to resocnize the cap letter. Dbschema does okay
> with
> > this as well as sql uning the "tabname" syntax. DELIMIDENT is set to "Y".
> >
> > thanx,
> > dan
> >
> >
> >
> >
>
>
*******************************************************************************
> > Forum Note: Use "Reply" to post a response in the discussion forum.
> >
> >
>
> --
> Fernando Nunes
> Portugal
>
> http://informix-technology.blogspot.com
> My email works... but I don't check it frequently...
>
> --001a1141bb98227b2f053036d775
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--
Fernando Nunes
Portugal
http://informix-technology.blogspot.com
My email works... but I don't check it frequently...
--047d7bdc07e2baed6105303714d3
I was able to use the sysadmin API to get some of the table data however I have 5 indexes on this table and number of keys is 0. I have opened a PMR to look into this. thanx, dan
Original post:
I was able to use the sysadmin API to get some of the table data however I
have 5 indexes on this table and number of keys is 0. I have opened a PMR to
look into this.
thanx,
dan
Response:
When you have detached indexes, then when you check the data partition of a
table, number of keys will be 0. That's expected. If you have 5 detached
indexes, then each index will have it's own partition page where number of
keys for that partition page will be 1.
Also in terms of trying to work around the caps issue, I think pretty much all
the oncheck's can be run if you give them a partition number instead of a
table name.
Example:
oncheck -pt 0x100001
However, on a fragmented table, that will probably not get the entire table
checked...just that particular fragment.
Jacques Renaut
IBM Informix Advanced Support
APD Team
The number of 0 for that partition page is correct if you have detached indexes which was the default starting in version 7. Each index will have its own partition. John F. Miller III STSM, Lead Architect miller3@us.ibm.com 503-747-1366 IBM Informix Dynamic Server (IDS) ids-bounces@iiug.org wrote on 04/11/2016 09:13:43 AM: > From: "DAN MUELLER" <ddmueller@west.com> > To: ids@iiug.org > Date: 04/11/2016 09:14 AM > Subject: Re: Case Sensitive DB & Oncheck [36951] > Sent by: ids-bounces@iiug.org > > I was able to use the sysadmin API to get some of the table data however I > have 5 indexes on this table and number of keys is 0. I have opened a PMR to > look into this. > > thanx, > dan > > > ***************************************************************************= **** > Forum Note: Use "Reply" to post a response in the discussion forum. >
Worked in 12.10.FC6. In that case "only" a documentation and "in command"
bug should result from the PMR.
Regards.
On Mon, Apr 11, 2016 at 5:22 PM, JACQUES RENAUT <jrenaut@us.ibm.com> wrote:
> Original post:
>
> I was able to use the sysadmin API to get some of the table data however I
> have 5 indexes on this table and number of keys is 0. I have opened a PMR
> to
> look into this.
>
> thanx,
> dan
>
> Response:
>
> When you have detached indexes, then when you check the data partition of a
> table, number of keys will be 0. That's expected. If you have 5 detached
> indexes, then each index will have it's own partition page where number of
> keys for that partition page will be 1.
>
> Also in terms of trying to work around the caps issue, I think pretty much
> all
> the oncheck's can be run if you give them a partition number instead of a
> table name.
>
> Example:
>
> oncheck -pt 0x100001>
> However, on a fragmented table, that will probably not get the entire table
> checked...just that particular fragment.
>
> Jacques Renaut
> IBM Informix Advanced Support
> APD Team
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--
Fernando Nunes
Portugal
http://informix-technology.blogspot.com
My email works... but I don't check it frequently...
--001a113ee8689a7e7e053038474b