Sybase ASE 15 på Linux til Dalet 5.1e
Den her sag startede egentlig for temmelig lang tid siden. Jeg har en kunde som kørte Dalet 5.1e op mod en Sybase ASE 11 server (ASE: Adaptive Server Enterprise). Det var alt sammen udmærket, og jeg vil til hver en tid foretrække ASE frem for ASA (ASA: Adaptive Server Anywhere). ASA egner sig efter min mening ikke til sites der skal køre 24h/24. Så enkelt er det.
Men den gamle Sybase ASE 11 server skal køre på en Windows 2000 Server ... og ... ahh ... måske er det på tide at komme rigtigt ind i det her årtusinde.
Man kan godt opgradere Sybase ASE 11 til 12 og den kan så køre på en Windows 2003 server, men prisen for den opgradering var større end hvad nyindkøb af ASE 11 havde kostet i sin tid.
Men der er et alternativ: Sybase har en "Express" ASE 15 som er gratis til Linux. Der er godt nok nogle begrænsninger, så som at man ikke kan allokere mere end 4 Gb til databaser og at man kun kan køre på 1 processor. Men det burde ikke være noget problem for en Dalet 5.1 database - de bliver sjældent ret store.
Opsætning er noget tricky, og kan ikke anbefales hvis man ikke har rodet lidt med Linux før. Jeg brugte en Ubuntu 10.4 Server med grafisk brugerinterface (det grafiske interface er nødvendigt for at køre Sybase Central).
Ved Sybase installationen skal man vælge den samme page size som ens gamle ASE server kører med, hvis man vil gøre sig forhåbninger om at kunne restore en database ud fra et dump fra den gamle server - og det skal man gøre i første forsøg, når man installerer.
Der er også nogle ting omkring Sybase interfaces og locales som ikke er korrekt efter installationen, og så skal rettes manuelt. Hertil kommer så det almindelige konfiguration til Dalet som dog stort set kan laves som beskrevet i Dalet manualen, bortset fra at kernel memory skal være en del større end det der står, og det samme skal antallet af samtidige brugere.
Man kommer også selv til at ligge og rode med at lave startup og shutdown
sh scripts, så database serveren kan starte og stoppe sammen med maskinen, uden at der er en bruger der skal logge på.
Desuden er der også en række småting som ikke lige virker med det samme, som isql, hvor man selv skal køre nogle scripts der laver nogle registreringer.
Men når alt det er overstået, kan man faktisk restore sin Dalet 5.1e database til serveren, oprette logins på SQL serveren til databasens eksisterende brugere, og så kører man.
Der er nu nogle rimelige muligheder for managment af backup af selve databasen og af transaktionslogsne, så man ikke længere behøver at bruge de .bat filer som Dalet leverer, der kører et script med OSQL.
Serveren blev sat i produktion for et par måneder siden, og har den kørt lige siden.
Ingen mystiske fejl eller utilsigtede genstarter, intet.
Jeg tror ikke at jeg skal forsøge at regne den samlede timeløn ud på det projekt, men det var en sjov lille udfordring.
Lige en
disclaimer her til sidst:
Jeg har ikke undersøgt hvordan det er med Dalets validering af ASE 15 på Linux. Den pågældende kunde har ikke nogen support kontrakt med Dalet alligevel.
Stationer som har en support kontrakt med Dalet, og som overvejer at bruge den her løsning, skal dog checke at support aftalen stadig vil gælde.
Den gamle database kom fra en ASE server. Hvis du er så uheldig at være på en station hvor man i tidernes morgen har købt ASA for at spare 10000 kr., så er det ikke "bare lige" at restore en backup lavet på en ASA server på en ASE. Syntaksen for stored procedures og meget andet er forskellig - det kommer sandsynligvis ikke til at virke. Her vil vejen frem nok være at oprette en tom database på ASE og så bruge et program som RadioLink til at overføre alle lydfiler, clocks osv. til den nye database.