Ingres 6.4 -> OpenIngres 1.2 Update

TOP 10 DO's and Don'ts :Migrating from Ingres 6.4.x to OpenIngres 1.2

DO's and DON'Ts of making the 6.4.x to OpenIngres 1.2.
TOP TEN ITEMS TO KEEP IN MIND.

1)  DO  set up a new file system when installing OpenIngres 1.2 This will
        make for a cleaner install. (Can have multi installations
        setingenv II_INSTALLATION param.) While CA claims that you can upgrade
	an existing installation. I would recommend that you start from scratch.
        This will make sure all front-end catalogs, new exec's, lib's get
        installed correctly. Whenever possible use the same directory names and
	or mount points for data , source, unload dirs. and so forth. (see #7
	this doc) You may need to tune some kernel params, and you will need a
	roll back plan. This gets a bit nasty trying to get back to your
	original setup. When you've installed over your original. Also makes
	chasing down bugs a lot easier.  Once you have the second install up
	and running then migrate your data and apps. This action is also
	prudent when dealing with production apps and data.

2)  DO  Install all patches and bug fixes. Latest patches are available
        from CA direct. http://www.cai.com  The rush to get OpenIngres 1.2 to
        market has left a few holes. (Note: OpenIngres 1.2 for HPUX must
        install patch to work correct.) This will also eliminate the first
        question CA-Ingres tech support asks. (Um... I don't know.. have
        you installed the patch?...)

3)  DO  Install compatability links. When switching platforms or upgrading
        your O/S make sure to install the compatability links. These links are
        usually provided by the O/S vendor. These links will enable OpenIngres
	to find all the Unix Utils and/or lib's that it needs. If you do not
	install these links you get lots of cannot open/find Unix errors.
	(Note: AIX v4.2 (IBM RS6000) must install compatability links
	OpenIngres 1.2 will not run correctly.)

4)  DO  Make back-up copies of config.dat and symbol.tbl file the path is
        -II_INSTALLATION/Ingres/files These files are critical to your old and
	or new installation. Having a good backup before starting is always
	wise.

5)DON'T  -forget to use the -c flag when unloading your databases. The -c
        flag in the unloaddb command dumps data down to the ASCII level.
	Technically this is only required when switching platforms or O/S.
	However, I would recommend that you always use this flag. (Eliminates
	another variable, should you be stuck tracking down a problem on the
	reload)

6)DON'T  - use the unloaddb util. The unloaddb util dumps data, forms,
        reports, app's ect. all at once. However, in migrations like this I
	have found it best to separate the data move from the app move. Call me
	a wimp, but it's easier for me to focus on an application port and then
	data migration. (Kind of a divide and conquer thing.) This is true when
	dealing with large amounts of data or a complex application. Also I
	would recommend this one, two punch when dealing with production data.
	In that, it is unlikely that you will be able to finish a migration
	before the data needs to be refreshed. Therefore having different data
	and application migration scripts becomes paramount.

7)  DO  use the copydb util to move the data. (Note: Don't forget to use
        the -c flag. see #6 this doc.) The copydb util will give you copy.in
	copy.out sql script files. When possible use the same name for unload
	and reload dirs.  If you can use the same mount point and dir names
	when moving to a new platform. (Note: copy.in and copy.out scripts have
	a path hard coded. By using the same path names when possible you don't
	have to edit as much.) You will need to modify these scripts in the
	following ways; change the 'from' dir path.  This is where the data
	will be loaded from. If you have used the same unload and reload path
	names you may not need to change this. Change the 'location'.
        If you have used multi locations make sure all alternates are setup in
        accessdb before you attempt a re-load. I would also recommend that you
	insert a 'drop' command before each create table statement. This will
	allow you to rerun this script without having to destroy the db and
	start over. It also makes sure the new table Scriptures and fields are
	correct.

8) DO modify the log file.  You may need to adjust the transaction log file
	size.  (II_INSTALLATION/Ingres/logs.  In OpenIngres 1.2 this is done
	through the cbf util.  very easy to do.) You may get aborts do to the
	log file filling up.  Over estimate the size of this file during the
	migration.  You can always go back and change it later.  (NOTE: 
	********* WARNING ********* when you set up your new OpenIngres 1.2
	installation make sure and use the same char set between the two
	databases.  ISOxxxxxx if you do not do this you could corrupt data on
	the reload.)

9)  DO  have plenty of tmp disk space. Remember it takes almost two and a
        half times the size of a table to sort and/or rebuild indices. (not
	including log space) Its worth the hassle to get more disk than you
	need.  Disk is cheap when compared to your time, and or the down time
	your company will take.  (Note:  OpenIngres 1.2 defaults jornalling ON. 
	This will become active after you chkpoint for the first time.) When
	you run the reload scripts dump the output to a log file.  use a
	command like sql [dbname] reload.log& this will give you something to
	look at should the reload fail.

10) DO  take your time. You will more that likely have to do this
	migration a couple times before you get it right.  Just plan on it. 
	It's better to take your time than get it wrong.

*************(Source-code) ABF MIGRATION NOTES ********************

Please note the following;

OSQ     - There are a number of newly reserved words and syntax
	changes from 6.4.x to OpenIngres 1.2 (Namely outer-joint statements and
	the use of " " see white pages http://www.cai.com ) Most have to do
	with new SQL standards.  You may wish make a test compile on a few of
	your more complex .osq files.  This might show if your migration is
	going to take longer than you planned on.

FORMS - On a couple occasions I have had a few forms fail on reload
	because of an invalid date field format.  However, the date field
	appeared to be correct to me.  I was under time constraints so I did
	not chase this problem down to a root cause.  I edited the form.txt
	file (reload file) and deleted the field in question.  This allowed the
	form to reload.  Used vifred to re-add the field.

ANSI C - The HPUX v.10 O/S cc does not default to ANSI c
	compliant.  You must pass an -a flag to the cc command.  However, the
	Ingres linker does not pass this flag by default.  Again under a time
	constraint, so I created the obj files from the command line (using the
	-a flag) this tricked the linker into using the newly created obj files
	and the build app went through.  I'm sure H.P and Ingres are working on
	a solution.  I know you can pass link options however, I have not tried
	a solution.

**********************************************************************l
J.Tyler McGraw
Systems West
136 South Main Stree #A300
Salt Lake City UT, 84101
(801)364-7900 V
(801)364-9700 Fax.
tmcgraw@xmission.com  E-Mail.

Tyler McGraw is an Ingres consultant. Current Utah Ingres Users Group
Pres.and all-around nice guy. (ha ha ha ).
Ingres Database Reference
To William's Home Page

© William Yuan 2000

Email William