URL: https://linuxfr.org/forums/programmation-shell/posts/une-ligne-par-enregistrement-dans-bdd-oracle Title: Une ligne par enregistrement dans BDD Oracle Authors: koan Date: 2006年10月30日T12:09:41+01:00 Tags: Score: 0 Bonjour à tous. Voilà je suis sous AIX et je dois faire des modification sur un script KSH qui vérifie l'espace disponible sur mes disques. Ce script doit ensuite renvoyé ce qu'il a trouvé dans une base Oracle par le bias de la fonction RAISE_ALARM Jusque là tout fonctionne parfaitement, mais j'aurais aimé que chaque ligne de mon retour DF -K soit un enregistrement dans ma base. Pour le moment toutes mes valeur se retrouve dans un seul champ Pourriez vous m'aider quand à la procédure à suivre ? Merci d'avance !!! Voilà ce que j'ai pour le moment.... #!/bin/ksh # Check if all DEV devices have a free space under 60% capacity=`df -k | grep dev | awk '4ドル+0 > 60 && NR > 1'` # Export the result in the df.log file echo "$capacity" > df.log # PURPOSE: Raise an alarm by writing an entry in AGT_ALARM_ITEM of ONAIR schema #--------------------------------------------------------------------- raise_alarm () { # calling sqlplus APPLICATION_NAME='Checking the disk memory' PROGRAM_NAME='df.ksh' ERROR_MSG='Disk free space error' HOSTNAME=`hostname` USERID=ERTERTERT sqlplus -s $USERID << EOF WHENEVER SQLERROR EXIT 1 INSERT INTO AGT_ALARM_ITEM (xid,code,id,host,application_name,message,issue_time_gmt,expiry_time_gmt,is_solved) VALUES (AGT_ALARM_ITEM_SEQ.NEXTVAL,'GEN-010','$PROGRAM_NAME','$HOSTNAME','$APPLICATION_NAME','$capacity',SYSDATE,SYSDATE+7,0); COMMIT; EXIT EOF } if [ `sed -n 1p df.log | wc -w` -eq 0 ] then echo "no problemo" else raise_alarm fi

AltStyle によって変換されたページ (->オリジナル) /