I forbindelse med en migrering fra 8.1.7.4 til 10.2.0.3 forleden, stødte vi hen på morgenen, på problemer!

Sagen kort fortalt, er at der har været kørt en version af en applikation mod 8.1.7.4.0, og i forbindelse med opgradering af applikation skulle databasen også opgraderes.

Men! vi kunne ikke bare lave en startup upgrade, som jo er måden fra en 8.1.7.4 til en 10.2.0.3! Just upgrade ! :)

Grunden var at kunden ville køre parallelt med den gamle applikation mod version 8, og den nye applikation mod version 10, et stykke tid.

Derfor skulle vi lave en exp/imp fromuser/touser på migrerings natten.

Det betød at vi på et aftalt tidspunkt lavede en shutdown immediate, og efterfølgende startup restrict på de 2 baser.

Herefter eksporterede vi version 8 produktion, og importerede dette ind i version 10 - FULL=N, men via fromuser/touser vha i et unix for loop.

Omkring klokken 06:00 blev undertegnede vækket pga. følgende fejl

TNS 12537: Connection lost

Det er jo typisk pga. en konfigurations fejl. Der findes en del info derude der siger

USE_SHARED_SOCKET=TRUE
TCP.VALIDNODE_CHECKING
TCP.INVITEDNODES

andre siger det er et route problem, hvor man kan forsøge "route add <db machine ip or dns> <gateway to network ip or dns>"

Jeg fik dog noteret mig fra en kollega, at tnsping fungerede hver gang - men det var ODBC der fik 12537.

Server mæssigt fik jeg dette i et par logs.

ksvcreate: Process(m000) creation failed

Det kan jo godt være relateret til enten IO eller OS problemer mht. at oprette en process.

Jeg tænkte lidt og; TNSping connecter jo ikke til databasen, det gør derimod ODBC !!!

Det viste sig efterfølgende at processes var sat til 200, hvor det på version 8 var sat til 800.

Det løste problemet! Version 10 basen blev vendt med de nye informationer, og alt kørte igen.

Jeg slap migreringen kl 04:30 og gik standby, og grunden til det blev først kl 06:00 var det tog noget tid før de 200 processes var nået.