martes, 3 de febrero de 2015

Mover datafile SYSTEM, SYSAUX, UNDOTBS y USERS a otra ruta de sistema operativo

Amig@s,

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