Wednesday, September 26, 2007

Onconfid.std Changes

Here are the changes I made to onconfig.std so that it matches our production server.

ROOTPATH /data/informix/chunk1 # Path for device containing root dbspace

*** I'll need to go create that directory structure next.

PHYSDBS physdbs # Location (dbspace) of physical log

*** Not sure if I need to do something else.


LOGFILES 10 # Number of logical log files
LOGSIZE 3000 # Logical log size (Kbytes)

DBCREATE_PERMISSION informix

DBSERVERNAME rhinformixrd1 # Name of default database server
DBSERVERALIASES rhinformixrd1tcp # List of alternate dbservernames

Created the following directories:
/data/informix/chunk1/
/data/informix/chunk2/
/data/informix/chunk3/
/data/informix/chunk4/
/data/informix/chunk5/
/data/informix/chunk6/
/data/informix/chunk7/

After committing these changes, I'm running 'onconfig -i' again to see what else erors.

And here it is! INFORMIXSERVER does not match DBSERVERNAME or any of the DBSERVERALIASES.
FAILED

# INFORMIXSERVER=rhinformixrd1
# export INFORMIXSERVER
# echo $INFORMIXSERVER
rhinformixrd1

One more try at oninit -i

oninit: DBSERVERNAME 'rhinformixrd1tcp' not in sqlhosts file or sqlhosts file contents
are damaged.

Added this to sqlhosts. What I did earlier was crap. This probably is too.
rhinformixrd1 onsoctcp 10.0.0.162 online
rhinformixrd1 onsoctcp 10.0.0.162 online

09:20:49 listener-thread: err = -931: oserr = 0: errstr = online: Cannot locate online service/tcp service in /etc/services.

Added this to /etc/services:
online 1536/tcp # Informix

Running oninit -i again.

Crap! This one looks serious.

09:27:40 listener-thread: err = -25572: oserr = 98: errstr = : Network driver cannot bind a name to the port.
System error = 98.

Ran 'finderr 25572'. Got this:

A system call has failed. The sqlexecd daemon or database server cannot
access the network port that is specified by the servicename in the
sqlhosts file. This situation might occur because the network port is
already in use by another sqlexecd, database server, or other
application. Use a different servicename on the command line (prior to
Version 6.0) or in the sqlhosts file (beginning with Version 6.0).
Contact your system administrator for assistance.


Ahh... I think this was caused by putting the same thing in sqlhosts twice.

Figured it out. This is what should be in /etc/profile:

INFORMIXSERVER=rhinformixrd1tcp
export INFORMIXSERVER


Somehow when I printed the production sqlhosts the first line was cut off. So I added this to sqlhosts:
rhinformixrd1 onipcshm 10.0.0.162 rhinformixrd1

Now when I run oninit -i, I crash on the chunks. I'll write about that in the next post.

No comments: