Re: Multiple informix installations.
Posted in 2005
A novice admin inherited a running Informix box and couldn't work out the environment settings needed to connect to its servers. Advice: set INFORMIXDIR (/informix), INFORMIXSERVER (porto or arquivo, from sqlhosts), the matching ONCONFIG file (found via egrep of $INFORMIXDIR/etc), and PATH, then use onmonitor/dbaccess/onstat; also, don't edit oncfg_porto.0. When onmonitor then failed with "Unable to load locale categories", Jonathan Leffler explained this is a GLS problem (missing/corrupt GLS directory or bad CLIENT_LOCALE/DB_LOCALE/SERVER_LOCALE/LANG/LC_* settings), suggesting checking the install's files and permissions, or reinstalling after backing up sqlhosts. Others suggested hiring a consultant. No confirmed resolution is recorded.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Installation, Setup & Upgrades, Storage & Space Management, SQL Development & Query Writing, Server Administration, Networking & sqlhosts Configuration
Nuno Paquete wrote:
> TBP wrote:
>
>
>>Right,
>>
>>so you have the informix product installed in the following directory
>>(or more specifically you have $INFORMIXDIR set to) :
>>
>>/informix
>>
>>$INFORMIXSQLHOSTS isn't compulsory, the default location for the
>>sqlhosts file is
>>
>>$INFORMIXDIR/etc/sqlhosts
>>
>>have a look in here for clues as to what your $INFORMIXSERVER values
>>could be :D You will have one or more lines per Informix Server (each
>>server can have several connection protocols).
>>
>>Then you need to have a $ONCONFIG which is the configuration file for
>>the $INFORMIXSERVER, this is also located in the $INFORMIXDIR/etc
>>directory, but could be any name at all (however it is general practice
>>to name it onconfig.<servername>.
>>
>>What userid are you doing this as? You may have a "default" environment
>>if you su - informix.
>>
>>If you want some more clues post the $INFORMIXDIR/etc/sqlhosts file and
>>also ls -latr /INFORMIXTMP.
>
>
>
> Hi,
> Thank you very much for the answer. I hope someone could help me.
> I'm logging in with user "informix".
> Note: the server is running without problems, I just don't understand how it
> can be running without this variables defined!!
> Do I have to define it every time I log in??
> The onconfig file is named oncfg_porto.0 and it's content is:
> --------------------------------------------------------------------------
> DBSpace 1 1 1 1 1104274320 14 0 1107939628 0 0 0 0 rootdbs
> informix
> DBSpace 2 1 2 1 1104274512 4 0 1107939628 2 1040448 0 0 logsp
> informix
> DBSpace 3 1 3 1 1104274615 4 0 1107939628 2 1048640 0 0 phlogp
> informix
> DBSpace 4 1 4 1 1104275130 4 0 1107939628 2 1056832 0 0 tag
> informix
> DBSpace 5 1 5 1 1104275161 4 0 1107939628 2 1065024 0 0 gestad
> informix
> DBSpace 6 1 6 1 1104275234 4 0 1107939628 2 1073216 0 0 transitos
> informix
> DBSpace 7 1 7 1 1104275275 4 0 1107939628 2 1081408 0 0 arquivos
> informix
> DBSpace 8 1 8 1 1104275328 4 0 1107939628 2 1089600 0 0 teste
> informix
> DBSpace 9 8193 9 1 1104275477 4 0 1104276040 2 1101888 0 0 temp_po
> informix
> Chunk 1 0 1 255999 248603 1 0 64 14 /dev/ridsporto
> Chunk 2 0 1 127999 87446 2 0 64 11 /dev/rlogsp
> Chunk 3 0 1 63999 196 3 0 64 12 /dev/rphlogp
> Chunk 4 0 1 191999 86080 4 0 64 9 /dev/rtag
> Chunk 5 0 1 191999 162150 5 0 64 12 /dev/rgestad
> Chunk 6 0 1 303999 20277 6 0 64 16 /dev/rtransitosp
> Chunk 7 0 1 247999 40040 7 0 64 14 /dev/rarquivos
> Chunk 8 0 1 495999 495946 8 0 64 11 /dev/rteste
> Chunk 9 0 1 255999 255946 9 0 64 13 /dev/rtemp_po
> Log 4 21 92444818 1107684456 408 2097205 1500 1500
> Log 5 21 92586937 1107686078 409 2098705 1500 1500
> Log 6 21 92832624 1107769813 410 2100205 1500 1500
> Log 7 21 92858078 1107769962 411 2101705 1500 1500
> Log 8 21 92917550 1107770469 412 2103205 1500 1500
> Log 9 21 93110466 1107772480 413 2104705 1500 1500
> Log 10 21 93641796 1107789468 414 2106205 1500 1500
> Log 11 21 93758400 1107790271 415 2107705 1500 1500
> Log 12 21 93910251 1107793694 416 2109205 1500 1500
> Log 13 21 94334777 1107797051 417 2110705 1500 1500
> Log 14 21 94513036 1107806150 418 2112205 1500 1500
> --------------------------------------------------------------------------
>
> The content of "$INFORMIXDIR/etc/sqlhosts" is:
> --------------------------------------------------------------------------
> porto onipcshm lusonova porto
> euro onipcshm lusonova euro
> arquivo onipcshm lusonova arquivo
> -------------------------------------------------------------------------->
> The command "ls -atr /INFORMIXTMP" returns:
> --------------------------------------------------------------------------
> -rw-rw-r-- 1 root informix 10 Jun 12 2001 .infxdirs
> drwxr-xr-x 32 gestad staff 1024 Feb 09 07:02 ..
> -r--r--r-- 1 root informix 40 Feb 09 07:09 .inf.porto
> -r--r--r-- 1 root informix 40 Feb 09 07:09 .inf.arquivo
> drwxrwxrwt 2 root informix 512 Feb 09 07:09 .
> --------------------------------------------------------------------------
>
> From the beggining (since I log in), what do I have to do to see all the
> databases, or the tables of one database, or run an SQL query in a
> database???
>
> Thank you very much for your help.
>
Right ...
Well, it looks like you would need the following environment variables
(this is making a few assumptions) :
$INFORMIXDIR=/informix
Now which INFORMIXSERVER??? you appear to have 2 which are "current"
$INFORMIXSERVER=arquivo
OR
$INFORMIXSERVER=porto
Now you should have two onconfig files, one which has
DBSERVERNAME arquivoand one which has
DBSERVERNAME porto
Do an egrep -l "arquivo|porto" $INFORMIXDIR/etc/*
and see which files are produced.
Then look at each of them to see which are onconfig files.
Once you have established these, and say they are
onconfig.arquivo
and
onconfig.porto
Then you would need to set
$ONCONFIG=arquivo
OR
$ONCONFIG=porto
presumably arquivo is "archive" in Spanish? so this is probably your
"arhive" environment.
So to summarise :
For INFORMIXSERVER porto
export INFORMIXDIR=/informix
export INFORMIXSERVER=porto
export ONCONFIG=onconfig.porto
export PATH=$INFORMIXDIR/bin:$PATH
For INFORMIXSERVER arquivo
export INFORMIXDIR=/informix
export INFORMIXSERVER=arquivo
export ONCONFIG=onconfig.arquivo
export PATH=$INFORMIXDIR/bin:$PATH
As far as "what is in the INFORMIXSERVER", you would need to run
onmonitor
for the Server information (Online Monitor)
or
dbaccessto access and manipulate databases (Database Access)
Enter onstat --- to see other status commands
Err, go on a course :)
DO NOT CHANGE THE oncfg_porto.0 file - this is used for restores etc. etc.
Buenas dias.
TBP
>
> Right ...
>
> Well, it looks like you would need the following environment variables
> (this is making a few assumptions) :
>
> $INFORMIXDIR=/informix
> Now which INFORMIXSERVER??? you appear to have 2 which are "current"
> $INFORMIXSERVER=arquivo
> OR
> $INFORMIXSERVER=porto
> Now you should have two onconfig files, one which has
>
> DBSERVERNAME arquivo> and one which has
> DBSERVERNAME porto>
> Do an egrep -l "arquivo|porto" $INFORMIXDIR/etc/*
> and see which files are produced.
>
> Then look at each of them to see which are onconfig files.
>
> Once you have established these, and say they are
> onconfig.arquivo
> and
> onconfig.porto
>
> Then you would need to set
> $ONCONFIG=arquivo
> OR
> $ONCONFIG=porto
>
>
> presumably arquivo is "archive" in Spanish? so this is probably your
> "arhive" environment.
>
> So to summarise :
>
> For INFORMIXSERVER porto
>
> export INFORMIXDIR=/informix
> export INFORMIXSERVER=porto
> export ONCONFIG=onconfig.porto
> export PATH=$INFORMIXDIR/bin:$PATH>
> For INFORMIXSERVER arquivo
>
> export INFORMIXDIR=/informix
> export INFORMIXSERVER=arquivo
> export ONCONFIG=onconfig.arquivo
> export PATH=$INFORMIXDIR/bin:$PATH>
> As far as "what is in the INFORMIXSERVER", you would need to run
>
> onmonitor
> for the Server information (Online Monitor)
>
> or
> dbaccess> to access and manipulate databases (Database Access)
>
> Enter onstat --- to see other status commands
>
> Err, go on a course :)
>
> DO NOT CHANGE THE oncfg_porto.0 file - this is used for restores etc. etc.
>
> Buenas dias.
>
> TBP
Thanks for your waste of time.
I tryed what you said but when I get the same result.
When I run "onmonitor" it returns:
"Unable to load locale categories"
What could be the problem? I think I will not get success!! :((
Thanks again. Any more suggestions?
<snip>
>
> Thanks for your waste of time.
> I tryed what you said but when I get the same result.
> When I run "onmonitor" it returns:
> "Unable to load locale categories"
>
> What could be the problem? I think I will not get success!! :((
>
> Thanks again. Any more suggestions?
>
>
Did you find your $ONCONFIG file??
Set the environment for INFORMIXSERVER porto :
export INFORMIXDIR=/informix
export INFORMIXSERVER=porto
export ONCONFIG=onconfig.porto
export PATH=$INFORMIXDIR/bin:$PATH
Post the output for env.
What do you get for oncheck -pr?
TBP wrote:
> <snip>
>> Thanks for your waste of time.
>> I tryed what you said but when I get the same result.
>> When I run "onmonitor" it returns:
>> "Unable to load locale categories"
>>
>> What could be the problem? I think I will not get success!! :((
>>
>> Thanks again. Any more suggestions?
>>
>
> Did you find your $ONCONFIG file??
>
> Set the environment for INFORMIXSERVER porto :
>
> export INFORMIXDIR=/informix
> export INFORMIXSERVER=porto
> export ONCONFIG=onconfig.porto
> export PATH=$INFORMIXDIR/bin:$PATH>
> Post the output for env.
>
> What do you get for oncheck -pr?
"Cannot find locale categories" is a fundamental show-stopper problem
that prevents programs from running. It means that the GLS directory
cannot be found, or the contents are corrupt, or something is up with
GLS. You should take a look at your locale-related environment
variables - CLIENT_LOCALE, DB_LOCALE, SERVER_LOCALE. You might need
to look at DBNLS, LANG, LC_* (a collection of related environment
variables that start with LC_).
Clearly, your server is supposed to be in /informix. Equally, that is
not currently an operational INFORMIXDIR. You might start by
validating the directory contents. I hesitate to suggest the utils_jl
package at the IIUG Software Archive since it hasn't really been
updated to handle current files lists. However, the ixchkperm script
should give you some idea of which files are missing and which have
screwball permissions. However, just because it complains, don't
assume you have a major problem -- for example, it probably won't
handle the DBSSO and AAO groups properly (affecting dbssodir and aaodir).
If all else fails, you'll need to reinstall from the original media.
If that proves necessary, make sure you have a backup of your current
setup before you do anything rash like overwrite the previous
installation. You probably wouldn't run into problems, but it would
be sad to lose your sqlhosts file, for example.
--
Jonathan Leffler #include <disclaimer.h>
Email: jleffler@earthlink.net, jleffler@us.ibm.com
Guardian of DBD::Informix v2003.04 -- http://dbi.perl.org/
"Nuno Paquete" <nmp@ispgaya.pt> wrote in message news:420a8a67$0$12773$a729d347@news.telepac.pt... > What could be the problem? I think I will not get success!! :(( > > Thanks again. Any more suggestions? If it's an important system you should tell your bosses you need help, and pay someone to dial in and fix it for you.
Nuno, the line "thanks for your watse of time " is really uncalled for. People are helping for FREE do to help you do what you are being PAID to do. The reason the server is running without all the variables set is that they were set when the serever was started. Your problem is you don't know what they were set to. Neither do we. On every system these have different values. We are trying to help you find them but as we said BIG assumption that /informix is the right place to be to start with. I am guessing you are in Portugal as your service provider is ".pt". If you want someone from IBM in Portugal to quote you get an Informix consultant to dial in or come on site then mail my Yahoo email address and let me know. Otherwise Neil and others in this board could dial in from other parts of Europe. Neil Truby wrote: > "Nuno Paquete" <nmp@ispgaya.pt> wrote in message > news:420a8a67$0$12773$a729d347@news.telepac.pt... > > What could be the problem? I think I will not get success!! :(( > > > > Thanks again. Any more suggestions? > > If it's an important system you should tell your bosses you need help, and > pay someone to dial in and fix it for you.