
|
primus - support
Antall samtidige åpne spørringer
Symptom:
- Feilmelding: "ORA-01000: maximum open cursors exceeded" eller lignende -
ofte ved bruk av rapportverktøyet, spesielt hvis dette brukes samtidig
som et av de andre Primus-verktøyene.
Årsak: Parameteren open_cursors på databasen er satt for lavt
Oracle har en lang rekke parametre som kan settes for hver enkelt database
for å tilpasse databasene til det de skal brukes til. En av disse parametrene
er "open_cursors", som bestemmer hvor mange åpne spørringer en enkelt bruker
kan ha i databasen samtidig. Standardverdien er 50, og dette kan ofte bli for
lite. Hvis man skriver ut en rapport med alle feltene til en gjenstand, kan
meldingen "ORA-01000: maximum open cursors exceeded" komme, ofte som en del
av en lengre feilmelding.
Oracles parameterfil
Før parametre kan endres, må man først finne parameterfilen.
Parameterfilen til Oracle heter som oftest "init.ora" eller "initXXX.ora", der
XXX er navnet på databasen. Standardverdi for databasenavn er ORCL, så derfor
heter filen antagelig "initORCL.ora" eller noe slikt.
Filen finnes kanskje på ett av følgende steder:
- Windows NT: "d:\orant\database", hvis Oracle er installert på katalogen "d:\orant".
- Unix: "ORACLE_HOME/dbs" eller "ORACLE_BASE/admin/XXX/pfile",
der XXX er navnet på databasen.
Hvordan endre parametere
Føy til følgende linje et eller annet sted i init.ora-filen:
open_cursors = 100
Denne parameteren er antagelig ikke definert fra før i init.ora-filen
(da brukes standardverdien på 50), så da kan man bare legge til denne linja.
Hvis parameteren open_cursors er definert fra før, må man erstatte
den forrige definisjonen med den nye.
Restarte databasen
Når man har klart å endre parameterfilne, må databasen stoppes og startes på
nytt før endringene trer i kraft. Dette kan gjøres ved hjelp av et av Oracles
hjelpeprogram, "Server Manager". Programmet kjøres i terminalmodus, og heter
sannsynligvis noe slikt som "d:\orant\bin\svrmgr30" (WinNT) eller "svrmgrl" (Unix).
Stoppe databasen
SVRMGR> connect internal/oracle
SVRMGR> shutdown immediate
SVRMGR> exit
Starte databasen
SVRMGR> connect internal/oracle
SVRMGR> startup
SVRMGR> exit
Sjekke at parameteren er endret
Man kan liste ut alle parametrene som tilhører en Oracle-database med følgende kommando:
SVRMGR> connect internal/oracle
SVRMGR> show parameters;
SVRMGR> exit
Hvis man har et terminalvindu uten scrollbar og ikke rekker å lese all teksten
som farer over skjermen, er det også mulig å redirigere utskriften fra svrmgrl
til en fil:
D:\ORANT\BIN> svrmgr30 > parfil.txt
connect internal/oracle
show parameters;
exit
D:\ORANT\BIN> _
|