SQWareProduction:oracle:bin:sqwora SchemaRefreshExpdp.ksh : Différence entre versions
m (Updated by BatchUser) |
m (Updated by BatchUser) |
||
Ligne 9 : | Ligne 9 : | ||
| | | | ||
<pre> | <pre> | ||
− | + | Not sending mail because you are in connected mode !!! | |
Lack instance parameter | Lack instance parameter | ||
</pre> | </pre> |
Version du 8 mars 2020 à 18:30
Sommaire
Presentation
Script $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh :
Refresh un ou plusieurs schemas par expdp/impdp
Actions:
- Execute l'export du schema distant par ssh
- Recupere le dump par scp
- Drop tous les objets du schema a recharger
- Execute l'import
Le script peut aussi:
- changer de users unix target/source
- envoyer un rapport de refresh par mail
- executer un script shell avant load
- executer un script shell apres load
- garder une liste de tables (save/restore)
Aide en ligne
L'aide en ligne est accessible dans la plupart des scripts avec l'option -h.
Ex: $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -h
Contenu de l'aide :
Sourcing sqwora_Global.lib v2024.07 SQWareProduction for Oracle (dbSQWare) ... Utilisation: sqwora_SchemaRefreshExpdp.ksh [-h] -I <instance> -IS <instance> -US <hostname> -O <owner> [+ options] DESCRIPTION sqwora_SchemaRefreshExpdp.ksh refresh schema(s) par expdp/impdp SUPPORT Oracle versions supportees: 10gR2 <= v <= 21c PARAMETERS -I instance : Instance cible pour recharger les schema(s). -IS instance : Instance source de l'export. -US hostname : Hostname source. -O owner(s) : Schema(s) a recharger. OPTIONS -h : Affichage de l'aide complete. -s : Affichage des exemples d'utilisation. -P Nb threads : Nombre de threads en parallele (par defaut 2). -F filename : Fichier avec la liste des tables a garder (save/restore). -TU owner(s) : To user, schema(s) cible(s) a recharger. -RD directory : Repertoire ou copier le fichier dump sur le host local (par defaut /$(echo ${HOME}|cut -d/ -f2)/backup/${ORACLE_SID}/expdp). -RDS directory : Repertoire pour ecrire le fichier dump sur l'hote distant (par defaut /$(echo ~$lvsqw_UserUnixSource|cut -d/ -f2)/backup/${lvsqw_InstanceSource}/expdp). -Pdb pdb_name : pdb_name pour multitenant (instance cible). -PdbS pdb_name : pdb_name pour multitenant (instance source). -OptExp option : Option a ajouter sur expdp commande. -OptImp option : Option a ajouter sur impdp commande. -FRT code : Valeur forcee du code retour sur erreur. -UUS username : Utilisateur unix source (par defaut, meme que la cible). -NoConsistent : Supprime l'option 'flashback_time=systimestamp'. -LockKill : Varouillage des comptes utilisateurs et kill des sessions (schema(s) a recharger). -Before scriptname : Script a executer avant reload et avant drop de objects. -After scriptname : Script a executer apres reload. -AddMail email : Adresse Email a ajouter a 'pmexpdba@gmail.com'. -SendReport : Envoi du rapport d'execution. -NoMail : Desactive l'envoi de mail sur erreur a pmexpdba@gmail.com (par defaut, envoi sur erreur). -Locale locale : Force la Locale d'affichage de l'aide (fr,en). -Exec : Execute la commande (par defaut, affiche les commandes generees).
Traitement de l'erreur
Erreurs de parse des arguments
Ce type de message est genere:
Lack instance parameter, Utilisation: sqwora_SchemaRefreshExpdp.ksh [-h] -I <instance> -IS <instance> -US <hostname> -O <owner> [+ options]
Si vous vous connectez via un terminal, aucun mail ne sera envoyé et vous aurez plutôt ce type de message:
Not sending mail because you are in connected mode !!! Lack instance parameter
Si vous n'êtes pas connecté à un terminal, le message d'erreur apparaît et est envoyé par mail à l'adresse contenue dans la variable $gvsqw_GlobalMail (Voir l'aide pour personnaliser cette variable). L'objet commence toujours par "$gvsqw_MailMsg_oracle : " (Voir l'aide pour personnaliser cette variable).
Execution errors
Que vous soyez ou non connecté à un terminal, le message d'erreur apparaît et un mail contenant un résumé des erreurs de traitement est envoyé à l'adresse contenue dans la variable $gvsqw_GlobalMail (Voir l'aide pour personnaliser cette variable). L'objet commence toujours par "$gvsqw_MailMsg_oracle : " (Voir l'aide pour personnaliser cette variable).
Exemples d'utilisation
Sourcing sqwora_Global.lib v2024.07 SQWareProduction for Oracle (dbSQWare) ... #Standard (Locale) help for script sqwora_SchemaRefreshExpdp.ksh: $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -h #Affichage de l'aide en ligne pour ce script $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -Locale fr -h #Affichage de l'aide en ligne pour ce script avec forcage de la locale 'fr' (Locale par defaut geree par $gvsqw_Locale) $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -s #Affichage des exemples d'utilisation pour ce script $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> #Genere les commandes mais ne les execute pas ! $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -Exec #Refresh un ou plusieurs schemas <OwnerList> par expdp/impdp $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O OLDSCH -TU NEWSCH -Exec #Importe le schema OLDSCH, pour refresh le schema cible NEWSCH $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -F <FileName> -Exec #Specifie le fichier <FileName> contenant la liste des tables a garder (save/restore) $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -RD <DirName> -Exec #Repertoire <DirName> to copy dump file on local host $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -RDS <DirName> -Exec #Repertoire <DirName> to write dump file on distant host $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -UUS 'dba_42'-Exec #Utilisateur unix a utiliser, ici 'dba_42' (par defaut identique a la cible) $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -Pdb <pdb_name> -Exec #Specifie le nom du PDB CIBLE '<pdb_name>' pour les environnements multi-tenant $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -PdbS <pdb_name> -Exec #Specifie le nom du PDB SOURCE '<pdb_name>' pour les environnements multi-tenant $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -NoConsistent -Exec #Supprime l'option 'flashback_time=systimestamp' (par defaut) $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -LockKill -Exec #Verouille les utilisateurs et kill les sessions (schema(s) cible(s) a reload) $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -Before <script> -Exec #Script a executer avant reload et avant de drop les objects $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -After $Home/scripts/XXX.ksh -Exec #Execute le script $Home/scripts/XXX.ksh apres reload $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -P <NumericValue> -Exec #Execute le script sqwora_SchemaRefreshExpdp.ksh avec un degre de parallelisme de '<NumericValue>' #Utilise par defaut la variable gvsqw_NbThreadXXX dans $gvsqw_OraBin/../etc/sqwora_GlobalVar.cfg #Vous pouvez changer le defaut sur tout l'environnement si vous settez cette variable #dans le fichier de configuration $gvsqw_OraBin/../etc_cust/sqwora_GlobalVar.cfg $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -OptExp <options> -Exec #Ajoute l(es) option(s) <options> au job expdp $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -OptImp <options-Exec #Ajoute l(es) option(s) <options> au job impdp $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -AddMail 'mymail1@mydomaine.com,mymail2@mydomaine.com' -Exec #Ajoute la liste de mail a l'adresse par defaut geree par $gvsqw_GlobalMail $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -SendReport -Exec #Envoie la log par mail a la fin du traitement meme s'il n'y a pas d'erreur (par defaut, seulement en cas d'erreur) $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -NoMail -Exec #Desactive l'envoi de mail sur erreur a $gvsqw_GlobalMail (par defaut, seulement en cas d'erreur) $gvsqw_OraBin/sqwora_SchemaRefreshExpdp.ksh -I $ORACLE_SID -IS <SourceInstance> -US <SourceHost> -O <OwnerList> -FRT <NumericValue> -Exec #Force le code retour a '<NumericValue>' sur erreur (si pas d'erreur, "exit 0"!) #Vous pouvez aussi forcer le code retour de ce script pour tous #si vous settez la variable d'environnement: $gvsqw_ForcedReturnCodeScript_sqwora_SchemaRefreshExpdp=<NumericValue> #dans le fichier de configuration $gvsqw_OraBin/../etc_cust/sqwora_GlobalVar.cfg