Informix Table Logging
Posted in 1999
Topics: Versions, Editions & End-of-Life
I need to turn off logging for a table to do a dataload, unbuffered logging produces a long transaction, I know I can create an unlogged table within a logged database using "with no log" but how do I do this with an existing table and how do I change it back again after the load. Changing the status of the database in not an option as this load is during an online day. Using IDS 7.3 uc7 thankyou Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't.
Unfortunately, what you request is not possible. As far as I know, table-level logging is not possible in Informix. John Carlson Informix DBA WHSmith USA A McCallum wrote: > > I need to turn off logging for a table to do a dataload, unbuffered > logging produces a long transaction, > > I know I can create an unlogged table within a logged database using > "with no log" but how do I do this with an existing table and how do I > change it back again after the load. > > Changing the status of the database in not an option as this load is > during an online day. > > Using IDS 7.3 uc7 > > thankyou > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't.
I assume that is 7.30UC7. If you had 7.31 you can modify the table to RAW and then modify it back but not in 7.30 that is a new feature in 7.31. Can you use the iploader to load the table in RAW MODE? That you CAN do. Art S. Kagel A McCallum wrote: > > I need to turn off logging for a table to do a dataload, unbuffered > logging produces a long transaction, > > I know I can create an unlogged table within a logged database using > "with no log" but how do I do this with an existing table and how do I > change it back again after the load. > > Changing the status of the database in not an option as this load is > during an online day. > > Using IDS 7.3 uc7 > > thankyou > > Sent via Deja.com http://www.deja.com/ > Share what you know. Learn what you don't.
You must use the ontape -s command -N for no logging -B for buffered
logging and -U for unbuffered logging. As with the earlier versions of
Online you must do a level 0 archive 1st.
Good luck
Ted
A McCallum wrote:
> I need to turn off logging for a table to do a dataload, unbuffered
> logging produces a long transaction,
>
> I know I can create an unlogged table within a logged database using
> "with no log" but how do I do this with an existing table and how do I
> change it back again after the load.
>
> Changing the status of the database in not an option as this load is
> during an online day.
>
> Using IDS 7.3 uc7
>
> thankyou
>
> Sent via Deja.com http://www.deja.com/
> Share what you know. Learn what you don't.
Ted,
You will find that you do not have to do an archive after turning off
logging; you only have to do this when turning it back on.
When you need to turn logging back on, on a LARGE instance, quite a few
people will run a fake archive (ontape using /dev/null as TAPEDEV, onbar
using onbar -F) to get it over with and get access restored to the database.
Once the instance is up and running, a level 0 archive will then be started.
In this manner, access to the database is not hampered.
This is, of course, under the conditions of doing your load WHILE nobody
else is needing access to your database. Running your applications under NO
LOG may cause them to not work properly, since begin work and commit work
syntax will fail.
All of the above is at the DATABASE level, something A McCallum stated he
did NOT want to do. Another way would be via HPL express, since it will not
do the locking you are probably afraid of. The only problem with this is
that you should force checkpoints (onmode -c) and roll forward the logical
logs (onmode -l) before and after the onpload job. I have not executed
onmode recently, but I seem to remember it requiring a level 0 archive to
release the table.
The most simpliest way would be to use dbload; in that manner, you can
choose to commit rows to the table at a row count you are comfortable with,
as to not run into the long transaction or any locking problems.
Take care.
Clifton Bean
ted_c <ted_c@ix.netcom.com> wrote in message
news:37A1A5F3.9C33A630@ix.netcom.com...
> You must use the ontape -s command -N for no logging -B for buffered
> logging and -U for unbuffered logging. As with the earlier versions of
> Online you must do a level 0 archive 1st.
>
> Good luck
> Ted
>
> A McCallum wrote:
>
> > I need to turn off logging for a table to do a dataload, unbuffered
> > logging produces a long transaction,
> >
> > I know I can create an unlogged table within a logged database using
> > "with no log" but how do I do this with an existing table and how do I
> > change it back again after the load.
> >
> > Changing the status of the database in not an option as this load is
> > during an online day.
> >
> > Using IDS 7.3 uc7
> >
> > thankyou
> >
> > Sent via Deja.com http://www.deja.com/
> > Share what you know. Learn what you don't.
>