+ Reply to Thread
Page 1 of 2 1 2 LastLast
Results 1 to 10 of 11

Sysprocbody is full - how to get more space???

  1. Sysprocbody is full - how to get more space???

    Hello all - I'm new to Informix and I can't find an answer to this simple
    question:

    I'm trying to add stored procedures and I'm getting this error:

    312: Cannot update system catalog (sysprocbody).
    131: ISAM error: no free disk space

    What I've read says I need to add more space, so I've run the following:

    onspaces -c -d test_poc_dat -p c:\IFMXDATA\test_poc\test_poc_dat.002 -s
    10240 -o 0

    and

    onspaces -c -d rootdbs_dat -p c:\IFMXDATA\test_poc\rootdbs_dat.002 -s 10240
    -o 0

    I'm still getting the error. Was I supposed to add the space to a different
    dbspace? I don't have any more (I don't think). Was I supposed to add a
    chunk instead or something? Do I have to add the dbspace to the oncfg file
    or something?

    Can one of you Informix gurus lend a hand, please?

    Thanks,

    Bret

  2. Re: Sysprocbody is full - how to get more space???

    On May 15, 7:17 pm, "Bret Schuhmacher"
    wrote:
    > Hello all - I'm new to Informix and I can't find an answer to this simple
    > question:
    >
    > I'm trying to add stored procedures and I'm getting this error:
    >
    > 312: Cannot update system catalog (sysprocbody).
    > 131: ISAM error: no free disk space


    So, you need to add more space to the dbspace in which you created the
    database where you're failing to a new procedure - most likely, that's
    the root dbspace (probably called rootdbs), but it isn't certain. You
    will also run into problems adding new data to the database unless the
    tables are located in a separate dbspace.

    > What I've read says I need to add more space, so I've run the following:
    >
    > onspaces -c -d test_poc_dat -p c:\IFMXDATA\test_poc\test_poc_dat.002 -s
    > 10240 -o 0
    >
    > and
    >
    > onspaces -c -d rootdbs_dat -p c:\IFMXDATA\test_poc\rootdbs_dat.002 -s 10240
    > -o 0


    Those create new dbspaces.

    > I'm still getting the error. Was I supposed to add the space to a different
    > dbspace? I don't have any more (I don't think). Was I supposed to add a
    > chunk instead or something? Do I have to add the dbspace to the oncfg file
    > or something?


    You need to add an extra chunk to the root dbspace. You also need to
    do an archive after adding the chunk - if the data in the system will
    matter. If it is a throwaway instance (are you sure?), you can
    archive to /dev/null (NUL: on Windows).

    Consider dropping the two new chunks since you probably don't need
    them any more.

    Then use 'onspaces -a' to add the chunk.


  3. Re: Sysprocbody is full - how to get more space???

    On May 15, 7:17 pm, "Bret Schuhmacher"
    wrote:
    > Hello all - I'm new to Informix and I can't find an answer to this simple
    > question:
    >
    > I'm trying to add stored procedures and I'm getting this error:
    >
    > 312: Cannot update system catalog (sysprocbody).
    > 131: ISAM error: no free disk space


    So, you need to add more space to the dbspace in which you created the
    database where you're failing to a new procedure - most likely, that's
    the root dbspace (probably called rootdbs), but it isn't certain. You
    will also run into problems adding new data to the database unless the
    tables are located in a separate dbspace.

    > What I've read says I need to add more space, so I've run the following:
    >
    > onspaces -c -d test_poc_dat -p c:\IFMXDATA\test_poc\test_poc_dat.002 -s
    > 10240 -o 0
    >
    > and
    >
    > onspaces -c -d rootdbs_dat -p c:\IFMXDATA\test_poc\rootdbs_dat.002 -s 10240
    > -o 0


    Those create new dbspaces.

    > I'm still getting the error. Was I supposed to add the space to a different
    > dbspace? I don't have any more (I don't think). Was I supposed to add a
    > chunk instead or something? Do I have to add the dbspace to the oncfg file
    > or something?


    You need to add an extra chunk to the root dbspace. You also need to
    do an archive after adding the chunk - if the data in the system will
    matter. If it is a throwaway instance (are you sure?), you can
    archive to /dev/null (NUL: on Windows).

    Consider dropping the two new chunks since you probably don't need
    them any more.

    Then use 'onspaces -a' to add the chunk.


  4. Re: Sysprocbody is full - how to get more space???

    Thanks very much, Jonathan! I think I've done what you recommended, but I'm
    still getting the same error. I did the following:

    onspaces -a rootdbs_dat -p c:\IFMXDATA\test_poc\rootdbs_dat.003 -s 10240 -o
    0
    onspaces -a test_poc_dat -p c:\IFMXDATA\test_poc\test_poc_dat.003 -s 10240
    -o 0

    onbar -b -L 0 -w

    That should've done a whole system level 0 archive, right?

    I restarted IDS (couldn't get in with dbaccess after all that)

    tried to add my storedproc in dbaccess, got the same error:
    312: Cannot update system catalog (sysprocbody).
    131: ISAM error: no free disk space


    I'm pretty sure the rootdbs is what I want to augment - I have the following
    in my oncfg.test_poc
    ROOTNAME rootdbs # Root dbspace name
    ROOTPATH C:\IFMXDATA\test_poc\rootdbs_dat.000 # Path for device containing
    root dbspace
    ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
    ROOTSIZE 64000 # Size of root dbspace (Kbytes)


    Thanks for your patience helping out a newbie :-).

    Rgds,

    Bret

  5. Re: Sysprocbody is full - how to get more space???

    Thanks very much, Jonathan! I think I've done what you recommended, but I'm
    still getting the same error. I did the following:

    onspaces -a rootdbs_dat -p c:\IFMXDATA\test_poc\rootdbs_dat.003 -s 10240 -o
    0
    onspaces -a test_poc_dat -p c:\IFMXDATA\test_poc\test_poc_dat.003 -s 10240
    -o 0

    onbar -b -L 0 -w

    That should've done a whole system level 0 archive, right?

    I restarted IDS (couldn't get in with dbaccess after all that)

    tried to add my storedproc in dbaccess, got the same error:
    312: Cannot update system catalog (sysprocbody).
    131: ISAM error: no free disk space


    I'm pretty sure the rootdbs is what I want to augment - I have the following
    in my oncfg.test_poc
    ROOTNAME rootdbs # Root dbspace name
    ROOTPATH C:\IFMXDATA\test_poc\rootdbs_dat.000 # Path for device containing
    root dbspace
    ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
    ROOTSIZE 64000 # Size of root dbspace (Kbytes)


    Thanks for your patience helping out a newbie :-).

    Rgds,

    Bret

  6. Re: Sysprocbody is full - how to get more space???

    Bret Schuhmacher wrote:
    > Thanks very much, Jonathan! I think I've done what you recommended, but I'm
    > still getting the same error. I did the following:


    Please post the following:

    onstat -d

    Output from the following select:

    dbaccess sysmaster - < select dbsname, tabname, st.partnum, hex(st.partnum), nextns,
    name as dbspace
    from systabnames st, sysptnhdr sp, sysdbspaces sd
    where st.partnum = sp.partnum
    and sd.dbsnum = (st.partnum / 1048576)
    and dbsname = 'your database name'
    and tabname = 'sysprocbody'
    ;
    EOF

    Art S. Kagel

    > onspaces -a rootdbs_dat -p c:\IFMXDATA\test_poc\rootdbs_dat.003 -s 10240 -o
    > 0
    > onspaces -a test_poc_dat -p c:\IFMXDATA\test_poc\test_poc_dat.003 -s 10240
    > -o 0
    >
    > onbar -b -L 0 -w
    >
    > That should've done a whole system level 0 archive, right?
    >
    > I restarted IDS (couldn't get in with dbaccess after all that)
    >
    > tried to add my storedproc in dbaccess, got the same error:
    > 312: Cannot update system catalog (sysprocbody).
    > 131: ISAM error: no free disk space
    >
    >
    > I'm pretty sure the rootdbs is what I want to augment - I have the following
    > in my oncfg.test_poc
    > ROOTNAME rootdbs # Root dbspace name
    > ROOTPATH C:\IFMXDATA\test_poc\rootdbs_dat.000 # Path for device containing
    > root dbspace
    > ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
    > ROOTSIZE 64000 # Size of root dbspace (Kbytes)
    >
    >
    > Thanks for your patience helping out a newbie :-).
    >
    > Rgds,
    >
    > Bret


  7. Re: Sysprocbody is full - how to get more space???

    Bret Schuhmacher wrote:
    > Thanks very much, Jonathan! I think I've done what you recommended, but I'm
    > still getting the same error. I did the following:


    Please post the following:

    onstat -d

    Output from the following select:

    dbaccess sysmaster - < select dbsname, tabname, st.partnum, hex(st.partnum), nextns,
    name as dbspace
    from systabnames st, sysptnhdr sp, sysdbspaces sd
    where st.partnum = sp.partnum
    and sd.dbsnum = (st.partnum / 1048576)
    and dbsname = 'your database name'
    and tabname = 'sysprocbody'
    ;
    EOF

    Art S. Kagel

    > onspaces -a rootdbs_dat -p c:\IFMXDATA\test_poc\rootdbs_dat.003 -s 10240 -o
    > 0
    > onspaces -a test_poc_dat -p c:\IFMXDATA\test_poc\test_poc_dat.003 -s 10240
    > -o 0
    >
    > onbar -b -L 0 -w
    >
    > That should've done a whole system level 0 archive, right?
    >
    > I restarted IDS (couldn't get in with dbaccess after all that)
    >
    > tried to add my storedproc in dbaccess, got the same error:
    > 312: Cannot update system catalog (sysprocbody).
    > 131: ISAM error: no free disk space
    >
    >
    > I'm pretty sure the rootdbs is what I want to augment - I have the following
    > in my oncfg.test_poc
    > ROOTNAME rootdbs # Root dbspace name
    > ROOTPATH C:\IFMXDATA\test_poc\rootdbs_dat.000 # Path for device containing
    > root dbspace
    > ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
    > ROOTSIZE 64000 # Size of root dbspace (Kbytes)
    >
    >
    > Thanks for your patience helping out a newbie :-).
    >
    > Rgds,
    >
    > Bret


  8. Re: Sysprocbody is full - how to get more space???

    Here's onstat -d output:

    IBM Informix Dynamic Server Version 10.00.TC6TL -- On-Line -- Up 00:57:17
    -- 21568 Kbytes

    Dbspaces
    address number flags fchunk nchunks pgsize flags owner
    name
    0C6297E8 1 0x60002 1 2 4096 M B informix
    rootdbs
    0C71C8B0 2 0x60002 2 1 4096 M B informix
    wegmans_poc
    0C71CA10 3 0x68002 3 1 4096 M SB informix
    sbspace
    0C71CB70 4 0x60005 4 1 4096 ND B informix
    rootdbs2
    0C71CCD0 5 0x60001 6 2 4096 N B informix
    wegmans_poc_dat
    0C71CE30 6 0x60001 7 2 4096 N B informix
    rootdbs_dat
    6 active, 2047 maximum

    Chunks
    address chunk/dbs offset size free bpages flags
    pathname
    0C629948 1 1 0 12800 6594 PO-B
    C:\IFMXDATA\wegmans_poc\rootdbs_dat.000
    0C629AC8 1 1 0 12800 0 MD-B
    E:\IFMXDATA\wegmans_poc\rootdbs_mirr.000
    0C72D6A0 2 2 0 12800 3 PO-B
    C:\IFMXDATA\wegmans_poc\wegmans_poc_dat.000
    0C71C430 2 2 0 12800 0 MD-B
    E:\IFMXDATA\wegmans_poc\wegmans_poc_mirr.000
    0C72D820 3 3 0 12800 11873 11879 POSB
    C:\IFMXDATA\wegmans_poc\sbspace_dat.000
    Metadata 868 554 868
    0C71C5B0 3 3 0 12800 0 MDSB
    E:\IFMXDATA\wegmans_poc\sbspace_mirr.000
    0C72D9A0 4 4 0 12500 0 PD-B
    \\.\C:\ifmxdata\wegmans_poc\rootdbs_dat.002
    0C72DB20 5 1 0 12500 12497 PO-B
    \\.\C:\IFMXDATA\wegmans_poc\wegmans_poc_dat.001
    0C71C730 5 1 0 12500 0 MO-B \\.\C:
    0C72DCA0 6 5 0 2560 2507 PO-B
    c:\IFMXDATA\wegmans_poc\wegmans_poc_dat.002
    0C72DE20 7 6 0 2560 2507 PO-B
    c:\IFMXDATA\wegmans_poc\rootdbs_dat.002
    0C629C90 8 6 0 2560 2557 PO-B
    c:\IFMXDATA\wegmans_poc\rootdbs_dat.003
    0C629E10 9 5 0 2560 2557 PO-B
    c:\IFMXDATA\wegmans_poc\wegmans_poc_dat.003
    9 active, 32766 maximum

    NOTE: The values in the "size" and "free" columns for DBspace chunks are
    displayed in terms of "pgsize" of the DBspace to which they belong.

    Expanded chunk capacity mode: always




    I had trouble with the query, so I pared it down to retrieve more results
    (i.e. removed the where clause)
    select dbsname, tabname, st.partnum, hex(st.partnum), nextns,
    name as dbspace
    from systabnames st, sysptnhdr sp, sysdbspaces sd
    where st.partnum = sp.partnum
    and sd.dbsnum = (st.partnum / 1048576)

    Here's the query output:
    no rows



    At this point I'm feeling pretty hosed. I don't need *ANYTHING* in my
    instance. What's the easiest way to remove EVERYTHING and add a new dbspace
    to get going again? Can I use the onspaces -d to remove each dbspace, then
    create a dbspace and start over? I'm sure there are many system stored
    procedures that I don't want to get rid of... would it be easier to
    completely remove Informix, delete IFMXDATA and reinstall? This is a test
    instance I set up to try something and it's taking way too long :-(.

    Thanks for your assistance!

  9. Re: Sysprocbody is full - how to get more space???

    Here's onstat -d output:

    IBM Informix Dynamic Server Version 10.00.TC6TL -- On-Line -- Up 00:57:17
    -- 21568 Kbytes

    Dbspaces
    address number flags fchunk nchunks pgsize flags owner
    name
    0C6297E8 1 0x60002 1 2 4096 M B informix
    rootdbs
    0C71C8B0 2 0x60002 2 1 4096 M B informix
    wegmans_poc
    0C71CA10 3 0x68002 3 1 4096 M SB informix
    sbspace
    0C71CB70 4 0x60005 4 1 4096 ND B informix
    rootdbs2
    0C71CCD0 5 0x60001 6 2 4096 N B informix
    wegmans_poc_dat
    0C71CE30 6 0x60001 7 2 4096 N B informix
    rootdbs_dat
    6 active, 2047 maximum

    Chunks
    address chunk/dbs offset size free bpages flags
    pathname
    0C629948 1 1 0 12800 6594 PO-B
    C:\IFMXDATA\wegmans_poc\rootdbs_dat.000
    0C629AC8 1 1 0 12800 0 MD-B
    E:\IFMXDATA\wegmans_poc\rootdbs_mirr.000
    0C72D6A0 2 2 0 12800 3 PO-B
    C:\IFMXDATA\wegmans_poc\wegmans_poc_dat.000
    0C71C430 2 2 0 12800 0 MD-B
    E:\IFMXDATA\wegmans_poc\wegmans_poc_mirr.000
    0C72D820 3 3 0 12800 11873 11879 POSB
    C:\IFMXDATA\wegmans_poc\sbspace_dat.000
    Metadata 868 554 868
    0C71C5B0 3 3 0 12800 0 MDSB
    E:\IFMXDATA\wegmans_poc\sbspace_mirr.000
    0C72D9A0 4 4 0 12500 0 PD-B
    \\.\C:\ifmxdata\wegmans_poc\rootdbs_dat.002
    0C72DB20 5 1 0 12500 12497 PO-B
    \\.\C:\IFMXDATA\wegmans_poc\wegmans_poc_dat.001
    0C71C730 5 1 0 12500 0 MO-B \\.\C:
    0C72DCA0 6 5 0 2560 2507 PO-B
    c:\IFMXDATA\wegmans_poc\wegmans_poc_dat.002
    0C72DE20 7 6 0 2560 2507 PO-B
    c:\IFMXDATA\wegmans_poc\rootdbs_dat.002
    0C629C90 8 6 0 2560 2557 PO-B
    c:\IFMXDATA\wegmans_poc\rootdbs_dat.003
    0C629E10 9 5 0 2560 2557 PO-B
    c:\IFMXDATA\wegmans_poc\wegmans_poc_dat.003
    9 active, 32766 maximum

    NOTE: The values in the "size" and "free" columns for DBspace chunks are
    displayed in terms of "pgsize" of the DBspace to which they belong.

    Expanded chunk capacity mode: always




    I had trouble with the query, so I pared it down to retrieve more results
    (i.e. removed the where clause)
    select dbsname, tabname, st.partnum, hex(st.partnum), nextns,
    name as dbspace
    from systabnames st, sysptnhdr sp, sysdbspaces sd
    where st.partnum = sp.partnum
    and sd.dbsnum = (st.partnum / 1048576)

    Here's the query output:
    no rows



    At this point I'm feeling pretty hosed. I don't need *ANYTHING* in my
    instance. What's the easiest way to remove EVERYTHING and add a new dbspace
    to get going again? Can I use the onspaces -d to remove each dbspace, then
    create a dbspace and start over? I'm sure there are many system stored
    procedures that I don't want to get rid of... would it be easier to
    completely remove Informix, delete IFMXDATA and reinstall? This is a test
    instance I set up to try something and it's taking way too long :-(.

    Thanks for your assistance!

  10. Re: Sysprocbody is full - how to get more space???

    On Wed, 16 May 2007 14:56:24 GMT, "Bret Schuhmacher"
    wrote:

    >Here's onstat -d output:
    >
    >IBM Informix Dynamic Server Version 10.00.TC6TL -- On-Line -- Up 00:57:17
    >-- 21568 Kbytes

    .... onstat -d output clipped . ..

    >
    >I had trouble with the query, so I pared it down to retrieve more results
    >(i.e. removed the where clause)
    >select dbsname, tabname, st.partnum, hex(st.partnum), nextns,
    > name as dbspace
    >from systabnames st, sysptnhdr sp, sysdbspaces sd
    >where st.partnum = sp.partnum
    > and sd.dbsnum = (st.partnum / 1048576)
    >
    >Here's the query output:
    >no rows
    >


    That seems a bit odd.

    >
    >
    >At this point I'm feeling pretty hosed. I don't need *ANYTHING* in my
    >instance. What's the easiest way to remove EVERYTHING and add a new dbspace
    >to get going again? Can I use the onspaces -d to remove each dbspace, then
    >create a dbspace and start over? I'm sure there are many system stored
    >procedures that I don't want to get rid of... would it be easier to
    >completely remove Informix, delete IFMXDATA and reinstall? This is a test
    >instance I set up to try something and it's taking way too long :-(.
    >
    >Thanks for your assistance!


    Here's a quick primer . . .

    When a database is created, the dbspace it's created in will contain
    various system tables. Apparently, the dbspace that contains these
    tables is full. Since the dbspace that holds the database isn't
    clear, please answer the following questions.

    1. What is the database name?

    2. One way to determine the dbspace is to go into onmonitor (not sure
    if it's still there in the Windows stack). Choose (S) for status and
    (D) for databases ( I think, as I don't have access to an informix
    instance at this time.). The database that contains the stored
    procedures should show up, and with it, the dbspace that the database
    is located in.

    3. Depending on the Informix release level, you could also do:
    Go into 'dbaccess' using the database name --
    dbaccess your_database_name_here

    Use the following select
    select dbinfo("dbspace", partnum)
    from systables
    where tabname = "sysprocbody"

    4. Another way to find the dbspace could also be
    dbaccess sysmaster

    select tabname, dbinfo("dbspace", partnum)
    from systabnames
    where dbsname = "(your db name here)"
    and tabname = "sysprocbody"

    JWC

+ Reply to Thread
Page 1 of 2 1 2 LastLast