Este post es para aprender como mover datafiles de una ruta (PATH) a otro. la razón es por que común mente la base de datos se instala en la raiz / y no siempre asignamos el recurso necesario y no medimos el crecimiento de la base de datos por lo que ampliar espacio a un disco LVM y mover a otra partición es la solución.
AMPLIAR EL VOLUMEN DE GRUPO
Para poder
ampliar el LVM por comando usamos los siguientes comandos
lvdisplay – Permite
ver el nombre del volumen de discos.
Vgdisplay –
Permite ver el grupo de discos y cuanto tiene disponible.
lvextend –
Permite ampliar el LVM.
resize2fs –
Permite fijar el espacio y presentar en nuevo tamaño al Sistema operativo.
Pasos
para aumentar las particiones de sistema operativo todo se debe hacer con el
usuario root
1. Ver el nombre del volumen de disco
[root@mcpebi ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vgo/lv0
LV Name lv0
VG Name vgo
LV UUID
pAH7SC-kzF0-cO31-oo8j-8DEm-vVo3-tPjlB8
LV Write Access read/write
LV Creation host, time
oracle.refundation.com, 2013-12-19 12:39:19 -0500
LV Status available
# open 1
LV Size 94.53 GiB
Current LE 24199
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block
device 252:0
2. Ver el grupo del volumen de disco y su espacio
disponible para aumentar
[root@mcpebi ~]# vgdisplay
--- Volume group ---
VG Name vgo
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur
PV 1
Act PV 1
VG Size 94.53 GiB
PE Size 4.00 MiB
Total PE 24199
Alloc PE / Size 24199 /
94.53 GiB
Free
PE / Size 0 / 500GB
VG
UUID
rjtI3d-QmqM-RAyH-lW29-xobK-kBdE-sdSthI
3. Aumentar espacio al volumen lógico
[root@ mcpebi /]# lvextend -L +300G
/dev/vgo/lv0
Extending logical volume LogVol00 to 394,53 GB
4. Presentar el tamaño al sistema operativo
[root@ mcpebi /]# resize2fs /dev/vgo/lv0
Y ya se tiene la partición del LVM con el nuevo tamaño.
MOVER DATAFILES
DATAFILES DEL SISTEMA
Realizar
estos pasos con usuario oracle
1. Para poder mover los datafile de sistema Oracle que
son SYSTEM, SYSAUX, UNDOTBS es necesario
tener la base en modo mount.
[root@mcpebi ~]# su - oracle
[oracle@mcpebi
~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Feb 3 14:04:01 2015
Copyright (c) 1982, 2011, Oracle.
All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit
Production
With the Partitioning, OLAP, Data Mining and Real Application Testing
options
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 6263357440 bytes
Fixed Size
2239976 bytes
Variable Size
2113929752 bytes
Database Buffers
4127195136 bytes
Redo Buffers
19992576 bytes
Database mounted.
2. Copiar los archivos de datos SYSTEM, SYSAUX Y
UNDOTBS a la nueva ruta
[oracle@mcpebi ~]$ cp /home/oracle/oradata/warehouse/system.dbf
/data/oracle/oradata/
[oracle@mcpebi ~]$ cp /home/oracle/oradata/warehouse/sysaux.dbf
/data/oracle/oradata/
[oracle@mcpebi ~]$ cp /home/oracle/oradata/warehouse/undo.dbf
/data/oracle/oradata/
3. Cambiar los apuntadores en la base de datos
[oracle@mcpebi ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Feb 3 14:13:57 2015
Copyright (c) 1982, 2011, Oracle.
All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit
Production
With the Partitioning, OLAP, Data Mining and Real Application Testing
options
SQL> ALTER DATABASE RENAME FILE '/home/oracle/oradata/warehouse/system.dbf'
to '/data/oracle/oradata/system.dbf';
Database altered
SQL> ALTER DATABASE RENAME FILE '/home/oracle/oradata/warehouse/sysaux.dbf'
to '/data/oracle/oradata/sysaux.dbf';
Databsae altered
SQL> ALTER DATABASE RENAME FILE '/home/oracle/oradata/warehouse/undo.dbf'
to '/data/oracle/oradata/undo.dbf';
Database altered
·
Al tratar de abrir la base de datos nos sale un
error en los datafile por lo que se requiere recuperar
Para ello
realizamos los siguientes pasos
4. Listar estado de datafiles
SQL> select name, file#, status, enabled from v$datafile;
NAME
——————————————————————————–
FILE# STATUS ENABLED
———- ——- ———-
/data/oracle/oradata/system.dbf
1 SYSTEM DISABLED
/data/oracle/oradata/undo.dbf
2 ONLINE DISABLED
/data/oracle/oradata/sysaux.dbf
3 ONLINE DISABLED
5. Recuperar datafiles
SQL> recover datafile 1;
Recuperación del medio físico terminada.
SQL> recover datafile 2;
Recuperación del medio físico terminada.
SQL> recover datafile 3;
Recuperación del medio físico terminada.
6. Abrir base de datos
SQL> alter database open;
Database altered.
·
Una vez la base arriba ya podemos borrar los datafiles de la antigua
partición con el comando rm –rf [Ruta de archivo]<Nombre archivo>
DATAFILE USER
Para
poder mover este datafile no es necesario apagar la base pero si se debe
indisponer las transacciones para evitar que se conecten recomiendo bajar el
listener o hacer en horarios no laboral
1. Copiar el datafile user.dbf a la nueva partición
[oracle@mcpebi ~]$ cp /home/oracle/oradata/warehouse/users.dbf
/data/oracle/oradata/
2. Poner el tablespace fuera de servicio
SQL> ALTER TABLESPACE USERS OFFLINE NORMAL;
Tablespace altered
3. Cambiar los apuntadores en la base de datos
SQL> ALTER TABLESPACE USERS RENAME DATAFILE
'/home/oracle/oradata/warehouse/users.dbf' TO '/data/oracle/oradata/users.dbf';
Tablespace altered
4. Poner el tablespace en línea
SQL> ALTER TABLESPACE USERS ONLINE;
Tablespace altered
· Una vez el tablespace este en línea ya podemos borrar el datafiles de la antigua partición con el comando rm –rf [Ruta de archivo]<Nombre archivo>
ü Se recomienda validar los respaldos
de RMAN que se ejecuten bien debido a que la estructura cambió.
ü Se recomienda validar procesos internos para no ocupar la partición de sistema operativo y binarios de oracle y enfocar todos los archivos en la partición /data.
No hay comentarios:
Publicar un comentario