Advertisement
Guest User

script oracle

a guest
Nov 26th, 2014
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 6.55 KB | None | 0 0
  1. #!/usr/bin/ksh
  2.  
  3. function afficher_menu_1 ()
  4. {
  5. clear
  6. echo -e "\033[36m**********************************************************************";
  7. echo "          Choix de la base de travail "
  8. echo "********************************************************************************";
  9. liste_base_donnee
  10. echo "********************************************************************************";
  11. echo "            Veuillez entrer le nom de la base exact ";
  12. echo "********************************************************************************";
  13. read NOM_BASE
  14. clear
  15. export ORACLE_SID=$NOM_BASE
  16. }
  17.  
  18. function liste_base_donnee()
  19. {
  20.   sed -n '23,$p' /etc/oratab | cut -f 1 -d ':'
  21. }
  22.  
  23. function afficher_menu_2()
  24. {
  25. clear
  26. echo -e " \033[36m**********************************************************************";
  27. echo -e " \033[41m\033[36m                    ATTENTION                              \033[0m ";
  28. echo -e " \033[36m       Administration de l'instance oracle : \033[0m \033[41m $NOM_BASE \033[0m             ";
  29. echo -e " \033[36m**********************************************************************";
  30. echo -e " \033[36m           la base est actuellement : $(statut_base_donnee)                        ";
  31. echo -e " \033[36m**********************************************************************";
  32. echo -e " 0 - Allumer la base de donnee                                    ";
  33. echo -e " 1 - Redemarrer la base de donnees                                ";
  34. echo -e " 2 - Eteindre la base de donnees                                  ";
  35. echo -e " 3 - Status de la base de donnees                                  ";
  36. echo -e "**********************************************************************";
  37. echo -e "             Export / Import base de donnees                        ";
  38. echo -e "**********************************************************************";
  39. echo -e " 4-  Exporter la base de donnees                                  ";
  40. echo -e " 5 - Importer la base de donnees                                  ";
  41. echo -e " 6 - Lister sauvegarde base de données                             ";
  42. echo -e "**********************************************************************";
  43. echo -e "               Le listener est actuellement : $(listerner_status)                      ";
  44. echo -e " \033[36m **********************************************************************";
  45. echo -e " 7 - Demarrer Listener                                            ";
  46. echo -e " 8 - Arreter Listener                                              ";
  47. echo -e " 9 - Status Listener                                              ";
  48. echo -e "**********************************************************************"
  49. echo -e " quit ou  CTRL+C - Sortir du programme                                        "
  50. echo -e "********************************************************************** \033[0m";
  51. }
  52.  
  53. function statut_base_donnee()
  54. {
  55. verifbase="ps -ef|grep -i ora_smon_$NOM_BASE|cut -f4 -d:|cut -f2 -d' '|cut -f3 -d_ -s|tr [a-z] [A-Z]"
  56. if [[ ! $(eval $verifbase) ]];then
  57.       r="\033[41mHORS LIGNE\033[0m"
  58.  else r="\033[32mEN LIGNE\033[0m"
  59. fi
  60. echo -e "$r"
  61. }
  62.  
  63. function statut_base_donnee2()
  64. {
  65. verifbase2="ps -ef|grep -i ora_smon_$NOM_BASE|cut -f4 -d:|cut -f2 -d' '|cut -f3 -d_ -s|tr [a-z] [A-Z]"
  66.     if [[ ! $(eval $verifbase2) ]];
  67.  
  68.     then   
  69.         echo -e "Le listener est actuellement : \033[0;31;40m hors-ligne \033[0m"
  70.      else
  71.         echo -e "Le listener est actuellement :\033[0;32;40m en ligne \033[0m  "
  72. fi
  73.  
  74. }
  75.  
  76.  
  77. function stop_base_donnee()
  78. {
  79.     sqlplus /nolog <<EOF
  80.     connect / as SYSDBA
  81.     shutdown immediate
  82.     exit
  83. EOF
  84.  
  85. }
  86. function start_base_donnee(){
  87.         sqlplus /nolog <<EOF
  88.         connect / as SYSDBA
  89.         startup
  90.         exit
  91. EOF
  92. }
  93.  
  94. function exporter_base_donnee(){
  95.  
  96.  
  97. if [ -d /home/oracle/sauvegarde ];
  98.  then
  99.     echo "le répertoire existe "
  100.     exp userid=system/manager file=sauvegarde/save_$( date +%Y-%m-%d-%H).dump
  101.     echo -e "\033[32m Export termine avec succes dans \033[33m/home/oracle/save/\033[0m AND NAMED \033[33m save_$( date +%Y-%m-%d-%H).dump \033[0m"
  102.  
  103. else
  104.     echo " Le repertoire n'existe pas "
  105.     mkdir /home/oracle/sauvegarde
  106.         exp userid=system/manager file=sauvegarde/save_$( date +%Y-%m-%d-%H).dump
  107.     echo -e "\033[32m Export termine avec succes dans \033[33m/home/oracle/save/\033[0m AND NAMED \033[33m save_$( date +%Y-%m-%d-%H).dump \033[0m"
  108. fi
  109. }
  110.  
  111. function importer_base_donnee(){
  112. echo "Quelle sauvegarde voullez vous charger ? "
  113. ls /home/oracle/sauvegarde | cut -f1 -d.
  114. read base_donnee
  115.  
  116.     if [ -e $base_donnee ]
  117.     then
  118.     imp system/manager file=/home/oracle/sauvegarde/$base_donnee full=yes
  119.  
  120.     else
  121.         echo -e "\033[31mLe fichier n'existe pas\033[0m"
  122.         importer_base_donnee
  123.    
  124. fi
  125. }
  126.  
  127. function lister_sauvegarde(){
  128. ls /home/oracle/sauvegarde/ | cut -f1 -d.
  129. }
  130.  
  131. function start_listener(){
  132. lsnrctl start
  133. }
  134.  
  135. function stop_listener(){
  136. lsnrctl stop
  137. }
  138.  
  139. function listerner_status(){
  140.  
  141. verificationListener=$(ps -ef|grep -i tnslsnr|grep -v grep|cut -f4 -d:|cut -f2 -d' '|grep $ORACLE_HOME)
  142.       if [ ! $verificationListener ]
  143.         then
  144.             e="\033[41mHORS LIGNE\033[0m"
  145.         else e="\033[32mEN LIGNE\033[0m"
  146.         fi
  147. echo -e "$e"
  148.  
  149.  
  150. }
  151. function EtatListener
  152. {
  153.     verificationListener=$(ps -ef|grep -i tnslsnr|grep -v grep|cut -f4 -d:|cut -f2 -d' '|grep $ORACLE_HOME)
  154.         if [ ! $verificationListener ]
  155.         then
  156.                 echo -e "Le listener est actuellement : \033[0;31;40m hors-ligne \033[0m"
  157.              
  158.         else
  159.                 echo -e "Le listener est actuellement :\033[0;32;40m en ligne \033[0m  "
  160.              
  161.         fi
  162. }
  163.  
  164. entrer(){
  165. read -p "Appuyez sur entrer pour quit" var
  166.                 if [ ${#var} -eq 0 ]; then
  167.                  echo "Entrer est saisi"
  168.                 fi
  169. }
  170.  
  171. afficher_menu_1
  172.  
  173. while true;
  174.  do
  175.     afficher_menu_2
  176.     read choix
  177.     case "$choix" in
  178.         "0")    start_base_donnee
  179.         ;;
  180.         "1")    stop_base_donnee
  181.         "la base s'est correctement eteinte"
  182.         start_base_donnee
  183.         "la base s'est correctement allumee"
  184.         ;;
  185.         "2")stop_base_donnee
  186.         ;;
  187.         "3")statut_base_donnee2
  188.         ;;
  189.         "4") exporter_base_donnee
  190.         ;;
  191.         "5") importer_base_donnee
  192.         ;;
  193.         "6") lister_sauvegarde
  194.         ;;
  195.         "7")start_listener
  196.         ;;
  197.         "8")stop_listener
  198.         ;;
  199.         "9")EtatListener
  200.         ;;
  201.         "quit"|"QUIT") exit 1
  202.         ;;
  203.         *)     clear
  204.         echo -e "\033[36m **************************************************"
  205.         echo -e ""
  206.         echo -e "        veuillez entrer un numero valide"
  207.         echo -e ""
  208.         echo -e "*********************************************************\033[0m"
  209.        
  210.      ;;
  211.     esac
  212.     entrer
  213. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement