|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 5 ![]() |
Bonjour,
Après une bonne semaine à chercher ( et sans réponse du support Oracle d'ailleurs ) , je pose enfin la question sur ce merveilleux forum ( non la vaseline c'est après ) . Dans notre structure nous avons plusieurs bases Oracle et nous comptons quelques bases de test ( pour faire joujou avec l'outil ). Durant une session de travail et de recherche intensive ( comprendre : café ) , une tablespace a été drop littéralement. La suppression a été fait via Toad ( boom direct supprimer ) , n'étant pas en clin à me décourager j'ai entrepris de chercher une solution à la restauration du tablespace supprimé. Ceci dit le fichier datafile corrrespondant à la tablespace existe tjrs. Nom de la tablespace supprimé : TEST_IDX_DTG Nom du fichier datafile associé à la tablespace : TEST_IDX_DTG.dbf Malgré mes efforts ,impossible de trouver une commande qui restaure uniquement un tablespace en fonction du fichier et ce malgré des redologs/archivelogs . Maintenant ceci ont été supprimés ( ca date de +1 semaine ) , nous avons tjrs des sauvegardes de la base sur bande ainsi que l'export dump 5 min avant la suppression de la tablespace. Ceci dit j'aimera savoir si il existe une autre commande qu'un bête imp file='nomdufichier5avant.dump' full=yes ignore=yes commit=yes ? Amicalement, |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : septembre 2005 Messages : 94 ![]() |
ça n'est pas difficile
la restauration d'un tablespace supprimé, d'après moi est récupérable sous rman avec un restore incomplet (UNTIL CANCEL) il faut trouver à quel moment on arrête la restauration (une date précise, un n° SCN etc) Mais comme vous avez un export ...c'est des plus simple ...du moment où on SAIT exactement ce qu'il y avait dans ce tablespace... si par hasard les objets présents appartenaient à un seul utilisateur ou que l'export est full!! c'est gagné! Recréer le tablespace (nom de fichier différent si il y a la place) et restaurer...mais restaurer que ce qui appartenait à ce tablespace, sinon on écrase des choses existantes. Si c'est difficile, restaurer dans une base temporaire ça permet de tester. J'espère qu evous vous en sortirez. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 5 ![]() |
Tout d'abord je m'excuse pour l'oubli , j'ai omis de préciser que la base tournait sous Oracle 8.1.7 ( non ne me flagellez pas le passage en 10G voir 11G ( en test chez nous pour nos prologiciels) et prévu en 2008 )
En faite je cherchais une solution plus "dure", l'importation par un utilisateur en full de ma bdd du dump est chose aisée. Je pensais qu'il existait une commande du type recover tablespace on datafile='blalbalba.dbf' mais apparemment pas du tout ou du moins pas sous 8.1.7 . Le NetApp n'étant pas au budget de cette année ca ne sera pas non plus une solution ( FlexClone-Vol :'( ) . Merci pour vos solutions. |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : mai 2007 Messages : 113 ![]() |
Il nous manque des infos, sauvegarde par RMAN, par "begin bck ; end bck" ?
Solution 1) SQL> create tablespace TEST_IDX_DTG ... SQL> alter tablespace TEST_IDX_DTG offline immediate ; Resto du fichier SQL> recover automatic tablespace TEST_IDX_DTG; SQL> alter tablespace TEST_IDX_DTG online ; Le problème, il faut une resto et toutes les archives. Solution 2) J'avoue que la deuxième solution est une touille, mais comme il semble que ce soit un TBS d'index et un env de test (de touille) $ grep TEST_IDX_DTG dans_l'export.dmp > create_TEST_IDX_DTG_et_IDX.sql on devrait récupérer la commande de création du TBS, les GRANT sur ce TBS, et les ordres de créations des index, un ";" (%s/$/ ; /) à la fin de chaque ligne. Et hop, ça colle... Solution 3) dans la même linier, imp file=... log=... indexfile=log.rem ... Récupérer la structure des objets dans log.rem et en faire un sql A+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com