Sponsored Content
Top Forums Shell Programming and Scripting Facing problem with Alias created through script. Post 302959293 by venky.b5 on Saturday 31st of October 2015 06:22:50 AM
Old 10-31-2015
Facing problem with Alias created through script.

Hi Guru's,

I am creating alias for db instance running on a server through script, am able to create them based on /etc/oratab entries and can use successfully with the below script.

Code:
#!/bin/bash

SCRIPT_PATH=${HOME}/scripts/db/script
LOG_FILE=${HOME}/scripts/db/log/database_instances_alias.log
CONN_DATABASE='sqlplus -s / as sysdba'
DB_INSTANCES=$(cat /etc/oratab | egrep -v '^#|^$' | grep -v '^+'|cut -d":" -f1,2)
sed -n '1,8p' ${HOME}/.bashrc > ${HOME}/.bashrc_bkp
echo " " >>${HOME}/.bashrc_bkp
printf "%s%20s%20s%20s%20s\n" "S.No" "DATABASENAME"  "ORACLE_HOME"  "DB_STATUS" "DB_MODE" > ${LOG_FILE}
SERIAL=0
for SINGLE_INSTANCE in ${DB_INSTANCES[@]}
do
##DATABASE NAMES
DATABASE_NAME=$(echo $SINGLE_INSTANCE | awk -F ":" '{print $1}')
##ORACLE HOME
DATABASE_HOME=$(echo $SINGLE_INSTANCE | awk -F ":" '{print $2}')
ps -ef | grep pmon | grep -q $DATABASE_NAME
  if [ $? -eq 0 ]; then
    DB_STATUS="UP"
    export ORACLE_SID=$DATABASE_NAME
    export ORACLE_HOME=$DATABASE_HOME
    DATABASE_MODE=$(echo "select open_mode from v\$database;" | $CONN_DATABASE | sed -n '4p')
       case $DATABASE_MODE in
             'MOUNT')
                                DATABASE_MODE_S=${DATABASE_MODE}
             ;;
             'READ WRITE')
                                DATABASE_MODE_S=${DATABASE_MODE}
             ;;
             'READ ONLY')
                                DATABASE_MODE_S=${DATABASE_MODE}
             ;;
             'NOMOUNT')
                                DATABASE_MODE_S='Instance Running Not Mounted'
             ;;
             *)
                                DATABASE_MODE_S='N/A'
             ;;
       esac

  else
    DB_STATUS="DOWN"
    DATABASE_MODE_S="N/A"
  fi
SERIAL=$(expr $SERIAL + 1)
printf "%s%20s%25s%15s%20s\n" "$SERIAL" "$DATABASE_NAME"  "$DATABASE_HOME"  "$DB_STATUS" "$DATABASE_MODE_S" >> ${LOG_FILE}
echo "alias $SERIAL='export ORACLE_SID="$DATABASE_NAME";export ORACLE_HOME="$DATABASE_HOME";PS1=\"[\\u\\h ] $DATABASE_NAME \$\"'" >> ${HOME}/.bashrc_bkp
echo "alias showdb='$SCRIPT_PATH/database_instances_alias_bkp.sh;cat $LOG_FILE;. $HOME/.bashrc'" >>${HOME}/.bashrc_bkp
done
mv -f $HOME/.bashrc_bkp $HOME/.bashrc
. $HOME/.bashrc

But i am facing problem when the number of entries changed
like
suppose there are 8 entries in oratab and the script will create 8 aliasis, if i delete 2 entries from oratab so script will create alias for 6 entries only, but am not able to unalias 7 and 8. so how can i unalias them

someone please help

Regard's
Venkat
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

facing a problem in redirection

Hi, I am doing this perl script print (@line(1..15)); the lines 1 to 15 get printed... how can i redirect this to file? thanks and regards vivek.s (4 Replies)
Discussion started by: vivekshankar
4 Replies

2. Solaris

please help as i am facing problem with uptime

Hi I am getting the uptime output as follows 12:40am up 4 day(s), 18:29, 2 users, load average: 38.97, 36.54, 34.89 The load average is too high . I have checked the processes , but no process is taking too much cpu time Please help (3 Replies)
Discussion started by: guy009
3 Replies

3. Shell Programming and Scripting

facing problem in starting a process in background using shell script.

hey all, i am working on sun solaris machine and i want to start a process in background using shell script (actually i wanna start tomcat server using shell script). please dont tell me that append a & at last because this is not working in the shell script. i have also used nohup and... (8 Replies)
Discussion started by: dtomar
8 Replies

4. Solaris

Facing problem with zone

i am using this way to create zone1 and zone2 bash-2.05b# zonecfg -z zone1 zone1: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:zone1> create zonecfg:zone1> set zonepath=/zone/1 zonecfg:zone1> set autoboot=true zonecfg:zone1> add net zonecfg:zone1:net>... (6 Replies)
Discussion started by: coxmanchester
6 Replies

5. Shell Programming and Scripting

problem facing in if -else condition

can u plz tell me where is the error echo enter the filename to be searched read fname if #-d $fname then echo file exists if then echo itsa directory elif then echo its readable cat $fname else echo its not readable fi else ... (1 Reply)
Discussion started by: gotam
1 Replies

