oracle@myserver$ df -m|egrep '(Filesystem)|(/mydb/undo)' Filesystem 1M-blocks Used Available Use% Mounted on 24576 24572 4 100% /mydb/undo oracle@myserver$ sqlplus '/ as sysdba' SQL*Plus: Release 10.2.0.4.0 - Production on Thu Jan 26 22:57:35 2012 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options SQL> drop tablespace myundo including contents and datafiles; Tablespace dropped. SQL> create undo tablespace mynewundo datafile '/mydb/undo/undo.dbf' size 10g; create undo tablespace mynewundo datafile '/mydb/undo/undo.dbf' size 10g * ERROR at line 1: ORA-01119: error in creating database file '/mydb/undo/undo.dbf' ORA-27044: unable to write the header block of file Linux-ia64 Error: 28: No space left on device Additional information: 4 SQL> quit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options oracle@myserver$ df -m|egrep '(Filesystem)|(/mydb/undo)' Filesystem 1M-blocks Used Available Use% Mounted on 24576 24572 4 100% /mydb/undo oracle@myserver$ ls -la /mydb/undo total 16 drwxr-xr-x 4 root root 4096 Jan 20 2010 . drwxr-xr-x 4 root root 4096 Dec 17 2009 .. drwxr-xr-x 2 root root 4096 Dec 17 2009 lost+found
Como podrás haberte dado cuenta no hay espacio recuperado por eliminar ese tablespace de undo, y ya que necesitamos crear un nuevo tablespace de undo en el mismo sistema de archivos tenemos que hacer algo.
Yo no tengo muchas bases de datos ubicadas en sistemas de archivos OCFS2 por lo que no me preocupé por encontrar la causa raíz de este problema, y ya que tenía esta base de datos sin usuarios conectados sólo creé un pequeño tablespace de undo en otro lugar, di de baja la instancia, y después de hacerlo recuperé el espacio:
oracle@myserver$ df -m|egrep '(Filesystem)|(/mydb/undo)' Filesystem 1M-blocks Used Available Use% Mounted on 24576 359 24217 2% /mydb/undo oracle@myserver$ ls -la /mydb/undo total 16 drwxr-xr-x 4 root root 4096 Jan 20 2010 . drwxr-xr-x 4 root root 4096 Dec 17 2009 .. drwxr-xr-x 2 root root 4096 Dec 17 2009 lost+found oracle@myserver$ mount|grep /mydb/undo /dev/mapper/myvg-undo on /mydb/undo type ocfs2 (rw,_netdev,datavolume,nointr,heartbeat=local) oracle@myserver$ uname -a Linux myserver.localdomain 2.6.9-67.EL #1 SMP Wed Nov 7 13:43:35 EST 2007 ia64 ia64 ia64 GNU/Linux oracle@myserver$ /sbin/lsmod|grep ocf ocfs2 744096 26 debugfs 27340 2 ocfs2 ocfs2_dlmfs 53416 1 ocfs2_dlm 424192 2 ocfs2,ocfs2_dlmfs ocfs2_nodemanager 316791 32 ocfs2,ocfs2_dlmfs,ocfs2_dlm configfs 65468 2 ocfs2_nodemanager jbd 149272 2 ocfs2,ext3 oracle@myserver$ /sbin/modinfo ocfs2 filename: /lib/modules/2.6.9-67.EL/kernel/fs/ocfs2/ocfs2.ko license: GPL author: Oracle version: 1.2.9 1B43458FD47258934A48F1C description: OCFS2 1.2.9 Mon May 19 14:04:34 PDT 2008 (build a693806cb619dd7f225004092b675ede) depends: ocfs2_nodemanager,ocfs2_dlm,jbd,debugfs vermagic: 2.6.9-67.EL SMP ia64gcc-3.4
Sé que este es sólo un arreglo temporal y no uno bueno, pero funciona bien y puedes continuar con lo que sigue.
No hay comentarios.:
Publicar un comentario