View Single Post

   
  #2 (permalink)  
Old 04-19-2008, 07:22 PM
Art S. Kagel
 
Posts: n/a
Default Re: Informix database creation

On Wed, 06 Aug 2003 15:56:58 -0400, Seweryn wrote:

> Hi all,
>
> I'm new to Informix db (as you can probably deduct from my post). I'm
> trying to add multiple dbspaces on one raw partition on Solaris 8 Here
> is the what I currently have:
>
> $ onstat -d
> Informix Dynamic Server Version 7.31.FD6 -- On-Line -- Up 6 days
> 00:23:01 -- 41984 Kbytes
> Dbspaces
> address number flags fchunk nchunks flags owner name
> b07a1c0 1 1 1 1 N informix rootdbs
> 1 active, 2047 maximum
> Chunks
> address chk/dbs offset size free bpages flags
> pathname b07a2a8 1 1 500 600000 18903 PO-
> /dev/rdsk/c0t1d0s7
> 1 active, 2047 maximum
>
> Here is what I'm trying to do and its result:
>
> When I try to create additional dbspace on that partition
> (/dev/rdsk/c0t1d0s7 is a raw partition), I type:
> $ onspaces -c -d mydbs -p /dev/rdsk/c0t1d0s7 -o 600500 -s 2000000
> Chunk size + offset (2600500k) greater than 2097151k limit.
>
> So I lower the size of the chunk
> $ onspaces -c -d mydbs -p /dev/rdsk/c0t1d0s7 -o 600500 -s 1400000 The
> chunk specified already exists.
>
> Is there anything else that I'm missing? What is the command/procedure


Yes. The size indicated by onstat -d is in pages NOT KB while the size
you have to use for onspaces is in KB not pages and the pagesize on
Solaris is 2K so you have to double the numbers shown. The commandline you
would need would be:

onspaces -c -d mydbs -p /dev/rdsk/c0t1d0s7 -o 1201000 -s 1400000

HOWEVER, this would put you past the 2GB limit on chunk size + offset in
IDS7.31. You will have to repartition the disk into 8 2GB partitions
and on 1GB partition or some combination of 2GB chunks and others.
Solaris will not permit the creation of more than 7 partitions so you
will have to get/use a Volume Manager (Veritas VM, Sun DiskSuite, etc.)
to do the partitioning or you'll only get 6 2GB chunks and one 5GB one
that IDS cannot use fully wasting 3GB.

Also, VERY IMPORTANT, so not EVER use the physical device names for chunk
paths. Create a directory somewhere and place symbolic links to the
actual partition devices there and use those links. That way if you ever
have to more the chunk to another device you just have to shutdown the
engine, copy the data with dd, redirect the link to the new device, and
restart the engine. If you use physical device names to onspaces you
will have to unload all of your data to tape or files (and not using
ontape or onbar either), build a whole new instance with the new devices,
recreate your database(s) and reload the data. Links are better.

> to add dbspace and/or chunk to raw partition that has already one
> dbspace and one chunk defined? FYI: /dev/rdsk/c0t1d0s7 is a 17GB raw
> partition.
>
> Any suggestions greatly appreciated.
>

Art S. Kagel
Reply With Quote