Bonjour,
Sur notre instance 11.5.9 (base 9.2.0.7), j'ai re créé un tablespace pour les UNDO. Le nouveau tablespace est UNDO_TBS1, l'ancien est APPS_UNDOTS1.
J'ai permuté la tablespace dans la base
=>
Jusque la pas de problemes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SQL> show parameter undo NAME TYPE VALUE ------------------------------------ ----------- undo_management string AUTO undo_retention integer 1800 undo_suppress_errors boolean FALSE undo_tablespace string UNDO_TBS1
Les données de l'ancien tablespace sont bien expirées
=>
Donc a priori l'ex UNDO tablespace ne sert plus a rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 SQL> select 'Il y a ' || count(*) || ' transactions ' || status || ' dans le tablespace ' || tablespace_name from DBA_UNDO_EXTENTS group by status, tablespace_name order by tablespace_name, status; 'ILYA'||COUNT(*)||'TRANSACTIONS'||STATUS||'DANSLETABLESPACE'||TABLESPACE_NAME -------------------------------------------------------------------------------- Il y a 162 transactions EXPIRED dans le tablespace APPS_UNDOTS1 Il y a 143 transactions EXPIRED dans le tablespace UNDO_TBS1 Il y a 4 transactions UNEXPIRED dans le tablespace UNDO_TBS1 SQL> select count(*) from dba_undo_extents where tablespace_name = 'APPS_UNDOTS1' 2 MINUS 3 select count(*) from dba_undo_extents where tablespace_name = 'APPS_UNDOTS1' and status = 'EXPIRED'; no rows selected SQL> select count(*) from v$recover_file; COUNT(*) ---------- 0
Je décide donc de le mettre OFFLINE dans le but de le supprimer plus tard.
Et la probleme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SQL> alter tablespace APPS_UNDOTS1 offline; Tablespace altered. SQL> select tablespace_name, status from dba_tablespaces where tablespace_name ='APPS_UNDOTS1'; TABLESPACE_NAME STATUS ------------------------------ --------- APPS_UNDOTS1 OFFLINE
Lorsque je remet le tablespace ONLINE, tout rentre dans l'ordre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SQL> select count(*) from v$recover_file; COUNT(*) ---------- 2 SQL> select file#, file_name from v$recover_file, dba_data_files where v$recover_file.file# = dba_data_files.file_id; FILE# FILE_NAME -------------------------------------------------------------------------------- 6 E:\ORACLE\PROD\PRODDATA\DATA\RBS01.DBF 378 E:\ORACLE\PROD\PRODDATA\DATA\RBS02.DBF
Evidemment utilisant une 11.5.9, dès que l'ex tablespace est OFFLINE, j'ai tout un tas d'erreur de Workflow (Concurrent Managers) ...
Selon vous est ce que ce comportement est tres normal ?!
Comment se débarasser de ce tablespace ? Un DROP ?! Oui mais je suis pas tres rassurée (surtout en NOARCHIVELOG).
Merci
Partager