dimecres, 1 d’octubre de 2014

Extending Oracle Tablespaces

Un problema corrent que sol apareixer quan es gestiona una base de dades Oracle es l'ampliació d'un tablespace. Per ampliar el tablespace el primer que hem de fer es conectar-nos al sistema i accedir a la base de dades.
[user@homedb ~]$ sudo su -
[root@homedb ~]# su - oracle
==============================================================
Choose and load a profile:
Run asm -- For GRID PROFILE --
Run db -- For DB PROFILE --
==============================================================
[oracle@homedb ~]$ db
[oracle@homedb ~]$ sqlplus '/as sysdba'
Una volta veiem quin es el tablespace que presenta problemes consultem el seu estat.
SQL> select file_name, tablespace_name, \
bytes/1024/1024 MB, autoextensible, maxbytes, \
increment_by from dba_data_files \
where tablespace_name='PERFSTAT';

FILE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME MB AUT MAXBYTES INCREMENT_BY
------------------------------ ---------- --- ---------- ------------
/opt/oradata/db01test/perfstat_01.dbf
PERFSTAT 1500 NO 0 0
La següent taula ens mostra que el tablespace te 1500MB i que no es autoincrementable. Una volta tenim aquesta informació consultem l'espai disponble a la partició.
SQL> !df -h /opt/oradata/db01test/perfstat_01.dbf
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup1-u02
                       94G 57G 33G 64% /opt
Com es pot veure la partició on esta el tablespace disposa d'espai lliure, llavors podem ampliar el seu espai. El pròxim que farem serà duplicar l'espai del tablespace amb la següent comanda:
SQL> alter database datafile '/opt/oradata/db0101test/perfstat_01.dbf' \
resize 3000M;

Database altered.
Si tornem a revisar el tablespace veurem com ha sigut ampliat.
SQL> select file_name, tablespace_name, \
bytes/1024/1024 MB, autoextensible, maxbytes, \
increment_by from dba_data_files \
where tablespace_name='PERFSTAT';

FILE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME MB AUT MAXBYTES INCREMENT_BY
------------------------------ ---------- --- ---------- ------------
/opt/oradata/db01test/perfstat_01.dbf
PERFSTAT 3000 NO 0 0
Si revisem tots els tablespaces veurem que tornem a tenir espai disponible.
SQL> select * from dba_tablespace_usage_metrics;


TABLESPACE_NAME USED_SPACE TABLESPACE_SIZE USED_PERCENT
------------------------------ ---------- --------------- ------------
...
PERFSTAT 175200 384000 45.625
...

21 rows selected.

Cap comentari:

Publica un comentari a l'entrada