Re: Raw or Buffered device?
Posted in 2003
Topics: Performance & Tuning, Storage & Space Management, Server Administration, Migration, Import/Export & Data Conversion
"Art S. Kagel" <kagel@bloomberg.net> wrote in message news:<pan.2003.09.12.12.18.51.444282.10594@bloomberg.net>...
> On Fri, 12 Sep 2003 09:07:37 -0400, Robert A. Reissaus wrote:
> <SNIP>
> > I am a bit confused here. You start off by saying your root points to
> > /dev/dbroot but further on in the discussion you claim it points to a symbolic
> > link. I **GUESS** you mean to say that your onconfig points to a symbolic
> > link, but your simbolic link points to /dev/dbroot instead of /dev/rdbroot?
> >
> > In that case it *MIGHT* be a problem if you simply change to link from
> > /dev/dbroot to /dev/rdbroot. WHY? you ask? Well because data is stored
> > differently on /dev/dbroot (which is as Tsutomo Ogiware pointed out a block
> > device) than on /dev/dbroot (which a raw device). What is the difference?
> > Block devices use the OS file IO system and raw devices to not.
>
> NO THERE IS NO DIFFERENCE IN THE PHYSICAL STORAGE regardless of whether you
> read/write /dev/dbroot or /dev/rdbroot. The ONLY difference is that the latter
> does not go through the OS buffer cache and the former does. The data on disk
> is identical either way.
This of course is abslutely true. And i stand corrected for this dum
error on my part.
Robert A. Reissaus
IT IS PERFECTLY SAFE to just bring the engine down,
> remove the symbolic link to /dev/dbroot and replace it with an identically
> named symbolic link to /dev/rdbroot!
This how ever I do not agree with. Changing the symbolic link will
result in error :
Cannot open chunk '/opt/DBA/Informix/Links/730/risdi08/primary/root'.
errno = 19
oninit: Fatal error in shared memory initialization
because the (old) link itself is stored in the instances systam
tables. So it would not be sufficient to 'simply' change the link.
Robert A. Reissaus
>
> HOWEVER, there is no harm, and much peace of mind to be gained from taking a
> level 0 archive before going through this. Any DBA worth his salt would do so
> and since you are not hurting performance wise there is no harm in taking the
> time to do so.
>
> > So, in short. TO BE SURE: perform a full dbexport your instance. THEN (!)
> > shutdown your instance, change the link (and make sure onconfig point to it!)
> > and restart your instance. If it goes wrong you will have to recraate you
> > instance with the proper link in place and perform a dbimport. Make sure you
> > recreate you instance in accordance with your dbexport sql file!
>
> UNNECCESSARY!
I usually do a dbexport of a (smaller) instance because it is (imo)
sometimes easier to rebuild a instance in case anything goes wrong
than to do a restore specifically after having tried to do what is
attempted here. So I would find the *UNNECCESSARY!* a bit too strong
(especcially in caps).
Robert A. Reissaus
>
> Art S. Kagel
"Robert A. Reissaus" <r.a.reissaus@risdi.com> wrote in message
news:87ad5966.0309130528.585de707@posting.google.com...
> "Art S. Kagel" <kagel@bloomberg.net> wrote in message
news:<pan.2003.09.12.12.18.51.444282.10594@bloomberg.net>...
> IT IS PERFECTLY SAFE to just bring the engine down,
> > remove the symbolic link to /dev/dbroot and replace it with an
identically
> > named symbolic link to /dev/rdbroot!
>
> This how ever I do not agree with. Changing the symbolic link will
> result in error :
>
> Cannot open chunk '/opt/DBA/Informix/Links/730/risdi08/primary/root'.
> errno = 19
> oninit: Fatal error in shared memory initialization
>
> because the (old) link itself is stored in the instances systam
> tables. So it would not be sufficient to 'simply' change the link.
> Robert A. Reissaus
Nonsense!
[cutting]
> IT IS PERFECTLY SAFE to just bring the engine down,
> > remove the symbolic link to /dev/dbroot and replace it with an identically
> > named symbolic link to /dev/rdbroot!
>
> This how ever I do not agree with. Changing the symbolic link will
> result in error :
>
> Cannot open chunk '/opt/DBA/Informix/Links/730/risdi08/primary/root'.
> errno = 19
> oninit: Fatal error in shared memory initialization
>
> because the (old) link itself is stored in the instances systam
> tables. So it would not be sufficient to 'simply' change the link.
> Robert A. Reissaus
You can point the link to anywhere you want, the engine has no idea
where the link points to, only the link name
--
Paul Watson #
Oninit Ltd # Growing old is mandatory
Tel: +44 1436 672201 # Growing up is optional
Fax: +44 1436 678693 #
Mob: +44 7818 003457 #
www.oninit.com #