6. Solaris

Facing Problem with metaset in SVM

hi all, i am using solaris 5.10 on sun blade 150 and i am trying to configure diskset in sun volume manager. When i fire the following command, it says some rpc related error. bash-3.00# metaset -s kingston -a -h u15_9 metaset: u15_9: metad client create: RPC: Program not registered how to... (4 Replies)
Discussion started by: kingston
4 Replies

7. Shell Programming and Scripting

created a .alias, but they won't take (ksh)

I login with a common username, and have no access to the different login scripts for my personalizations. So for a while, I would hobble on over to a directory I made for myself, and then bring in my alias file where I would fix my backspace, create a few aliases, etc.: $ ./.alias $ Now... (4 Replies)
Discussion started by: hindesite
4 Replies

8. AIX

facing problem using su

Hi, I am able to login using su - or su directly , # prompt is coming, it doesnt ask for password. any normal user on aix system is login using su - or su . Please suggest where to change the configuration direct root login is disabled in /etc/ssh/sshd_config file. (0 Replies)
Discussion started by: manoj.solaris
0 Replies

9. Shell Programming and Scripting

Facing problem in the sqlldr & shell script

Guys i am facing two problems : (1) when i create the sql loader file the date format i m getting is this 28-DEC-11 12.03.14.107137 AM; for this i m using this script but unable to load the files trailing nullcols ( SERIALNO, AMOUNT, CLASS, MDN, VDATE "to_date(:TIMESTAMP, 'DD-MON-YY... (6 Replies)
Discussion started by: xal_kaushi
6 Replies
LOCALE(1)                                                        Linux User Manual                                                       LOCALE(1)

NAME
locale - get locale-specific information SYNOPSIS
locale [option] locale [option] -a locale [option] -m locale [option] name... DESCRIPTION
The locale command displays information about the current locale, or all locales, on standard output. When invoked without arguments, locale displays the current locale settings for each locale category (see locale(5)), based on the settings of the environment variables that control the locale (see locale(7)). Values for variables set in the environment are printed without dou- ble quotes, implied values are printed with double quotes. If either the -a or the -m option (or one of their long-format equivalents) is specified, the behavior is as follows: -a, --all-locales Display a list of all available locales. The -v option causes the LC_IDENTIFICATION metadata about each locale to be included in the output. -m, --charmaps Display the available charmaps (character set description files). To display the current character set for the locale, use locale -c charmap. The locale command can also be provided with one or more arguments, which are the names of locale keywords (for example, date_fmt, ctype- class-names, yesexpr, or decimal_point) or locale categories (for example, LC_CTYPE or LC_TIME). For each argument, the following is dis- played: * For a locale keyword, the value of that keyword to be displayed. * For a locale category, the values of all keywords in that category are displayed. When arguments are supplied, the following options are meaningful: -c, --category-name For a category name argument, write the name of the locale category on a separate line preceding the list of keyword values for that category. For a keyword name argument, write the name of the locale category for this keyword on a separate line preceding the keyword value. This option improves readability when multiple name arguments are specified. It can be combined with the -k option. -k, --keyword-name For each keyword whose value is being displayed, include also the name of that keyword, so that the output has the format: keyword="value" The locale command also knows about the following options: -v, --verbose Display additional information for some command-line option and argument combinations. -?, --help Display a summary of command-line options and arguments and exit. --usage Display a short usage message and exit. -V, --version Display the program version and exit. FILES
/usr/lib/locale/locale-archive Usual default locale archive location. /usr/share/i18n/locales Usual default path for locale definition files. CONFORMING TO
POSIX.1-2001, POSIX.1-2008. EXAMPLE
$ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= $ locale date_fmt %a %b %e %H:%M:%S %Z %Y $ locale -k date_fmt date_fmt="%a %b %e %H:%M:%S %Z %Y" $ locale -ck date_fmt LC_TIME date_fmt="%a %b %e %H:%M:%S %Z %Y" $ locale LC_TELEPHONE +%c (%a) %l (%a) %l 11 1 UTF-8 $ locale -k LC_TELEPHONE tel_int_fmt="+%c (%a) %l" tel_dom_fmt="(%a) %l" int_select="11" int_prefix="1" telephone-codeset="UTF-8" The following example compiles a custom locale from the ./wrk directory with the localedef(1) utility under the $HOME/.locale directory, then tests the result with the date(1) command, and then sets the environment variables LOCPATH and LANG in the shell profile file so that the custom locale will be used in the subsequent user sessions: $ mkdir -p $HOME/.locale $ I18NPATH=./wrk/ localedef -f UTF-8 -i fi_SE $HOME/.locale/fi_SE.UTF-8 $ LOCPATH=$HOME/.locale LC_ALL=fi_SE.UTF-8 date $ echo "export LOCPATH=$HOME/.locale" >> $HOME/.bashrc $ echo "export LANG=fi_SE.UTF-8" >> $HOME/.bashrc SEE ALSO
localedef(1), charmap(5), locale(5), locale(7) COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. Linux 2017-09-15 LOCALE(1)
All times are GMT -4. The time now is 08:30 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy