jeudi 13 décembre 2012

Oracle error


Erreur SQL : ORA-00604: error occurred at recursive SQL level 1
ORA-01653: unable to extend table SYS.DEPENDENCY$ by 8 in tablespace SYSTEM
00604. 00000 -  "error occurred at recursive SQL level %s"
*Cause:    An error occurred while processing a recursive SQL statement
           (a statement applying to internal dictionary tables).
*Action:   If the situation described in the next error on the stack
           can be corrected, do so; otherwise contact Oracle Support.


This error is linked to a tablespace size exhausted.

mardi 27 novembre 2012

ORACLE : renuméroter la séquence d'une table


Pour renuméroter une table en ORACLE, il est nécessaire de créer une procédure stockée anonyme et se baser sur un curseur.

Ici nous avons une table  LOG_ACTIONS. Nous voulons renuméroter la colonne SEQ_NB avec un compteur incrémental basé sur l'ordre de la colonne LOG_ID

Attention, pour passer ce script nous devons utiliser SQL developper. 

declare
cursor c_f is
select LOG_ID from LOG_ACTIONS ORDER BY LOG_ID for update;
v_logId LOG_ACTIONS.LOG_ID%type;
v_nb int;

begin
v_nb := 0;
open c_f;
loop
fetch c_f into v_logId;
exit when c_f%notfound;

update LOG_ACTIONS set SEQ_NB=v_nb where LOG_ID=v_logId;
v_nb := v_nb+1;
end loop;
close c_f;
end;

mercredi 21 novembre 2012

Publier sur un JBoss sur un serveur d'intégration à partir de Jenkins



 L'appel sur le jenkins

ssh root@somewhere  /var/www/cgi-bin/restart-jboss.sh


#!/bin/sh
wget http://ouanegene.com/jenkins/job/Silaadd/lastSuccessfulBuild/artifact/funky-web/build/packaging/war/funky.war --http-user=whoiam --http-password=mypassrulez -O /tmp/funky.war
. /etc/rc.d/init.d/functions
ps -e |grep java|cut -f1 -d" ">/tmp/pstokill
cat /tmp/pstokill
killproc -p /tmp/pstokill -d 15
cp -f /tmp/funky.war /var/lib/jbossas/server/default/deploy/funky.war
/etc/rc.d/init.d/jbossas start>/dev/null
sleep 40
echo Redéploiement réussi


Changer le hostname sous linux

Editer le fichier /etc/sysconfig/network

jeudi 6 septembre 2012

Autoriser le déploiement sur un repository Nexus



Pour déployer des artifact sur un repository, nous pouvons passer par l'interface utilisateur de nexus, mais il faut avoir les droits d'administration. Il est également possible de deployer un artifact en tapant la commande suivante.

mvn deploy:deploy-file -Dfile=C:\data\monapp\monartifact.jar -Durl=http://monnexus.com/nexus/content/repositories/monrepository/ -DpomFile=C:\data\monapp\monartifact.pom -DrepositoryId=monserverid

Dans notre fichier settings.xml, les lignes suivantes doivent être présentes.


      monapp-repository
      monusernexus
      monpwdnexus



La configuration des droits pour un utilisateur de NEXUS n'est pas triviale. Ces quelques lignes vous aideront surement.

Admettons que vous ayez un repository maven2 nommé monrepository hébergé par nexus



Créer d'abord un utilisateur monuser



Puis créer un privileges pour le repository monrepository ayant les droit create/update/delete


Vous voyez que quatre lignes de privileges ont été créées.


Il reste à les assigner à un role avec le privilege. Pour cela nous créons un rôle et nous lui donnons les quatre privileges.