Re: Online: Bizarre disk interactions
Posted in 1997
Chris Jenkins wrote:
>
> Cosmo Lee wrote:
> >
> > 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.
>
> This will only work if when the chunks were added into online in the
> first
> place, the symbolic link was used as the pathname. You can see what
> chunk pathname(s) OnLine is using by running 'onstat -d'.
>
I'm not sure I understand what you are saying here - can you explain?
Here is a session with this particular setup.
Status: Online is UP.
oncheck -pe output:(edited to show "stores_blk" database in "rootdbs".)
DBspace Usage Report: rootdbs Owner: informix Created: 06/12/97
Chunk: 1 /dev/rdsk/c0b0t1d0s2 Size Used Free
50000 2639 47361
Disk usage for Chunk 1 Start Length
------------------------------------------- --------- ---------
stores_blk:informix.customer 2543 8
stores_blk:informix.orders 2551 8
stores_blk:informix.manufact 2559 8
stores_blk:informix.stock 2567 8
stores_blk:informix.items 2575 8
stores_blk:informix.state 2583 8
stores_blk:informix.call_type 2591 8
stores_blk:informix.cust_calls 2599 8
stores_blk:informix.log_record 2607 8
stores_blk:informix.catalog 2615 24
FREE 2639 47361
ls -l of slice in /dev/dsk (block): (no rw permissions)
b--------- 1 root root 34,1026 Jun 16 21:32 c0b0t1d0s2
ls -l of slice in /dev/rdsk (character): (no rw permissions)
c--------- 1 root root 34,1026 Jun 16 00:14 c0b0t1d0s2
I bring Online DOWN. Online is NOT running (no oninit processes).
date now:
Tue Jun 17 20:08:12 EDT 1997
echo $ONCONFIG:
exhibits.cfg
exhibits.cfg file: ROOTPATH points to symbolic link, not actual file.
ROOTNAME rootdbs # Root dbspace name
ROOTPATH /online_chunk1 # Path for device containing root dbspace
ls -l /online_chunk1:
(link indicated in config file points to *Block* device in /dev/dsk,
see above)
lrwxrwxrwx 1 root sys 19 Jun 16 00:28 /online_chunk1 ->
/dev/dsk/c0b0t1d0s2
Online bought up with Onmonitor:
Parameters-Initialize screen shows "rootdbs" path to be
"/online_chunk1",
which confirms entry in config file.
At this point I modify data in the stock table in the stores_blk
database.
Update stock set description = "AAAAAA";I then shut down Online to flush the data buffers to disk.
ls -l on the same devices as above:
b--------- 1 root root 34,1026 Jun 17 20:29
/dev/dsk/c0b0t1d0s2
c--------- 1 root root 34,1026 Jun 16 00:14
/dev/rdsk/c0b0t1d0s2
Note: The Block device, that which is pointed to by "/online_chunk1"
pointer
has a new time stamp, reflecting a write to the device, whereas the
Character
device retains the same time.
Again, `oncheck -pe` (top of page) says it is accessing
/dev/rdsk/c0b0t1d0s2,
but that is not what is actually happening.
run `onspaces -d`: responds "Can't write to server", Online crashes.
log entries:
20:44:32 Checkpoint Completed: duration was 0 seconds.
20:44:36 On-Line Mode
(onspaced -d is run)
20:45:08 Assert Failed: Internal Error - Segmentation Violation
20:45:08 Who: Session(9, informix@china5200, 8600, 4)
Thread(30, onspace, a01b768, 1)
20:45:08 Results: OnLine must abort
20:45:08 Action: Reinitialize shared memory
20:45:08 See Also: /usr/informix/tmp/af.aae6, shmem.aae6.0
20:45:11 rsdebug.c, line 3557, thread 30, proc id 8587, Segmentation
Violation.
20:45:11 PANIC: Attempting to bring system down
FYI:
There is nobody else on this system (it's at my desktop), and no other
databases running which could have updated the slices.
1:
Don't know what the deal with `onspaces -d` crashing Online is, but
I am able to do more than what I would expect that I should be able
to, given that there are NO rw permissions on the device (I can read
and update tables).
2:
Even though `oncheck -pe` reports that Online is writing to a raw
device,
/dev/rdsk/c0b0t1d0s2, it isn't *really* - not as reflected by the
timestamp
of the device above, anyway. Perhaps the raw device entry remains from
when
the server was first created and doesn't reflect changes made later
on???
--
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Blah Blah Lounge - "Do You Have Something Smart To Say?"
Cosmo Lee email: cosmo@echonyc.com Brooklyn, NY
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *