For Loop for oracle process status










1















I am trying to find all database status that were running. To achive it tried loop in the logic for all db_sid that are currently running program running but wrong results even though database and listners are up when i checked manually
existing oracle instance running.



[oracle@ip-xx-xx-xx-xxx~]$ ps -ef|grep smon
oracle 15093 1 0 Nov08 ? 00:00:30 ora_smon_orcl
oracle 15486 1 0 Nov08 ? 00:00:30 ora_smon_orcltest



Now trying to get each instance that is running ..i.e only db_sid name by omitting ora_smon_ and getting only name
for ora_smon_orcl ==> orcl
for ora_smon_orcltest ==> orcltest



for db_sid in `ps -ef | grep smon | grep -v grep | awk ' print $8 ' | cut -d '_' -f3` ; do
echo $db_sid
db_sid_pro="ora_smon_$db_sid"
echo $db_sid_pro
source /home/oracle/$db_sid
ora_home=$ORACLE_HOME
echo $ORACLE_HOME
case "$db_sid" in
"$db_sid_pro")
echo "hi"
tag="true"
echo $tag
msg="$db_sid database instance is running"
echo "$db_sid_pro database process is running"
;;
*)
if [ -e $ora_home/dbs/spfile$db_sid.ora ];then
msg="database is down"
echo "database is down"
tag="false"
else
tag="false"
msg="Incorrect database SID - $db_sid. Please provide the correct database SID"
echo "Incorrect database SID - $db_sid. Please provide the correct database SID"
fi
;;
esac


the output shown on terminal is below: but manually i checked databse is up and listener also up..May be i am missing something in programming logic here not really database issue.



orcl
ora_smon_orcl
/dbusr/app/oracle/product/12102
database is down
Oracle listener is down please make it up
database is down
Oracle listener is down please make it up
orcltest
ora_smon_orcltest
/dbusr/app/oracle/product/12102
database is down
Oracle listener is down please make it up
database is down
Oracle listener is down please make it u


However I find below is causing trouble..because when I put some debug echo its not displaying "hi"



case "$db_sid" in
"$db_sid_pro")
echo "hi"
tag="true"
echo $tage


and also i have manually checked for below line.. files are indeed exist as per below condition



if [ -e $ora_home/dbs/spfile$db_sid.ora ];then


Any suggestion or correction please.



Thanks in advance










share|improve this question


























    1















    I am trying to find all database status that were running. To achive it tried loop in the logic for all db_sid that are currently running program running but wrong results even though database and listners are up when i checked manually
    existing oracle instance running.



    [oracle@ip-xx-xx-xx-xxx~]$ ps -ef|grep smon
    oracle 15093 1 0 Nov08 ? 00:00:30 ora_smon_orcl
    oracle 15486 1 0 Nov08 ? 00:00:30 ora_smon_orcltest



    Now trying to get each instance that is running ..i.e only db_sid name by omitting ora_smon_ and getting only name
    for ora_smon_orcl ==> orcl
    for ora_smon_orcltest ==> orcltest



    for db_sid in `ps -ef | grep smon | grep -v grep | awk ' print $8 ' | cut -d '_' -f3` ; do
    echo $db_sid
    db_sid_pro="ora_smon_$db_sid"
    echo $db_sid_pro
    source /home/oracle/$db_sid
    ora_home=$ORACLE_HOME
    echo $ORACLE_HOME
    case "$db_sid" in
    "$db_sid_pro")
    echo "hi"
    tag="true"
    echo $tag
    msg="$db_sid database instance is running"
    echo "$db_sid_pro database process is running"
    ;;
    *)
    if [ -e $ora_home/dbs/spfile$db_sid.ora ];then
    msg="database is down"
    echo "database is down"
    tag="false"
    else
    tag="false"
    msg="Incorrect database SID - $db_sid. Please provide the correct database SID"
    echo "Incorrect database SID - $db_sid. Please provide the correct database SID"
    fi
    ;;
    esac


    the output shown on terminal is below: but manually i checked databse is up and listener also up..May be i am missing something in programming logic here not really database issue.



    orcl
    ora_smon_orcl
    /dbusr/app/oracle/product/12102
    database is down
    Oracle listener is down please make it up
    database is down
    Oracle listener is down please make it up
    orcltest
    ora_smon_orcltest
    /dbusr/app/oracle/product/12102
    database is down
    Oracle listener is down please make it up
    database is down
    Oracle listener is down please make it u


    However I find below is causing trouble..because when I put some debug echo its not displaying "hi"



    case "$db_sid" in
    "$db_sid_pro")
    echo "hi"
    tag="true"
    echo $tage


    and also i have manually checked for below line.. files are indeed exist as per below condition



    if [ -e $ora_home/dbs/spfile$db_sid.ora ];then


    Any suggestion or correction please.



    Thanks in advance










    share|improve this question
























      1












      1








      1








      I am trying to find all database status that were running. To achive it tried loop in the logic for all db_sid that are currently running program running but wrong results even though database and listners are up when i checked manually
      existing oracle instance running.



      [oracle@ip-xx-xx-xx-xxx~]$ ps -ef|grep smon
      oracle 15093 1 0 Nov08 ? 00:00:30 ora_smon_orcl
      oracle 15486 1 0 Nov08 ? 00:00:30 ora_smon_orcltest



      Now trying to get each instance that is running ..i.e only db_sid name by omitting ora_smon_ and getting only name
      for ora_smon_orcl ==> orcl
      for ora_smon_orcltest ==> orcltest



      for db_sid in `ps -ef | grep smon | grep -v grep | awk ' print $8 ' | cut -d '_' -f3` ; do
      echo $db_sid
      db_sid_pro="ora_smon_$db_sid"
      echo $db_sid_pro
      source /home/oracle/$db_sid
      ora_home=$ORACLE_HOME
      echo $ORACLE_HOME
      case "$db_sid" in
      "$db_sid_pro")
      echo "hi"
      tag="true"
      echo $tag
      msg="$db_sid database instance is running"
      echo "$db_sid_pro database process is running"
      ;;
      *)
      if [ -e $ora_home/dbs/spfile$db_sid.ora ];then
      msg="database is down"
      echo "database is down"
      tag="false"
      else
      tag="false"
      msg="Incorrect database SID - $db_sid. Please provide the correct database SID"
      echo "Incorrect database SID - $db_sid. Please provide the correct database SID"
      fi
      ;;
      esac


      the output shown on terminal is below: but manually i checked databse is up and listener also up..May be i am missing something in programming logic here not really database issue.



      orcl
      ora_smon_orcl
      /dbusr/app/oracle/product/12102
      database is down
      Oracle listener is down please make it up
      database is down
      Oracle listener is down please make it up
      orcltest
      ora_smon_orcltest
      /dbusr/app/oracle/product/12102
      database is down
      Oracle listener is down please make it up
      database is down
      Oracle listener is down please make it u


      However I find below is causing trouble..because when I put some debug echo its not displaying "hi"



      case "$db_sid" in
      "$db_sid_pro")
      echo "hi"
      tag="true"
      echo $tage


      and also i have manually checked for below line.. files are indeed exist as per below condition



      if [ -e $ora_home/dbs/spfile$db_sid.ora ];then


      Any suggestion or correction please.



      Thanks in advance










      share|improve this question














      I am trying to find all database status that were running. To achive it tried loop in the logic for all db_sid that are currently running program running but wrong results even though database and listners are up when i checked manually
      existing oracle instance running.



      [oracle@ip-xx-xx-xx-xxx~]$ ps -ef|grep smon
      oracle 15093 1 0 Nov08 ? 00:00:30 ora_smon_orcl
      oracle 15486 1 0 Nov08 ? 00:00:30 ora_smon_orcltest



      Now trying to get each instance that is running ..i.e only db_sid name by omitting ora_smon_ and getting only name
      for ora_smon_orcl ==> orcl
      for ora_smon_orcltest ==> orcltest



      for db_sid in `ps -ef | grep smon | grep -v grep | awk ' print $8 ' | cut -d '_' -f3` ; do
      echo $db_sid
      db_sid_pro="ora_smon_$db_sid"
      echo $db_sid_pro
      source /home/oracle/$db_sid
      ora_home=$ORACLE_HOME
      echo $ORACLE_HOME
      case "$db_sid" in
      "$db_sid_pro")
      echo "hi"
      tag="true"
      echo $tag
      msg="$db_sid database instance is running"
      echo "$db_sid_pro database process is running"
      ;;
      *)
      if [ -e $ora_home/dbs/spfile$db_sid.ora ];then
      msg="database is down"
      echo "database is down"
      tag="false"
      else
      tag="false"
      msg="Incorrect database SID - $db_sid. Please provide the correct database SID"
      echo "Incorrect database SID - $db_sid. Please provide the correct database SID"
      fi
      ;;
      esac


      the output shown on terminal is below: but manually i checked databse is up and listener also up..May be i am missing something in programming logic here not really database issue.



      orcl
      ora_smon_orcl
      /dbusr/app/oracle/product/12102
      database is down
      Oracle listener is down please make it up
      database is down
      Oracle listener is down please make it up
      orcltest
      ora_smon_orcltest
      /dbusr/app/oracle/product/12102
      database is down
      Oracle listener is down please make it up
      database is down
      Oracle listener is down please make it u


      However I find below is causing trouble..because when I put some debug echo its not displaying "hi"



      case "$db_sid" in
      "$db_sid_pro")
      echo "hi"
      tag="true"
      echo $tage


      and also i have manually checked for below line.. files are indeed exist as per below condition



      if [ -e $ora_home/dbs/spfile$db_sid.ora ];then


      Any suggestion or correction please.



      Thanks in advance







      linux loops unix process






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 16 '18 at 7:27









      aspasp

      326




      326






















          0






          active

          oldest

          votes












          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53333243%2ffor-loop-for-oracle-process-status%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53333243%2ffor-loop-for-oracle-process-status%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          27

          Top Tejano songwriter Luis Silva dead of heart attack at 64

          Category:Rhetoric