Oracle 11GXE und das 11 Gigabyte limit


Hallo,
ich bin öfters gefagt worden, wie das 11G XE Datenbank Limit bei der Oracle XE genau aussieht. Deswegen möchte ich hier kurz ein Beispiel posten. Nun, es geht hier um die Grösse aller Datafiles der Datenbank (davon ausgenommen TEMP und UNDO Tablespace). Auch ist es möglich ein Datafile anzulegen, welches z.B. 10GB gross ist und seitens dem autoextend über 11G wachsen darf. In diesem Fall greift ebenfalls das Oracle XE limit welches ich hier auch zeigen werden.

Hier ein kleines Beispiel:

Legen wir einen Tablespace an der das 11G Limit überschreitet bekommen wir einen ORA-12953:

SQL> create tablespace appdata datafile '/u01/app/oracle/oradata/XE/appdata01.dbf' size 18G;
 create tablespace appdata datafile '/u01/app/oracle/oradata/XE/appdata01.dbf' size 18G
 *
 ERROR at line 1:
 ORA-12953: The request exceeds the maximum allowed database size of 11 GB

Versuchen wir 2 Tablespaces anzulegen, welche das 11G Limit überschreiten bekommen wir ebenfalls einen ORA-12953:

SQL> create tablespace appdata datafile '/u01/app/oracle/oradata/XE/appdata01.dbf' size 10G;
Tablespace created.
SQL> create tablespace appindex datafile '/u01/app/oracle/oradata/XE/appindex01.dbf' size 5G;
 create tablespace appindex datafile '/u01/app/oracle/oradata/XE/appindex01.dbf' size 5G
 *
 ERROR at line 1:
 ORA-12953: The request exceeds the maximum allowed database size of 11 GB

Auch der resize Befehl wird hier überwacht und mit einem ORA-12953 abgebrochen:

SQL> alter database datafile '/u01/app/oracle/oradata/XE/appdata01.dbf' resize 15G;
alter database datafile '/u01/app/oracle/oradata/XE/appdata01.dbf' resize 15G
*
ERROR at line 1:
ORA-12953: The request exceeds the maximum allowed database size of 11 GB

Auf der anderen Seite (APP Data Tablespace mit 10G existiert noch) vergrösseren wir unseren TEMP Tablespace, spielt dieser bei der gesamt grösse nicht mit:

SQL> alter database tempfile 1 resize 5G;
Database altered.

Das gleiche gilt auch für den UNDO Tablespace (auch hier gibt es noch den App Tablespace mit 10 Gigabyte).

SQL> select tablespace_name from dba_data_files where file_id = 3;

TABLESPACE_NAME
------------------------------
UNDOTBS1

SQL> alter database datafile 3 resize 5G;
Database altered.

Was aber zu schaffen ist, das Datafile mit der Autoextend Klausel auf über 11G zu setzten, jedoch wird der Versuch ein Segment mit über 11G anzulegen mit einem ORA-12953 unterbunden:

SQL> alter database datafile '/u01/app/oracle/oradata/XE/appdata01.dbf' autoextend on maxsize 15G;

Sehen wir was passiert wenn wir ein Segment mit über 11G anlegen.

insert into test select * from test
*
ERROR at line 1:
ORA-12953: The request exceeds the maximum allowed database size of 11 GB

Ich hoffe das dies etwas klarheit verschafft.

Wie immer freue ich mich über Kommentare

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s