![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2 |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre du Club
![]() |
Bonjour,
mon problème est fort simple : quelqu'un a fait un backup de base DB2 sur un serveur A, et je dois les charger sur un serveur B. Je ne sais pas exactement comment a été fait le backup, mais j'ai, en entrée de la restauration (ie, en provenance du serveur A), une arborescence type : DEVAPPL3.0\APP\NODE0000\CATN0000\20081022 avec un seul fichier : 104412.001 En faisant un test sur mon propre serveur B de cycle de backup/restore, j'obtiens le même genre d'arborescence, et la restauration me propose bien d'utiliser le fichier que je viens de générer... mais je n'ai aucun moyen d'indiquer le fichier que j'ai récupéré de l'autre serveur A pour réaliser la restauration :-/ Dans l'assistant de restauration, dans l'étape 2 (Select the database backup image to use), si je choisis la deuxième option (Select the backup image from the list provided), je ne vois que le backup que j'ai fait pour tester sur le serveur B. Si je prends l'autre option, il m'annonce à la fin qu'il n'a pas trouvé le fichier de backup, bien que je lui ai spécifié la bonne date/heure en me basant sur le nom du dossier et du fichier récupéré du serveur A (ici, le 22/10/2008 à 10:44:12). En parcourant les quelques sujets ici et là, j'ai l'impression qu'il me manquerait des logs ? Quelqu'un pourrait-il m'indiquer où et comment je trouve ces fameux logs ? Merci d'avance. Cordialement, Alexis ps.: pour info, la version de DB2 utilisée : Code :
============================================================ About DB2 Administration Tools Environment ============================================================ DB2 administration tools level: Product identifier SQL08029 Level identifier 030A0106 Level DB2 v8.1.17.644 Build level s080813 PTF WR21416 ============================================================ Java development kit (JDK): Level IBM Corporation 1.4.1 ============================================================ |
|
|
|
|
|
#2 (permalink) |
|
Membre du Club
![]() Date d'inscription: juillet 2006
Âge: 31
Messages: 80
|
Bonjour Alek-C
Je ne comprends pas bien, pour moi la situation est clair il ne trouve réellement pas ton fichier. Si tu as ramener le fichier de la sauvegarde de ton serveur A sur ton serveur B, c'est déjà un bon point mais si le nom des bases sont différents ce n'est pas le fichier qu'il faut ramener mais toutes l'arborescence. Par Ex : Serveur A : DEVAPPL3.0\APP\NODE0000\CATN0000\20081022 Serveur B : APPL3.0\APP\NODE0000\CATN0000\20081022 Si tu n'as pas l'arborescence au complet cela ne marchera pas. Tu veut restaurer en one shot ou tu veut le faire régulièrement dans l'avenir ? Explique nous un peu plus... et envoie ton message d'erreur pour que l'on sache exactement de quoi il s'agit parce comme tu parle de log il s'agit peut être d'autre chose. (Ex : un rollforward qui ne se ferait pas car tu n'as pas pris les logs dans ta sauvegarde...) Envoie le nom de la base Source, le nom de la base Cible + le script sql généré par l'assistant de sauv/restaure ce sera plus simple. A bientôt |
|
|
|
|
|
#3 (permalink) |
|
Membre du Club
![]() |
Alors, déjà, merci pour ton message.
En fait, j'ai réussi une première restauration hier. Le problème était bien celui que tu citais: j'avais correctement récupéré l'arborescence complète, mais dans l'assistant DB2, je n'avais pas percuté que je pouvais saisir manuellement le nom de la base source : DEVAPPL3.0 dans ton exemple. En effet, je pensais bêtement et forcément, ça ne marchait pas (ça paraît con comme ça, mais je trouve que c'est pas très bien foutu Finallement, j'ai pris la commande SQL, et je l'ai modifiée à la main pour mettre le bon nom de base et s'est passé sur mon premier backup : la restauration s'est bien effectuée... Par contre, en voulant faire exactement la même manipulation sur une seconde base, j'obtiens une autre erreur l'arborescence : D:\incoming\DEVAPPL3.0\FCR\NODE0000\CATN0000\20081021 Code :
RESTORE DATABASE DEVAPPL3 FROM "D:\incoming" TAKEN AT 20081021180000 TO "D:" INTO DEV_APP WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING; Code :
SQL0298N Bad container path.
Explanation:
The container path violates one of the following requirements:
o Container paths must be valid fully-qualified absolute paths
OR valid relative paths. The latter are interpreted relative
TO the DATABASE directory.
o FOR EXTEND, REDUCE, RESIZE AND DROP operations, the specified
container path must exist.
o The path must be READ/WRITE accessible TO the instance id
(CHECK file permissions ON UNIX-based systems).
o Containers must be of the type specified IN the command
(directory, file OR device).
o Containers (directories) IN system managed TABLE spaces must
be empty when designated AS containers AND must NOT be nested
underneath other containers.
o The containers FOR one DATABASE must NOT be located
underneath the directory of another DATABASE, AND they may
NOT be underneath any directory that appears TO be FOR
another DATABASE. This rules out any directory of the form
SQLnnnnn, WHERE 'n' IS any digit.
o The container must be within the file size LIMIT FOR the
operating system.
o Containers (files) FOR dropped DATABASE managed TABLE spaces
can only be reused AS containers (directories) FOR system
managed TABLE spaces after ALL agents terminate AND vice
versa.
o During a redirected restore, an SMS container was specified
FOR a DMS TABLE space OR a DMS container was specified FOR an
SMS TABLE space.
o The specified type of the container FOR an EXTEND, REDUCE,
RESIZE, OR DROP operation does NOT match the type of the
container (FILE OR DEVICE) that was specified when the
container was created.
This message will also be returned IF any other unexpected error
occurred which prevents DB2 FROM accessing the container.
User Response:
Specify another container location OR CHANGE the container TO
make it acceptable TO DB2 (such AS changing file permissions) AND
try again.
sqlcode : -298
sqlstate : 428B2
Merci en tout cas ! |
|
|
|
|
|
#4 (permalink) |
|
Membre du Club
![]() Date d'inscription: juillet 2006
Âge: 31
Messages: 80
|
Alek-C
Question peut être bête mais j'assume... Est ce que au moment ou tu passe cette commande de restaure ta base DEV_APP existe déjà ? Car si c'est le cas il faut faire un Drop database avant ton test. J'ai vu un sujet ce matin ici qui ressemblait a ton problème. |
|
|
|
|
|
#5 (permalink) |
|
Membre du Club
![]() |
Bon, à priori, c'est juste que l'un des TS ciblait un conteneur vers un disque qui n'existe plus
Je crois que je commence à comprendre comment ça marche :p Merci pour tout ! ![]() edit: je n'avais pas vu ta réponse, désolé... Non, la base n'existe plus (et si une question devait être bête, c'était plutôt la mienne Pour faire simple, j'ai fait la manipulation de restauration par l'assistant, j'ai récupéré la commande SQL complète (avec l'option n°3 : "Enable table space containers to be redirected during the restore operation") et comme ça, j'ai la liste des TS et tout et je fais ma commande proprement à la mimine... une fois qu'on a pigé les options, c'est assez simple en fait. C'est juste le début où j'ai eu du mal avec l'assistant -_- mais d'écrire sur les forums, ça m'aide à réfléchir ^^ Si tout fonctionne, je passerais en résolu dans la foulée : merci encore !
|
|
|
|
|
|
#6 (permalink) |
|
Membre du Club
![]() |
Bon, la restauration fonctionne sans problème maintenant que j'ai compris...
Seconde étape, je voudrais dupliquer les bases restaurées mais SANS les données (juste la structure quoi =)... Je n'ai pas trouvé de moyen dans le backup ou la restauration pour cela, et je n'ai pas encore réussi en passant par une génération de DDL de la base à dupliquer que je modifierais à la main pour créer ma seconde base... Mais je persévère ![]() N'empêche, je préfère limite DB2 sous MVS que sous Windows |
|
|
|
|
|
#8 (permalink) |
|
Membre du Club
![]() |
pfiou...
bon, finalement, j'ai réussi en générant les DDL et en bidouillant un peu à la main derrière... c'est pas évident au début, mais au final, c'est assez logique. Je vais jeter un oeil à db2look que je ne connais pas :o) mais je vais fermer ici puisque j'ai fini par avoir à peu près ce que je voulais même si ça n'est pas forcément la meilleure méthode d'y arriver ![]() Merci encore pour le soutien :p |
|
|
|
|
![]() |
![]() |
||
[DB2 8 | WIN Server 2003] Backup/Restore de base sur 2 serveurs distincts
|
||
| Outils de la discussion | |
|
|