From Technical Knowledge to IT Service Management

Posts Tagged ‘shell’

Non alphanumeric files

If you want to list all the non alphanumeric files:

ls -R | grep -iv ^[a-z0-9\._-]*$

Log SQL results

If you’d like to log the result from a sql script, just prepare your sql script like that:spool result.log
SET SERVEROUTPUT ON
select * from dual;
spool off
exit

Then from a command line or a script shell execute the following command:
# sqlplus user/pwd@db_name @script.sql

Oracle start/stop init script

#################################
# Oracle Start/Stop init script #
# v1 – nuxora.com #
#################################

case “$1″ in

start)
echo -n “Starting Oracle Databases: ”
echo “—————————————————-” >> /var/log/oracle
date +”! %T %a %D : Starting Oracle Databases as part of system up.” >> /var/log/oracle
echo “—————————————————-” >> /var/log/oracle
su – oracle -c dbstart >> /var/log/oracle
echo “Done.”
echo -n “Starting Oracle Listeners: ”
su – oracle -c “lsnrctl start” >> /var/log/oracle
echo “Done.”
echo “”
echo “—————————————————-” >> /var/log/oracle
date +”! %T %a %D : Finished.” >> /var/log/oracle
echo “—————————————————-” >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
stop)
echo -n “Shutting Down Oracle Listeners: ”
echo “—————————————————-” >> /var/log/oracle
date +”! %T %a %D : Shutting Down Oracle Databases as part of system down.” >> /var/log/oracle
echo “—————————————————-” >> /var/log/oracle
su – oracle -c “lsnrctl stop” >> /var/log/oracle
echo “Done.”
rm -f /var/lock/subsys/oracle
echo -n “Shutting Down Oracle Databases: ”
su – oracle -c dbshut >> /var/log/oracle
echo “Done.”
echo “”
echo “—————————————————-” >> /var/log/oracle
date +”! %T %a %D : Finished.” >> /var/log/oracle
echo “—————————————————-” >> /var/log/oracle
;;
restart)
echo -n “Restarting Oracle Databases: ”
echo “—————————————————-” >> /var/log/oracle
date +”! %T %a %D : Restarting Oracle Databases as part of system up.” >> /var/log/oracle
echo “—————————————————-” >> /var/log/oracle
su – oracle -c dbstop >> /var/log/oracle
su – oracle -c dbstart >> /var/log/oracle
echo “Done.”
echo -n “Restarting Oracle Listeners: ”
su – oracle -c “lsnrctl stop” >> /var/log/oracle
su – oracle -c “lsnrctl start” >> /var/log/oracle
echo “Done.”
echo “”
echo “—————————————————-” >> /var/log/oracle
date +”! %T %a %D : Finished.” >> /var/log/oracle
echo “—————————————————-” >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
*)
echo “Usage: oracle {start|stop|restart}”
exit 1
esac

Export script – beginners

Here is a very simple script to save an Oracle database with a full export script.
It’s a very basic example, because there is no log and no option (only a full export)
Ina few days i’ll post a more detailled export script.

#!/bin/bash
#—————————#
# Oracle Full export script #
# Nuxora v1.0 #
#—————————#

# set env
export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
export ORACLE_SID=$1
when=`date +”%d%m”`

# export
exp expimp/$2 file=”$ORACLE_BACKUP”/admin/exp/full/$ORACLE_SID/exp”$when”_”$ORACLE_SID”_”FULL”.dmp FULL=Y ROWS=Y

# keep only 7 days
for file in `find “$ORACLE_BACKUP/admin/exp/full/$ORACLE_SID” -name “exp*.dmp” -mtime +7 -print`
do
echo $file
rm $file
done

Lister un répertoire de manière sélective

Le plus souvent on utilisera grep
$ ls -l backup/2007 | grep Feb

mais parfois il peut s’aveer plus utile d’utliser awk
$ ls -l backup/2007 | awk ‘$6 == “Feb”‘

create a directory tree

If you want to quick, don’t forget to use the ‘-p’ option

wrong way:
[john@host john]$ mkdir dev
[john@host john]$ cd dev
[john@host dev]$ mkdir first
[john@host dev]$ cd first
[john@host first]$ mkdir alpha
[john@host dev]$ mkdir second
[john@host dev]$ ll
[john@host dev]$ cd ..
[john@host john]$ mkdir prod
[john@host john]$ cd prod
[john@host prod]$ mkdir first
[john@host prod]$ mkdir second

good way:
[john@host john]$ mkdir -p dev/first/alpha

best way:
[john@host john]$ mkdir -p dev/{first/alpha,second},prod/{first,second}

How to extract files from a tar.gz

usually people do:
$ cd backup/2007/02
$ tar -zxvf data.tar.gz

you can simply do:
tar -zxvf -C backup/2007/02 data.tar.gz

or even do it better:
cd backup/2007/02 && tar -zxvf data.tar.gz

the best way:
cd backup/2007/02 || mkdir -p backup/2007/02 && tar -zxvf data.tar.gz

Definition d’un datasource sous jboss

Pour mettre en place, une datasource, il suffit de prendre un exemple ici /usr/local/jboss/docs/examples/jca/*-ds.xml

oracle-ds.xml par exemple

copier le /usr/local/jboss/server/default/deploy/ sous le nom fichier_de_datasource.xml

il faudra y faire reference dans les fichiers de config xml de l’appli qui sera deployer sous jboss:

Jboss_datasource_definition