Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/12/2007, 13h14   #1
Rédacteur
 
Avatar de Stessy
 
Homme Stessy Delcroix
Senior Software Engineer JEE
Inscription : avril 2002
Messages : 744
Détails du profil
Informations personnelles :
Nom : Homme Stessy Delcroix
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Senior Software Engineer JEE
Secteur : Finance

Informations forums :
Inscription : avril 2002
Messages : 744
Points : 1 092
Points : 1 092
Par défaut [XMLTYPE] move d'un tablespace à un autre

Bonjour à tous,

je suis en train de transferer une série de LOB d'un tablespace à un autre.
Pour les LOB pas de problème, mais pour les colonnes de type xmltype (CLOB), il n'accepte pas le simple move.

Code :
ALTER TABLE epss_xmltemplateforms move lob(stored_form) STORE AS  (tablespace epss_data_lob)
Ce code marche très bien avec les LOB mais pas avec les XMLTYPE(CLOB).

Donc voilà je suis coincé.

Si vous avez une solution, je l'accepte de suite

Merci d'avance pour vos réponses.
__________________
Langages : Java, SQL
Outils : Eclipse, Intellij
SGBD : Oracle, PostgreSQL
Mes Articles
Stessy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2007, 14h16   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Voila ce que propose Metalink :
Citation:
* goal: How to Move XMLTYPE LobSegment To a Different Tablespace ?
* fact: Oracle Server - Enterprise Edition 9.2.0.1



fix:

1. If you need to move the lob segment associated to an XMLTYPE column to
another tablespace :

SQL> create table test (id NUMBER, spec XMLTYPE);
Table created.

SQL> select table_name,column_name,segment_name from user_lobs;

TABLE_NAME COLUMN_NAME SEGMENT_NAME
---------- -------------- -------------------------
TEST SYS_NC00003$ SYS_LOB0000027563C00003$$

SQL> select segment_name,segment_type,tablespace_name
from user_extents
where segment_name='SYS_LOB0000027563C00003$$';

SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME
------------------------- ------------ ---------------
SYS_LOB0000027563C00003$$ LOBSEGMENT SYSTEM

2. Use the ALTER TABLE MOVE LOB command to move the XMLDATA of the lob
segment to another tablespace:

SQL> alter table test move lob (spec.XMLDATA) store as test_clob
(tablespace USERS);
Table altered.

SQL> select table_name,column_name,segment_name from user_lobs;

TABLE_NAME COLUMN_NAME SEGMENT_NAME
---------- -------------- -------------------------
TEST SYS_NC00003$ TEST_CLOB

SQL> select segment_name,segment_type,tablespace_name
from user_extents
where segment_name='TEST_CLOB';

SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME
------------------------- ------------ ---------------
TEST_CLOB LOBSEGMENT USERS

3. To get the following information from the dictionary views, you need to be
in a patched version of 9.2.0.1:

SQL> select * from ALL_XML_TAB_COLS where table_name='TEST' ;

OWNER TABLE_NAME COLUMN_NAME STORAGE_TYPE
------- ---------- ----------- -------------
ELECTRE TEST SPEC CLOB
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 10h15   #3
Rédacteur
 
Avatar de Stessy
 
Homme Stessy Delcroix
Senior Software Engineer JEE
Inscription : avril 2002
Messages : 744
Détails du profil
Informations personnelles :
Nom : Homme Stessy Delcroix
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Senior Software Engineer JEE
Secteur : Finance

Informations forums :
Inscription : avril 2002
Messages : 744
Points : 1 092
Points : 1 092
Merci à toi pour la réponse, cela fonctionne parfaitement.

Mais d'un autre coté je dois être rouge de honte.
Ayant un accès à metalink, je n'ai même pas pensé aller voir directement là.

Merci quand même
__________________
Langages : Java, SQL
Outils : Eclipse, Intellij
SGBD : Oracle, PostgreSQL
Mes Articles
Stessy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 10h22   #4
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
ça mériterait un ban

orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 11h10   #5
Rédacteur
 
Avatar de Stessy
 
Homme Stessy Delcroix
Senior Software Engineer JEE
Inscription : avril 2002
Messages : 744
Détails du profil
Informations personnelles :
Nom : Homme Stessy Delcroix
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Senior Software Engineer JEE
Secteur : Finance

Informations forums :
Inscription : avril 2002
Messages : 744
Points : 1 092
Points : 1 092
Bouuuuuu le méchant responsable SGBD


J'aurais une autre question.

Quels pourraient être les autres objets présents dans un tablespace à part les table, dba segment, et indexes. Je n'ai pas de partitioning.

J'ai effectué un move de ces trois catégories d'objets.

Mais le tablespace n'est pas tout à fait vide, il reste 200K.

J'ai executé ce script sur la table all_tab_columns

Code :
SELECT 'select count(*),'''||table_name||''' from '||table_name || ' where tablespace_name=''USERS'';'  FROM all_tab_columns WHERE column_name = 'TABLESPACE_NAME'
et ensuite j'ai éxécute les différentes requêtes.
Mais rien de bien significatif, les rows retournées étaient en rapport avec les table (user_tablespace,dba_free_space,...)


Voilà

D'avance merci pour vos réponses
__________________
Langages : Java, SQL
Outils : Eclipse, Intellij
SGBD : Oracle, PostgreSQL
Mes Articles
Stessy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 11h17   #6
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
tout est dans DBA_SEGMENTS. Si ton tablespace occupe 200k c'est probablement simplement un ou plusieurs extents alloué mais vide
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 11h25   #7
Rédacteur
 
Avatar de Stessy
 
Homme Stessy Delcroix
Senior Software Engineer JEE
Inscription : avril 2002
Messages : 744
Détails du profil
Informations personnelles :
Nom : Homme Stessy Delcroix
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Senior Software Engineer JEE
Secteur : Finance

Informations forums :
Inscription : avril 2002
Messages : 744
Points : 1 092
Points : 1 092
Eh bien dans DBA_SEGMENTS c'est vide pour ce tablespace

Citation:
select * from dba_segments where tablespace_name='USERS'
Donc je suppose que je peux faire un drop de ce tablespace.


Merci
__________________
Langages : Java, SQL
Outils : Eclipse, Intellij
SGBD : Oracle, PostgreSQL
Mes Articles
Stessy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 11h26   #8
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
oui
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 12h06   #9
Rédacteur
 
Avatar de Stessy
 
Homme Stessy Delcroix
Senior Software Engineer JEE
Inscription : avril 2002
Messages : 744
Détails du profil
Informations personnelles :
Nom : Homme Stessy Delcroix
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Senior Software Engineer JEE
Secteur : Finance

Informations forums :
Inscription : avril 2002
Messages : 744
Points : 1 092
Points : 1 092
Voilà

Merci beaucoup pour ton aide.
__________________
Langages : Java, SQL
Outils : Eclipse, Intellij
SGBD : Oracle, PostgreSQL
Mes Articles
Stessy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h04.


 
 
 
 
Partenaires

Hébergement Web