Avatar billede deamill Nybegynder
11. august 2003 - 10:47 Der er 10 kommentarer og
2 løsninger

ORA-01630: max # extents (300) reached in temp segment

Hvordan ændrer jeg maxextents for et temp segment i et tablespace??

Her den fejl jeg får:
ORA-01630: max # extents (300) reached in temp segment in tablespace PRIVTABSP

/deamill
Avatar billede nosjns Nybegynder
11. august 2003 - 11:10 #1
Prøv:
ALTER TABLESPACE privtabsp DEFAULT STORAGE ( MAXEXTENTS "ny_størrelse" );

Da det er i forbindelse med temp segment skulle du måske prøve at ændre størrelse på parameteret sort_area_size i init.ora.
Avatar billede deamill Nybegynder
11. august 2003 - 11:33 #2
hvad gør parameteret sort_area_size?? hvad skal den i så fald ændres til den er pt. parameteret 2097152

Ovennævnte ALTER TABLESPACE... hjælper i øvrigt ikke på problemet!

/deamill
Avatar billede nosjns Nybegynder
11. august 2003 - 11:42 #3
Sort_area_size bruges i forbindelse med sortering af søgninger. Så vidt jeg husker, hvis parameteret er for lille bruges temp istedet. Dette kan så med føre den overnævnte fejl.

hvor stor sort_area_size skal være, er ligesom alle andre oracle-parameter en videnskab i sig selv. Du må prøve dig frem, ulempen er bare at basen skal genstartes ved ændringer af init.ora.

Prøv metalink.oracle.com og søg efter dokument 102339.1

Håber det hjælper!
Avatar billede pnielsen Nybegynder
11. august 2003 - 13:13 #4
deamil: sort_area_size kan da godt sættes i den enkelte session ??
Alter session set sort_area_size=30000000;


Er du ved at lave et index, eller ?
Indexet vil blive lagt som temp segment i det tablespace du placere det, indtil det er færdigbygget. Derefter vil det blive sat til at være det rigtige index. Smart måde at spare tid på...
Det betyder at du skal have plads nok for at det kan være i tablespacet - og skal derfor sætte maxextents højt nok.

Hvad extent størrelse har du?
Hvor meget forsøgte du at sætte det op til ?
Avatar billede deamill Nybegynder
11. august 2003 - 13:21 #5
pnielsen --->

det er når jeg prøver og lave indexed, at jeg får at vide, at max extens i temp segmentet for aktuelle tablespace er nået, men jeg kan ikke finde ud af og ændre på maxextents for et tempsegment, jeg kan gøre det for hele tablespaces, alle datafilerne i tablespaces samt for tabellen som jeg prøver og lave et index over (uden resultat)

Men jeg kan ikke lave noget der hedder (noget i stil med):
ALTER TEMPSEGMENT FOR TABLESPACE xxxx (maxextenst 600);

f.eks. er du med?
Avatar billede pnielsen Nybegynder
11. august 2003 - 13:51 #6
Jeg forstår hvad du mener - men det er ikke helt sådan det fungere.

Du kan f.eks.
ALTER TABLESPACE USERS DEFAULT STORAGE ( MAXEXTENTS UNLIMITED);

Men det er ikke godt at have alt for mange extents i sit tablespace - så hellere sætte extent størrelsen op. Initial og next skal helst stå til det samme - så undgår du fragtmentering ..
Avatar billede deamill Nybegynder
11. august 2003 - 13:58 #7
jeg er enig pnielsen!

Men hvordan ændrer jeg så extent størrelsen for et temp segment?

:)
Avatar billede pnielsen Nybegynder
11. august 2003 - 14:08 #8
ALTER TABLESPACE PRIVTABSP DEFAULT STORAGE
( INITIAL 1M NEXT 1M MAXEXTENTS UNLIMITED );
Avatar billede pnielsen Nybegynder
11. august 2003 - 14:13 #9
Lad være med at tænke på det som et temp segment - det er bare et alm segment som er temporary indtil dit index er færdigbygget. Så sæt storage på dit tablespace og du er flyvende igen...
Avatar billede deamill Nybegynder
11. august 2003 - 14:17 #10
altså, jeg har prøvet det som pnielsen skriver "ALTER TABLESPACE PRIVTABSP DEFAULT STORAGE ( INITIAL 1M NEXT 1M MAXEXTENTS UNLIMITED );",
jeg får stadig fejlen:
"ORA-01630: max # extents (300) reached in temp segment in tablespace PRIVTABSP
"
- selvom jeg sætter tablespaced til umlited - så der må altså være et temp segment, som jeg ser det!?

Eller hvad?
Avatar billede pnielsen Nybegynder
11. august 2003 - 14:42 #11
Hvilken version af Oracle er du på ??

Prøv lige at sætte
ALTER TABLESPACE TEMPORARY DEFAULT STORAGE ( INITIAL 1M NEXT 1M MAXEXTENTS UNLIMITED );

eller

ALTER TABLESPACE TEMP DEFAULT STORAGE ( INITIAL 1M NEXT 1M MAXEXTENTS UNLIMITED );
Avatar billede deamill Nybegynder
11. august 2003 - 14:43 #12
aha, nu er jeg med ... :-) sorry, det er jo selvfølgelig fordi jeg opretter indexet med for lille max extent (eller for lille next), når den så smider data i indexed, og når max extent, laves der en roll back :-)Derfor siger den det med temp segment!

he he ... det kan jo smutte!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester