Recentemente ho avuto bisogno di importare un .dmp in un nuovo utente che ho creato. Ho anche creato un nuovo spazio tabelle per l'utente con il seguente comando:Oracle Tablespace maxsize "unlimited" non proprio illimitato
create tablespace my_tablespace
datafile 'C:\My\Oracle\Install\DataFile01.dbf' size 10M
autoextend on
next 512K
maxsize unlimited;
Mentre l'importazione era in esecuzione ho ottenuto un errore:
ORA-01652 Unable to extend my_tablespace segment by in tablespace
Quando ho esaminato i file di dati nella tabella DBA_DATA_FILES, Ho osservato che il valore massimo era di circa 34 GB. Poiché conoscevo la dimensione generale del database, sono stato in grado di importare il file .dmp senza problemi dopo aver aggiunto più file di dati nello spazio tabella.
Perché ho dovuto aggiungere più file di dati nello spazio tabelle quando il primo che ho aggiunto è stato impostato per aumentare automaticamente a una dimensione illimitata? Perché la dimensione massima è di 34 GB e non è illimitata? C'è un limite massimo di 34 GB?
Qual è il blocco DB? A (tablespace smallfile) [datafile può avere solo 2^22 blocchi] (http://docs.oracle.com/cd/E11882_01/server.112/e40402/limits002.htm#REFRN0042), quindi suppongo che tu stia colpendo quel limite con i blocchi 8kb? –
Credo di aver raggiunto questo limite. Avevo (apparentemente erroneamente) presunto che l'estensione "illimitata" si espandesse fino a quando il sistema operativo non esaurisse lo spazio HD. Per chiarimenti, quello che stai dicendo è che c'è un limite? – spots
Sì; ma varia in base alla dimensione del blocco: il numero di blocchi è limitato, non è un limite diretto alle dimensioni. La dimensione specificata è un limite flessibile. Come menzionato da Jon, puoi specificare più file di dati i cui limiti soft ammontano a più dello spazio disponibile su disco. E ricorda che a Oracle piace separare la logica dal fisico: lo stesso DDL logico ha un limite fisico diverso su due sistemi con blocchi diversi. –