Distributed systems - a small query
Posted in 2004
Topics: Storage & Space Management, Server Administration, Networking & sqlhosts Configuration
I have a customer who has created two systems, one for
development and one for production. They have used
the same instance names, database names, path names
for dbspaces, even the same TCP/IP service names.
They wanted the development system to be a carbon copy
of the live system.
Now they want to extract data from the live system and
transfer some data to the development system. But
their difficulty is how to do that.
Does anybody have any bright ideas as to what we can
so that they can do INSERT INTO devtable SELECT * FROM
prodtable ?
So far the nearest I have got is to add a new onsoctcp
service to the live system and use that for a new
alias in DBSERVERALIASES. Then use this new service
on the development box by adding to sqlhosts. Then we
can use the syntax
SELECT * FROM dbname@newserv
That works but the live system is virtually 24 by 7
and they will have to take the system down to get the
new onconfig settings recognised.
Any other ideas welcomed.
regards
Malcolm
sending to informix-list
20.09.04 О©╫ 23:48 malcolm weallans О©╫ О©╫О©╫оёО©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫(О©╫):
>
> Now they want to extract data from the live system and
> transfer some data to the development system. But
> their difficulty is how to do that.
Maybe you can use import/export tools such as dbexport/dbimport?
On Mon, 20 Sep 2004 15:48:00 -0400, malcolm weallans wrote:
Short sighted to say the least! Next time, use an environment file that sets
INFORMIXSERVER. The file is the same name on production or development but
the INFORMIXSERVER definition is different. All apps either connect to the
default server or use getenv() to get the servername from INFORMIXSERVER or
some private environment variable. The environment file is run as a 'dot'
script in everyone's .profile (or in /etc/profile) and in any cron scripts.
Alternatively, apps are started by scripts that run the environment script.
Then the same startup scripts can be used in production, they just point to
the production server there and the development server on development
machines thanks to the difference in the environment scripts.
Now to the current problem. So, you can't take the production server
offline, to add a new DBSERVERALIAS? So, take the development server offline
and change it's SERVERNAME at least during the copy! Then edit the sqlhosts
files to enable the new servername on both the prod and dev systems and
VOILA! Meantime, if noone is using explicit servernames in their apps, you
can use the environment file idea to leave the new servername permanently!
Art S. Kagel
> I have a customer who has created two systems, one for development and one
> for production. They have used the same instance names, database names,
> path names for dbspaces, even the same TCP/IP service names. They wanted the
> development system to be a carbon copy of the live system.
>
> Now they want to extract data from the live system and transfer some data to
> the development system. But their difficulty is how to do that.
>
> Does anybody have any bright ideas as to what we can so that they can do
> INSERT INTO devtable SELECT * FROM prodtable ?>
> So far the nearest I have got is to add a new onsoctcp service to the live
> system and use that for a new alias in DBSERVERALIASES. Then use this new
> service on the development box by adding to sqlhosts. Then we can use the
> syntax
>
> SELECT * FROM dbname@newserv>
> That works but the live system is virtually 24 by 7 and they will have to
> take the system down to get the new onconfig settings recognised.
>
> Any other ideas welcomed.
>
> regards
>
> Malcolm
> sending to informix-list