ORACLE 7 er kompleks
At konfigurere og tune et UNIX-system (UNIX-kerne og konfigurationsfiler) med henblik på optimal performance, minimalt ressourceforbrug og opnåelse af maksimal oppetid, synes vi
hos SuperUsers a/s, kan være en svær opgave. At gøre det tilsvarende på et ORACLE-system er bestemt ikke lettere. Der er mange konfigurations-parametre, og applikationerne
skal gennemgås for at forstå, hvilke krav disse stiller til ORACLE-serveren. ORACLE manualerne og anden litteratur giver generelle retningslinier for tuning og overvågning.
Driften af en ORACLE installation kræver imidlertid kendskab til lokale forhold: Applikationer, datamængder, antal samtidige brugere, transaktionernes størrelse, art og antal,
rapporter m.v. er alt sammen noget, der skal tages i betragtning, når ORACLE systemet skal tunes og overvåges.
Hvad bruges systemet til?
Når et UNIX/ORACLE system skal tunes, er det væsentligt, at man gør sig klart, hvilke karakteristika den pågældende installation har. Fx. kræver et datawarehouse-system med
komplekse søgninger (oftest læsninger) og beregninger én type tuning og overvågning, som typisk er helt forskellig fra tuning/overvågning i et bank-system med mange
transaktioner (oftest skrivninger).
ORACLE/UNIX sammenhæng
Udover konfiguration og tuning af selve ORACLE-serveren, skal samspillet med UNIX også gennemtænkes. |
Vi ser ofte, at når en ORACLE- installation performer dårligt, så findes problemet i det underliggende UNIX-operativsystem og anvendelsen af dette. Helt
basale ting som at balancere I/O på separate UNIX-diske kan forøge performance væsentligt for en ORACLE-installation. Ligeledes er begreber som shared memory og paging/ swapping
vigtige i samspillet imellem UNIX og ORACLE.
SQL-client ofte problemet
Der er en tendens til, at man fokuserer hele sin energi vedr. ORACLE-performance optimering på ORACLE-serveren. Men ofte er det en umulig opgave at få en acceptabel performance på
en given ORACLE-installation ved kun isoleret at betragte ORACLE-serveren. Det viser sig nemlig ofte, at ORACLE-clienterne (SQL-baserede) er "kodet med en kulskovl",
som det kaldes blandt programmører. Ting som full table scans, for mange sorts på disk og i RAM findes ofte i applikationer. Der kan ofte vindes betydelig performance ved at
gennemgå ORACLE-clienterne, for dermed at befri den stakkels ORACLE-server for store formålsløse opgaver. Det er let at få kodet nogle SQL-statements, som kan tage livet af
enhver ORACLE-server.
Konklusion
Giv ikke altid ORACLE-serveren hele skylden for en evt. dårlig performance. Tit er det dens omgivelser, d.v.s. operativsystem og clienter, som giver ORACLE-serveren urimelige
arbejdsforhold. |