Bonjour à tous,
Le contexte :
- Oracle 9i
- OS : solaris 8
- Soit une table MaTable partitionnée (45 partitions)
- Toutes les partitions sont sous-partitionnées (4 sous-partitions)
- Chaque partition (et ses sous-partitions) sont positionnés dans un tablespace spécifique
- Nous avons donc 45 tablespaces de données d'une taille de ~ 1 Go (TBS_DATA_P1 à TBS_DATA_P45)
- Cette même table possèdent aussi des indexes (eux-mêmes partitionnés et sous-partitionnés).
- Nous avons donc 45 tablespaces d'indexes d'une taille de ~400Mo (TBS_IND_P1 à TBS_IND_P45)
- Les 45 tablespaces des données sont répartis (par rotation) sur 10 axes disques /data01 à /data10
- Les 45 tablespaces des indexes sont répartis (par rotation) sur 10 axes disques /index01 à /index10
L'objectif :
Je désire reorganiser le plan de nommage de l'occupation disque pour obtenir un unique axe dédié aux 45 tablespaces de données et un second dédié aux 45 tablespaces d'indexes.
Après avoir consulter la documentation et quelques discussions, je viens vers vous pour connaitre votre avis ou conseil...
J'envisage la chose suivante :
- Allocation d'un espace temporaire de 50 Go
- Déplacement des datafiles des tables données dans cette espace temporaire
- L'équipe technique transforme le plan de nommage /data01 à /data10 en /datauniq
- Déplacement des datafiles de l'espace temporaire vers /datauniq
- Même combat pour les tablespaces d'indexes
J'envisage le déplacement des datafiles de la facon suivante :
La cible étant une industrialisation du process sur une base en production (600 Go data + indexes), je veux user de prudence en vous consultant sur le sujet...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 -- On s'assure qu'aucune transaction n'est possible le temps de manip -- Mise hors tension du tablespace ALTER TABLESPACE <TABLESPACE> OFFLINE NORMAL; -- Deplacement physique des datafiles du tablespace <TABLESPACE> sous l'OS mv <SOURCE> <CIBLE> -- Deplacement logique des datafiles du tablespace <TABLESPACE> ALTER DATABASE RENAME FILE '<SOURCE>' TO '<CIBLE>'; -- Mise en ligne du tablespace <TABLESPACE> ALTER TABLESPACE <TABLESPACE> ONLINE;
J'ouvre donc la discussion de manière très ouverte (aware comme dirait l'autre)
- Est-ce une bonne solution ?
- Dois-je préférer reconstruire mes indexes ? Malgré le temps que cela prendra ...
- Avez-vous une meilleure solution ?
![]()
Dans tous les cas, je vous remercie d'avance de votre intérêt à ma cause !!!
Christophe
Partager