viernes, 22 de marzo de 2013

Listar los 10 subdirectorios de mayor tamaño en linux

Para listar los 10 subirectorios de mayor peso:

du -h *|sort -n|tail

 Muy útil para cuando ya se nos agota el espacio en disco.

viernes, 8 de marzo de 2013

trabajar con tablespaces en oracle 10g

Para mover, modificar, ajustar el tamaño y el uso de un tablespace debemos realizar los siguientes pasos:

  1. Crear un nuevo tablespace
  2. Mover todo lo que pertenezca al tablespace al nuevo tablespace.
  3. Borramos el antiguo tablespace
  4. Renombrar el tablespace como el antiguo tablespace
  5. modificar el tamaño del tablespace si es necesario

  Necesitamos crear un nuevo tablespace el cual será quien almacene los datos del antiguo tablespace, el cual se encuentra dañado o con x problema.
 Para hacer esto debemos ejecutar lo siguiente:

 CREATE TABLESPACE OPTIONAL DATAFILE 'optional_IDX.dbf' SIZE 500M ONLINE

create tablespace: Crea un nuevo tablespace dentro de la bd.
optional: Nombre del nuevo tablespace.
datafile: Nombre del archivo lógico que almacenará el tablespace.
size:Tamaño maximo del tablespace
online:Activa y accesible en la bd.

Realizado esto tendremos nuestro nuevo tablespace para trabajar.

 Para realizar esto generamos un script para luego exportar el resultado a un archivo .sql el cual ejecutaremos para mover nuestros datos de un tablespace al nuevo tablespace.

 select 'ALTER TABLE owner_name.' || table_name || ' MOVE TABLESPACE optional;' from dba_tables 
where tablespace_name ='tablespace_name' and owner='owner_name';

Con esto obtenemos un listado de todos los datos que tengamos en nuestro tablespace.
Tambien podemos exportar los indices si  es que existen.

SELECT 'ALTER INDEX '||OWNER_name||'.'|| INDEX_NAME|| ' REBUILD TABLESPACE OPTIONAL;' FROM DBA_INDEXES WHERE OWNER='owner_name';


drop tablespace tablespace_name;


ALTER tablespace optional rename to tablespace_name;

Con esto renombramos el tablespace que creamos y lo dejamos con el nombre del antiguo tablespace o con el nombre que necesitamos.

Para modificar el tamaño:
ALTER DATABASE DATAFILE 'xxxx.dbf' RESIZE 50M;

Para modificar el nombre:
 Debemos dejar el tablespace offline:
ALTER TABLESPACE tablespace_name OFFLINE NORMAL;

Para renombrar el archivo primero debemos modificarlo accediendo por el SO a la carpeta donde se ubica el archivo del tablespace y cambiar el nombre, luego modificar el nombre en la bd.

ALTER TABLESPACE tablespace_name RENAME DATAFILE 'tablespace_name.dbf' TO 'new_tablespace_name.dbf';

Activar el tablespace para el acceso

ALTER TABLESPACE tablespace_name ONLINE;


Cualquier duda llamar al 01189998819991197253