I have a problem starting Informix. I have to export data from Unix (Informix) to Window 2000(Sql Server 2000) box. The Informix program is called lycs. It is written in Informix SE 7.20 and C. We are using SCO UNIX. The way the file structure is INFORMIX has a separate directory with the entire utility file under root and data has a separate directory under root. The main data base (main.dbs) is sitting under root/user3/LRT/main.dbs. The Informix utility file is sitting under root/usr/Informix/etc ... bin .. . now I want to start the dbschema or at least initialize the database from UNIX or use dbaccess command. The problem is :
1)when I use oninit to start database it says not found(from any directory).
2)when I try to use dbschema , it say not found (from any directory).
3) Doesn't accept any command of Informix from Unix prompt.
Where I am making mistake?
How can I find what instances of Informix database server is running and what port Informix are listening to?
I could not find onconfig file in Informix/etc directory.
I am a very new to Informix --- Can anyone help me solve the problem. All I have to do is to transfer the data from Informix to SQL Server 2000.
Please help me my job is pretty much depending on this successful transfer of this data from Informix to Sql Server 2000.
- In unix you must be user informix to start the informix server.
- For IDS you have this :
The user needs environment variables :
INFORMIXDIR pointing to the root directory of informix installation
ONCONFIG withthe name of the onconfig file. without onconfig you can't start
INFORMIXSERVER with the name of your informix instance, that name is also found in the onconfig file and in the sqlhosts file
SQLHOSTS with the mapping of the servernames, connection method en service (port)number.
- with the classic unix command "su <user_name>" you become the new user, however if you want to take the environment of the user the command is "su - <user_name>" with dash+blank (see manual pages su)
- It seems you didn't know the mechanism Informix find itselfs :
1. The INFORMIXDIR variable points to the informix directory that contains bin, etc, ...
2. The PATH variable includes $INFORMIXDIR/bin
3. The ONCONFIG variable points to the onconfig file in $INFORMIXDIR/etc
4. The INFORMIXSERVER variable is the name of the informix instance which you want to 'init' or 'connect', this name is the same name you must have in the onconfig file in variable DBSERVERNAME or DBSERVERALIASES, the same name is in the sqlhosts file
5. The $INFORMIXDIR/etc/sqlhosts or alternatively the INFORMIXSQLHOSTS variable is the connectivity file. It describes the mapping between $INFORMIXSERVER, the hostname (could be remotely), the connect method (socket, ipc, shm) and the appropriate port number/name if socket (soctcp).
6. The unix file /etc/services maps the port name to the port number.
the port number informix uses :
So on 1 machine you can have f.i. 1 /usr/informix directory with 1 sqlhosts file and multiple INFORMIXSERVER instances.
OLd but very easy admin explanation at http://docs.rinet.ru:8083/InforSmes/index.htm
The whole stuff at http://www-306.ibm.com/software/data.../pubs/library/
First of all I want to thank all of you for such tremendous responses to my few questions. I manage to move forward quite a lot with your help , but still not accomplish what I set out to do . So I need little more help again from all of you.
when I run "env" in unix prompt I get this
so my informix path and informixdir is being set up.
Now when I try to find onconfig file in \usr\Informix\bin directory,, there is no onconfig file
# cd /usr
# cd informix/etc
# ls -a
. Termcap ja_jp termcap zh_tw
.. brand ko_kr th_th
.snfile cnv50t60.sql sefiles updmenu.sql
ISQL-cr en_us sqlfiles xpg4_is.sql
SE-cr install sqlhosts zh_cn
when I try to run sqlhosts this is all I get
# more sqlhosts
# INFORMIX SOFTWARE, INC.
# PROPRIETARY DATA
# THIS DOCUMENT CONTAINS TRADE SECRET DATA WHICH IS THE PROPERTY OF
# INFORMIX SOFTWARE, INC. THIS DOCUMENT IS SUBMITTED TO RECIPIENT IN
# CONFIDENCE. INFORMATION CONTAINED HEREIN MAY NOT BE USED, COPIED OR
# DISCLOSED IN WHOLE OR IN PART EXCEPT AS PERMITTED BY WRITTEN AGREEMENT
# SIGNED BY AN OFFICER OF INFORMIX SOFTWARE, INC.
# THIS MATERIAL IS ALSO COPYRIGHTED AS AN UNPUBLISHED WORK UNDER
# SECTIONS 104 AND 408 OF TITLE 17 OF THE UNITED STATES CODE.
# UNAUTHORIZED USE, COPYING OR OTHER REPRODUCTION IS PROHIBITED BY LAW.
# Title: sqlhosts.demo
# Sccsid: @(#)sqlhosts.demo 9.2 7/15/93 15:20:45
# Default sqlhosts file for running demos.
SO I see the instance of the database is cg_se. but when I set up the INFORMIXSERVERNAME enviornment variable and then try to run dbaccess it says there is a error finding the database. I don't see any prot number or nothing.
if I try to go to etc/services to see the assigned port number ,, I get
# cd etc
# more services
#ident "@(#)services 1.9"
# assigned numbers from rfc1060
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users
systat 11/udp users
qotd 17/tcp quote
qotd 17/udp quote
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
smtp 25/tcp mail
time 37/tcp timserver
time 37/udp timserver
name 42/tcp nameserver
name 42/udp nameserver
whois 43/tcp nicname # usually to sri-nic
whois 43/udp nicname # usually to sri-nic
nameserver 53/udp domain
nameserver 53/tcp domain
apts 57/tcp #any private terminal service
apfs 59/tcp #any private file service
bootps 67/udp bootp
rje 77/tcp netrjs #any private rje
link 87/tcp ttylink
hostnames 101/tcp hostname # usually to sri-nic
x400 103/tcp # ISO Mail
csnet-ns 105/tcp #CSNET Name Service
pop-2 109/tcp # Post Office
pop-3 110/tcp # Post Office
sunrpc 111/udp rpcbind
sunrpc 111/tcp rpcbind
auth 113/tcp authentication
nntp 119/tcp usenet readnews untp # Network News Transfer
ntp 123/tcp # Network Time Protocol
ntp 123/udp # Network Time Protocol
nb-ns 137/udp nbns netbios-nameservice
nb-ns 137/tcp nbns netbios-nameservice
nb-dgm 138/udp nbdgm netbios-datagram
nb-dgm 138/tcp nbdgm netbios-datagram
nb-ssn 139/tcp nbssn netbios-session
NeWS 144/tcp news # Window System
# UNIX specific services
# these are NOT officially assigned
shell 514/tcp cmd # no passwords used
printer 515/tcp spooler # line printer spooler
timed 525/udp timeserver
courier 530/tcp rpc # experimental
# uucpd is not supported by System V UNIX.
uucp 540/tcp uucpd # uucp daemon.
biff 512/udp comsat
who 513/udp whod
route 520/udp router routed
new-rwho 550/udp new-who # experimental
rmonitor 560/udp rmonitord # experimental
monitor 561/udp # experimental
pcserver 600/tcp # ECD Integrated PC board srvr
bootps-alt 950/udp # bootps port used with DHCP
aas 1601/tcp # Address Allocation Server
nfsd 2049/udp # NFS server daemon
listen 2766/tcp # sysv listener service
ttymon 2767/tcp # sysv tty service
xserver0 6000/tcp # X-Window Server Display 0
pppmsg 911/tcp # PPP daemon
inetinst 6969/tcp # Network Install
inetinst 1006/spx # Network Install
i2odialog 360/tcp # i2o configuration dialog agent
dtspc 6112/tcp # subprocess control
no where it says which one is assigned to informix.
One more thing ,, when I do su - informix . and get a $ prompt back , I cann't issue any command relating to informix (like dbaccess or any other command says not found or permission denied). No sure why is that>
I am using Informix SE 7.20.
if I log in as root and then su -ing it to informix,, no informix command works. Now if I try from root and try to run dbaccess(after setting all the env variables) I can see the db access running but without database name (for example I see --------@cg_se---- but not main@cg_se).
1. Check the .profile for Informix. My guess is that you don't have any informix variables defined nor do you have .../informix/bin defined in your path - which is why you can't run any informix commands.
2. Your onconfig will be under .../informix/etc unless an environment variable points otherwise. If you don't have one, you need to create one.
3. Your sqlhosts is incomplete, but it's likely that the terminal session is attempting to connect thorugh a shared memory connection which is not needed in sqlhosts.
I know it's rather difficult (in the begin), but I guess you not herite a documented DB :
- onconfig file is for IDS, normally in $INFORMIXDIR/etc and not $INFORMIXDIR/bin. ONCONFIG variable could also contain a full path
- you must set up INFORMIXSERVER variable (INFORMIXSERVERNAME is not a recognized variable)
- you've find the sqlhosts file, bu I did'tn know the meaning of "seipcip", "soctcp" needs a portnumber but not ipc or shm connections.
- Look at the documentation for Informix SE, and aaargh p3.8 onconfig only for IDS , not for SE cfr : http://www-306.ibm.com/software/data...7921a-pdf.html
and all the info you need (I hope) Admin Guide for Informix SE 7.x at http://www-306.ibm.com/software/data.../9002-pdf.html p1.8 and 1.12
I finally find a way to do a dbexport of one of the database in that UNIX box. I can see the .exp directory, and inside that I can see the .sql file and the .unl file. I still have to get those in the sql server 2000 box but that is another issue. The problem I had was due to inexperience in UNIX administration. I was setting up the "env" variable in the root level and then when I use to do su - informix the required environment variables were not there. That was the first major mistake. Then I did not set up the DBPATH environment variable. As we have different directory for different company, the dbaccess/dbschema/dbexport commands are all getting confused to which company I was pointing. Then there are other issues as I was not familiar with Informix as well. Although I couldn't find the port number the informix is listening to>> but I had the .SQL file and all those .UNL(560) files to work with.
But over all I want to thank you guys/gals all to help me out. You probably save my job. Is there anything I need to know to export/run those .sql and .unl file from UNIX BOX to window 2000 box for SQL SERVER 2000.