Re: newbie with problems restoring db
Posted in 2004
A newcomer moved a database from IDS 9.21 on Solaris to IDS 9.4 on Windows XP using dbexport/dbimport. dbimport first failed with error 202 (illegal character) on a MONEY column's "default $0.00" clause; changing the default to 0.00 (without the currency symbol) got past it. The load then failed with error 271/ISAM 131 "no free disk space" because everything was going into a 50 MB rootdbs. Posters explained that editing ROOTSIZE in onconfig doesn't resize it — you add a chunk with onspaces (or better, create a separate dbspace). The poster reinstalled and enlarged rootdbs, after which dbimport completed successfully.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Storage & Space Management, Error Codes & Troubleshooting, Security, Permissions & Auditing, Data Types & Schema Design, Migration, Import/Export & Data Conversion, Platform-Specific Issues, Versions, Editions & End-of-Life
"Obnoxio The Clown" <obnoxio@hotmail.com> wrote in message
news:bvst48$101pgm$3@ID-64669.news.uni-berlin.de...
> Daniel wrote:
>
> > Hi all.
> >
> > I have one machine running IDS 9.21 (?) on Solaris (7?). My objective
was
> > to do take one of the databases and all its data and put it on another
> > machine running IDS 9.4 on Windows XP.
> >
> > I was seemingly able to grab the data by using dbexport. I got a
directory
> > with a *.sql file and a whole bunch of *.unl files. I then moved this to
> > my Windows machine and tried to use dbimport to recreate the db and its
> > information. The process runs for a while, and then stops with an error:
> > "202 - An illegal character has been found in the statement."
> >
> > This is the command I ran in Windows:
> > C:\\Database\\informix_backup>\\database\\informix\\bin\\dbimport jfacts -c -i
> > c:\\database\\informix_backup
> >
> > What can I do to fix this?
> >
> > The output of the dbimport is as follows, from dbimport.out :
> >
> > Thanks!
>
> [SNIP]
>
> > { TABLE "informix".allotment row size = 100 number of columns = 11 index
> > size = 63
> > }
> > { unload file name = allot00719.unl number of rows = 124 }
> >
> > create table "informix".allotment
> > (
> > create_date datetime year to second
> > default current year to second not null ,
> > create_user_id integer not null ,
> > sub_boc char(2),
> > fy char(4) not null ,
> > description varchar(50),
> > amount money(16,2)
> > default $0.00 not null ,
> > allocation_date date not null ,
> > allotment_id serial not null ,
> > boc_code char(4) not null ,
> > fund_code char(6) not null ,
> > budget_organization_id integer not null ,
> > primary key (allotment_id) constraint "informix".allotment_id_pk
> > );
> > *** prepare sqlobj
> > 202 - An illegal character has been found in the statement.
>
> You may need to put quotes around the $0.00. I'd say it's a bug, just from
> the above.
>
Hello.
I tried "$0.00" and that did not work. However, "0.00" did work. The
dbimport program ran more this time, but did not complete itself. I got a
different error this time, complaining that I ran out of disk space. My HD
still has over 44 gigs of free space left.
[dbimport running...]
revoke all on "informix".module_code from "public";
{ TABLE "informix".notes row size = 2328 number of columns = 7 index size =
43 }
{ unload file name = notes00750.unl number of rows = 7062 }
create table "informix".notes
(
create_date datetime year to second
default current year to second not null ,
create_user_id integer not null ,
subject varchar(255),
notes "informix".lvarchar not null ,
notes_id serial not null ,
module_code char(1) not null ,
subject_id integer not null ,
primary key (notes_id) constraint "informix".notes_id_pk
);
*** put loadcur
271 - Could not insert new row into the table.
131 - ISAM error: no free disk space
Thanks again!
Daniel wrote:
> I tried "$0.00" and that did not work. However, "0.00" did work. The
> dbimport program ran more this time, but did not complete itself. I got a
> different error this time, complaining that I ran out of disk space. My HD
> still has over 44 gigs of free space left.
>
> [dbimport running...]
> revoke all on "informix".module_code from "public";>
> { TABLE "informix".notes row size = 2328 number of columns = 7 index size
> { =
> 43 }
> { unload file name = notes00750.unl number of rows = 7062 }
>
> create table "informix".notes
> (
> create_date datetime year to second
> default current year to second not null ,
> create_user_id integer not null ,
> subject varchar(255),
> notes "informix".lvarchar not null ,
> notes_id serial not null ,
> module_code char(1) not null ,
> subject_id integer not null ,
> primary key (notes_id) constraint "informix".notes_id_pk
> );
> *** put loadcur
> 271 - Could not insert new row into the table.
>
> 131 - ISAM error: no free disk space
Are you sure you're inserting where you think you're inserting...? (Fnaar!)
--
"C'est pas parce qu'on n'a rien ' dire qu'il faut fermer sa gueule"
- Coluche
"Obnoxio The Clown" <obnoxio@hotmail.com> wrote in message
news:bvttvi$10m2t3$2@ID-64669.news.uni-berlin.de...
> Daniel wrote:
>
> > I tried "$0.00" and that did not work. However, "0.00" did work. The
> > dbimport program ran more this time, but did not complete itself. I got
a
> > different error this time, complaining that I ran out of disk space. My
HD
> > still has over 44 gigs of free space left.
> >
> > [dbimport running...]
> > revoke all on "informix".module_code from "public";> >
> > { TABLE "informix".notes row size = 2328 number of columns = 7 index
size
> > { =
> > 43 }
> > { unload file name = notes00750.unl number of rows = 7062 }
> >
> > create table "informix".notes
> > (
> > create_date datetime year to second
> > default current year to second not null ,
> > create_user_id integer not null ,
> > subject varchar(255),
> > notes "informix".lvarchar not null ,
> > notes_id serial not null ,
> > module_code char(1) not null ,
> > subject_id integer not null ,
> > primary key (notes_id) constraint "informix".notes_id_pk
> > );
> > *** put loadcur
> > 271 - Could not insert new row into the table.
> >
> > 131 - ISAM error: no free disk space
>
> Are you sure you're inserting where you think you're inserting...?
(Fnaar!)
>
I am inserting into rootdbs.
I think that is the problem, as rootdbs is only 50 megs and my new db takes
more space than thtat. I have tried to increase the rootdbs size by changing
the ROOTSIZE variable in etc\\onconfig.std and etc\\onconfig.mymachinename
files, restarted the server (and rebooted the machine). However, I still see
the file as being 50 megs, and I stillg get the same error of no free disk
space.
Perhaps it's best not to but my new db into rootdbs, but for now, I would
just be happy to get this thing working (dbimport). Is the above the right
procedure to change the rootdbs size?
> --
> "C'est pas parce qu'on n'a rien ' dire qu'il faut fermer sa gueule"
> - Coluche
Daniel
No disrespect to you, but you're so lacking in even the basics that it's
unfair that you should be landed with this task. Would your organisation
have given an important accounting task to someone without the necessary
training and experience? I thought not.
Anyway, to answer your question the correct way to increase the size of the
rootdbs is to use tbspace or onspaces (lost track of which version of the
engine you are on) to add a new chunk to it.
regards
Neil
"Daniel" <dhw377@nothing.no.spam.com> wrote in message
news:1qwUb.20466$CJ1.18292@lakeread01...
>
> "Obnoxio The Clown" <obnoxio@hotmail.com> wrote in message
> news:bvttvi$10m2t3$2@ID-64669.news.uni-berlin.de...
> > Daniel wrote:
> >
> > > I tried "$0.00" and that did not work. However, "0.00" did work. The
> > > dbimport program ran more this time, but did not complete itself. I
got
> a
> > > different error this time, complaining that I ran out of disk space.
My
> HD
> > > still has over 44 gigs of free space left.
> > >
> > > [dbimport running...]
> > > revoke all on "informix".module_code from "public";> > >
> > > { TABLE "informix".notes row size = 2328 number of columns = 7 index
> size
> > > { =
> > > 43 }
> > > { unload file name = notes00750.unl number of rows = 7062 }
> > >
> > > create table "informix".notes
> > > (
> > > create_date datetime year to second
> > > default current year to second not null ,
> > > create_user_id integer not null ,
> > > subject varchar(255),
> > > notes "informix".lvarchar not null ,
> > > notes_id serial not null ,
> > > module_code char(1) not null ,
> > > subject_id integer not null ,
> > > primary key (notes_id) constraint "informix".notes_id_pk
> > > );
> > > *** put loadcur
> > > 271 - Could not insert new row into the table.
> > >
> > > 131 - ISAM error: no free disk space
> >
> > Are you sure you're inserting where you think you're inserting...?
> (Fnaar!)
> >
>
> I am inserting into rootdbs.
>
> I think that is the problem, as rootdbs is only 50 megs and my new db
takes
> more space than thtat. I have tried to increase the rootdbs size by
changing
> the ROOTSIZE variable in etc\\onconfig.std and etc\\onconfig.mymachinename
> files, restarted the server (and rebooted the machine). However, I still
see
> the file as being 50 megs, and I stillg get the same error of no free disk
> space.
>
> Perhaps it's best not to but my new db into rootdbs, but for now, I would
> just be happy to get this thing working (dbimport). Is the above the right
> procedure to change the rootdbs size?
>
>
>
> > --
> > "C'est pas parce qu'on n'a rien ' dire qu'il faut fermer sa gueule"
> > - Coluche
>
>
Daniel wrote:
>
> "Obnoxio The Clown" <obnoxio@hotmail.com> wrote in message
> news:bvttvi$10m2t3$2@ID-64669.news.uni-berlin.de...
>> Daniel wrote:
>>
>> > I tried "$0.00" and that did not work. However, "0.00" did work. The
>> > dbimport program ran more this time, but did not complete itself. I got
> a
>> > different error this time, complaining that I ran out of disk space. My
> HD
>> > still has over 44 gigs of free space left.
>> >
>> > [dbimport running...]
>> > revoke all on "informix".module_code from "public";>> >
>> > { TABLE "informix".notes row size = 2328 number of columns = 7 index
> size
>> > { =
>> > 43 }
>> > { unload file name = notes00750.unl number of rows = 7062 }
>> >
>> > create table "informix".notes
>> > (
>> > create_date datetime year to second
>> > default current year to second not null ,
>> > create_user_id integer not null ,
>> > subject varchar(255),
>> > notes "informix".lvarchar not null ,
>> > notes_id serial not null ,
>> > module_code char(1) not null ,
>> > subject_id integer not null ,
>> > primary key (notes_id) constraint "informix".notes_id_pk
>> > );
>> > *** put loadcur
>> > 271 - Could not insert new row into the table.
>> >
>> > 131 - ISAM error: no free disk space
>>
>> Are you sure you're inserting where you think you're inserting...?
> (Fnaar!)
>>
>
> I am inserting into rootdbs.
>
> I think that is the problem, as rootdbs is only 50 megs and my new db
> takes more space than thtat. I have tried to increase the rootdbs size by
> changing the ROOTSIZE variable in etc\\onconfig.std and
> etc\\onconfig.mymachinename files, restarted the server (and rebooted the
> machine). However, I still see the file as being 50 megs, and I stillg get
> the same error of no free disk space.
>
> Perhaps it's best not to but my new db into rootdbs, but for now, I would
> just be happy to get this thing working (dbimport). Is the above the right
> procedure to change the rootdbs size?
No, it isn't. You should really use onspaces to add more dbspaces.
--
"C'est pas parce qu'on n'a rien ' dire qu'il faut fermer sa gueule"
- Coluche
Yeah, that's why I said I was a newbie in the subject line. :)
I do have experience with databases (SQL Server 2000), just not with
Informix.
Anyway, I got it to work by reinstalling the software and by increasing the
rootdbs size.
The dbimport loaded up fine now.
Thanks all!
"Neil Truby" <neil.truby@ardenta.com> wrote in message
news:bvu6pr$116re9$1@ID-162943.news.uni-berlin.de...
> Daniel
>
> No disrespect to you, but you're so lacking in even the basics that it's
> unfair that you should be landed with this task. Would your organisation
> have given an important accounting task to someone without the necessary
> training and experience? I thought not.
>
> Anyway, to answer your question the correct way to increase the size of
the
> rootdbs is to use tbspace or onspaces (lost track of which version of the
> engine you are on) to add a new chunk to it.
>
> regards
> Neil
>
>
> "Daniel" <dhw377@nothing.no.spam.com> wrote in message
> news:1qwUb.20466$CJ1.18292@lakeread01...
> >
> > "Obnoxio The Clown" <obnoxio@hotmail.com> wrote in message
> > news:bvttvi$10m2t3$2@ID-64669.news.uni-berlin.de...
> > > Daniel wrote:
> > >
> > > > I tried "$0.00" and that did not work. However, "0.00" did work. The
> > > > dbimport program ran more this time, but did not complete itself. I
> got
> > a
> > > > different error this time, complaining that I ran out of disk space.
> My
> > HD
> > > > still has over 44 gigs of free space left.
> > > >
> > > > [dbimport running...]
> > > > revoke all on "informix".module_code from "public";> > > >
> > > > { TABLE "informix".notes row size = 2328 number of columns = 7 index
> > size
> > > > { =
> > > > 43 }
> > > > { unload file name = notes00750.unl number of rows = 7062 }
> > > >
> > > > create table "informix".notes
> > > > (
> > > > create_date datetime year to second
> > > > default current year to second not null ,
> > > > create_user_id integer not null ,
> > > > subject varchar(255),
> > > > notes "informix".lvarchar not null ,
> > > > notes_id serial not null ,
> > > > module_code char(1) not null ,
> > > > subject_id integer not null ,
> > > > primary key (notes_id) constraint "informix".notes_id_pk
> > > > );
> > > > *** put loadcur
> > > > 271 - Could not insert new row into the table.
> > > >
> > > > 131 - ISAM error: no free disk space
> > >
> > > Are you sure you're inserting where you think you're inserting...?
> > (Fnaar!)
> > >
> >
> > I am inserting into rootdbs.
> >
> > I think that is the problem, as rootdbs is only 50 megs and my new db
> takes
> > more space than thtat. I have tried to increase the rootdbs size by
> changing
> > the ROOTSIZE variable in etc\\onconfig.std and etc\\onconfig.mymachinename
> > files, restarted the server (and rebooted the machine). However, I still
> see
> > the file as being 50 megs, and I stillg get the same error of no free
disk
> > space.
> >
> > Perhaps it's best not to but my new db into rootdbs, but for now, I
would
> > just be happy to get this thing working (dbimport). Is the above the
right
> > procedure to change the rootdbs size?
> >
> >
> >
> > > --
> > > "C'est pas parce qu'on n'a rien ' dire qu'il faut fermer sa gueule"
> > > - Coluche
> >
> >
>
>
Related threads
- Re: Looking for a risk overview
- Those crazy Germans ....
- Re: Oracle 10G
- Retreving Insert Statements for Logical Logs
- FW: IDS to DB2 conversion