Oracle - Tablespace UNDO - ORACLE

 
Vista:

Tablespace UNDO - ORACLE

Publicado por Shirley Paucar (2 intervenciones) el 09/09/2005 00:21:26
Por favor necesito que alguien me ayude tengo una base de datos en oracle9.0.1 que tiene como rollback segment el tablespace RBS pero a cada momento a los usuarios les da el error de
20100085225-OK-ORA-01555: snapshot too old: rollback segment number 10 with name "R10" too small
La solución que me dierón es cambiar el tablespace RBS por el Tablespace UNDO y quisiera saber si drop tablespace RBS y creando el tablespace undo se hace el cambio sin afectar en nada a la base de datos por favor ayundenme...
CREATE UNDO
TABLESPACE "UNDOTBS1"
DATAFILE 'D:\ORACLE\ORADATA\MEFWEB\UNDOTBS01.DBF' SIZE 13080M
REUSE AUTOEXTEND
ON NEXT 5120K MAXSIZE 32767M
ahh otra pregunta
como hago para reducir el tamaño de un datafile que tiene el tablespace undo es de 13080M y quisiera reducirlo a 2048M es posible borrarlo y volverlo a crear con un nuevo tamaño de datafile esto afectaria a mi base de datos????
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Tablespace UNDO - ORACLE

Publicado por chemian (75 intervenciones) el 12/09/2005 08:51:26
Primero, tienes que especificar el el parametro undo_management como auto y undo_tablespace con el nombre del tablespace que vallas a poner de undo.

Si quieres quieres cambiar el tamaño del tablespace de undo, tienes que crear uno nuevo con el tamaño que tu quieres y una vez creado, haces <<alter system set undo_tablespace=NB_NUEVO_UNDO_TABLESPACE>> una vez que has hecho el alter system, ejecuta esta select para ver si el anterior tbs de undo lo puedes borrar

SQL> SELECT a.name,b.status
2 FROM v$rollname a, v$rollstat b
3 WHERE a.name IN ( SELECT segment_name
4 FROM dba_segments
6 AND a.usn = b.usn;

NAME STATUS
------------------------- ---------------
_SYSSMU4$ PENDING OFFLINE

si tu anterior tablespace de undo no aparece, podras borrarlo sin problemas, en caso contrario, deberas esperar a que desaparezca del resultado. Esto ocurrira cuando las transacciones que se hicieron durante el cambio de tablespace se confirmen. Sera entonces, cuando puedes borrar el anterior con drop undo tablespace undotbs1.

Si te sigue dando problemas con el error que comentabas, intenta aumentar el parametro undo retention, que es un parametro especificado en segundos, que indica el tiempo que el tablespace de undo retiene la informacion.

Espero que te sea de ayuda.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tablespace UNDO - ORACLE

Publicado por shirley (2 intervenciones) el 13/09/2005 23:55:10
Hola Chemian:

Gracias por tu ayuda lo he aplicado y me funciono....
Aqui tengo otros pasos que me parecen de mucha utilidad.
SQL> create undo tablespace undotbs
2 datafile 'f:\olga\undotbs01.dbf' size 300M;

Tablespace created.
SQL> alter system set undo_management=auto scope=spfile;

System altered.

SQL> alter system set undo_tablespace=undotbs scope=spfile;

System altered.

SQL> alter system set undo_retention=1200 scope=spfile;

System altered.

SQL> alter system set undo_suppress_errors=TRUE scope=spfile;

System altered.

SQL> SELECT segment_name,tablespace_name,status FROM dba_rollback_segs;

Luego das el shutdown y startup...

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar