Hi, I have the following script to create oracle users on our system, it works but please tell me an easier way???
-----------------------
Format of oracle_userlist file -> DATABASE USERID PASSWORD GROUP
--------------------------
#/usr/bin/ksh
NUMBER_OF_USERS=`cat oracle_userlist | wc -l`
CURRENT_LINE=1
while [[ $CURRENT_LINE -le $NUMBER_OF_USERS ]]
do
rm user.txt
DATABASE=`head -n$CURRENT_LINE < oracle_userlist | tail -n1 | cut -f 1 -d " "`
USERID=`head -n$CURRENT_LINE < oracle_userlist | tail -n1 | cut -f 2 -d " "`
PASSWORD=`head -n$CURRENT_LINE < oracle_userlist | tail -n1 | cut -f 3 -d " "`
GROUPID=`head -n$CURRENT_LINE < oracle_userlist | tail -n1 | cut -f 4 -d " "`
echo "connect internal;" >> user.txt
echo "create user $USERID identified by $PASSWORD default tablespace users temporary tablespace temp;" >> user
.txt
echo "grant $GROUPID to $USERID identified by $PASSWORD;" >> user.txt
echo "select * from dba_users where username='$USERID';" >> user.txt
/bin/su - oracle -c "DATABASE=$DATABASE;svrmgrl" < user.txt
rm user.txt
CURRENT_LINE=`expr $CURRENT_LINE + 1`
done
-----------------------
Format of oracle_userlist file -> DATABASE USERID PASSWORD GROUP
--------------------------
#/usr/bin/ksh
NUMBER_OF_USERS=`cat oracle_userlist | wc -l`
CURRENT_LINE=1
while [[ $CURRENT_LINE -le $NUMBER_OF_USERS ]]
do
rm user.txt
DATABASE=`head -n$CURRENT_LINE < oracle_userlist | tail -n1 | cut -f 1 -d " "`
USERID=`head -n$CURRENT_LINE < oracle_userlist | tail -n1 | cut -f 2 -d " "`
PASSWORD=`head -n$CURRENT_LINE < oracle_userlist | tail -n1 | cut -f 3 -d " "`
GROUPID=`head -n$CURRENT_LINE < oracle_userlist | tail -n1 | cut -f 4 -d " "`
echo "connect internal;" >> user.txt
echo "create user $USERID identified by $PASSWORD default tablespace users temporary tablespace temp;" >> user
.txt
echo "grant $GROUPID to $USERID identified by $PASSWORD;" >> user.txt
echo "select * from dba_users where username='$USERID';" >> user.txt
/bin/su - oracle -c "DATABASE=$DATABASE;svrmgrl" < user.txt
rm user.txt
CURRENT_LINE=`expr $CURRENT_LINE + 1`
done