sql >> Database >  >> RDS >> Oracle

ORA-01652:kan tijdelijk segment niet uitbreiden met 128 in tabelruimte SYSTEEM:Hoe verlengen?

Elke tabelruimte heeft een of meer gegevensbestanden die worden gebruikt om gegevens op te slaan.

De maximale grootte van een databestand hangt af van de blokgrootte van de database. Ik geloof dat je standaard maximaal 32 GB per databestand hebt.

Om erachter te komen of de werkelijke limiet 32 ​​GB is, voert u het volgende uit:

select value from v$parameter where name = 'db_block_size';

Vergelijk het resultaat dat u krijgt met de eerste kolom hieronder, en dat geeft aan wat uw maximale gegevensbestandsgrootte is.

Ik heb Oracle Personal Edition 11g r2 en in een standaardinstallatie had het een blokgrootte van 8.192 (32 GB per gegevensbestand).

Block Sz   Max Datafile Sz (Gb)   Max DB Sz (Tb)

--------   --------------------   --------------

   2,048                  8,192          524,264

   4,096                 16,384        1,048,528

   8,192                 32,768        2,097,056

  16,384                 65,536        4,194,112

  32,768                131,072        8,388,224

U kunt deze query uitvoeren om te zien welke databestanden u heeft, aan welke tablespaces ze zijn gekoppeld en waar u momenteel de maximale bestandsgrootte op heeft ingesteld (die de bovengenoemde 32 GB niet mag overschrijden):

select bytes/1024/1024 as mb_size,
       maxbytes/1024/1024 as maxsize_set,
       x.*
from   dba_data_files x

MAXSIZE_SET is de maximale grootte waarop u het gegevensbestand heeft ingesteld. Ook relevant is of je de AUTOEXTEND-optie op AAN hebt gezet (de naam doet wat het impliceert).

Als uw databestand een lage maximale grootte heeft of autoextend niet is ingeschakeld, kunt u eenvoudig het volgende uitvoeren:

alter database datafile 'path_to_your_file\that_file.DBF' autoextend on maxsize unlimited;

Als de grootte echter op/bij 32 gb is, is een autoextend ingeschakeld, ja, dan heb je een ander gegevensbestand nodig voor de tabelruimte:

alter tablespace system add datafile 'path_to_your_datafiles_folder\name_of_df_you_want.dbf' size 10m autoextend on maxsize unlimited;



  1. Anonimiseren van indirecte identifiers om het risico op heridentificatie te verlagen

  2. Is het mogelijk om naar kolomnamen te verwijzen via bindvariabelen in Oracle?

  3. Gegroepeerde tekenreeksaggregatie / LISTAGG voor SQL Server

  4. SQL Server INFORMATION_SCHEMA Weergaven | Kijken of er een tafel bestaat