Online: Bizarre disk interactions
Posted in 1997
I'm troubleshooting for a client whose person that configured Online is
long gone. I noticed that they configured their chunks to point to
Block-"/dev/dsk/*" devices rather than Character-"/dev/rdsk/*" devices.
An Informix tech suggessted that I *might* be able to simply redirect
the symbolic links that the chunks use from the Block to the Character
devices. I'm trying this out on a test system (Unixware 2.1.2, Online
7.10.UC2), so as not to look stupid blowing away a client's DB.
To test the effect of using Block devices, I took an existing Online
system and redirected the pointer of the rootdbs symbolic link from its
Character filename to the corresponding Block filename (/dev/rdsk -->
/dev/dsk). I started the Online server, and it seems to run fine. I'm
able to query & update the DB OK. (Though, I know I'm not guaranteed
that this switching of devices will work the opposite way around at my
client's.)
But when I run `oncheck -pe`, the output still shows the rootdbs to be
using the raw "/dev/rdsk/*" Character devices. To make sure that I was
doing the right thing, I made updates to data in the database tables.
Indeed, the filename for the Block device showed a updated timestamp
reflecting access to the device (I brought Online down to make sure data
got flushed from the buffers to disk).
Just to make sure, I changed the permissions on the previously
pointed-to Character devices (ones that should not be used any longer)
to have no read-write-execute permissions. I was still able to access
database files. So I figured that this proved I had Online accessing
the expected device files.
To test my assertion, I also changed the permissions to remove
read&write&execute from the Block devices (the ones now pointed to by
the symbolic links). I should *not* now be able to access the
database. But darn it if I could *Still* access the database! I even
changed the owner and group on the devices to "root" with *NO* Read,
Write or eXecute permissions. I was *Still* able to access the database
files!
What the heck gives with that???
1 - What is the effect of using Block rather than Character devices?
2 - Why does `oncheck -pe` still show that Online is using a character
device, when it is actually using a block device?
3 - How is it that Online can access data on devices user Informix does
not own, and which have NO read, write or execute permissions?
Any insights appreciated.
--
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Blah Blah Lounge - "Do You Have Something Smart To Say?"
Cosmo Lee email: cosmo@echonyc.com Brooklyn, NY
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *