Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

oracle_opatch: Find running listener more robust #123

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

duhlig
Copy link
Contributor

@duhlig duhlig commented Jan 17, 2020

This PR should contain commit 42e65ec only. But it includes other unrelated commits.

This is the commit message:

Oracle_opatch searches the running listener with:

ps -elf | grep "[0-9] $ORACLE_HOME/bin/tnslsnr"

...then splits the line by spaces and takes the last but one field.
This does not work for a "ps -ef" result like this:

0 S oracle 16921 1 0 80 0 - 43851 ep_pol 21:58 ? 00:00:00 /u01/app/oracle/product/12.1.0.2/ee/bin/tnslsnr LISTENER /dev/null -inherit

In this case "linelist[-2]" deliveres "/dev/null" instead of the LISTENER
name. My fix is to search the ps line for the listener executable and use
the next field.

Rendanic and others added 5 commits April 21, 2019 09:22
…ut content, dependencies, and UPI (unique patch ID) differ. These patches have to be rolled back in advance of applying the PSU/RU and must afterwards be installed with the correct version (=UPI). They should however not be rolled back if they are already there with the desired UPI. This helps to write more idempotent playbooks.

So there is a new parameter exclude_upi that is evaluated only if state=absent.

To keep changes in working code at a minimum the check for UPI could be acquired only by another "opatch lspatches" that costs some seconds.
Oracle_opatch searches the running listener with:

```ps -elf | grep "[0-9] $ORACLE_HOME/bin/tnslsnr"```

...then splits the line by spaces and takes the last but one field.
This does not work for a "ps -ef" result like this:

```0 S oracle   16921     1  0  80   0 - 43851 ep_pol 21:58 ?        00:00:00 /u01/app/oracle/product/12.1.0.2/ee/bin/tnslsnr LISTENER /dev/null -inherit```

In this case "linelist[-2]" deliveres "/dev/null" instead of the LISTENER
name. My fix is to search the ps line for the listener executable and use
the next field.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants