DBC:Errors/Executing: Difference between revisions
(7 intermediate revisions by the same user not shown) | |||
Line 22: | Line 22: | ||
<code>alternatives --set python /usr/bin/python3</code> | <code>alternatives --set python /usr/bin/python3</code> | ||
If you cannot set alternatives correctly, you can also run dbcollect directly with the right Python version: | |||
<code>python3 /usr/local/bin/dbcollect [options]</code> | |||
== Permission errors == | |||
Permission denied errors on the dbcollect command, such as: | |||
<pre> | |||
bash: /tmp/dbcollect: Permission denied | |||
</pre> | |||
If you run dbcollect as <code>root</code>, it will switch to the first detected 'oracle' user (user owning the ora_pmon_<sid> process). This user (usually <code>oracle</code>, has no execute access on the dbcollect package. | |||
Causes: | |||
* DBCollect placed in a different location than <code>/usr/local/bin</code> and the user has no rights on the directory (such as <code>/root/</code>) | |||
* The dbcollect executable itself has incorrect permissions | |||
* The dbcollect executable is placed in a directory that does not allow execution of binaries (such as <code>noexec</code> mount option on Linux) | |||
* Problems with <code>SELinux</code> or <code>AppArmor</code> ? | |||
== Git Clone issues == | == Git Clone issues == |
Latest revision as of 09:38, 15 November 2024
Some known errors that happen when running dbcollect.
PK... errors
File "dbcollect", line 2 PK"""
This means you are running a very old Python version (before 2.6) that does not understand Python ZipApp packages
Environment problems
/usr/bin/env: ‘python’: No such file or directory
This means python is not in $PATH. On more recent RHEL Linux variants (EL 8), you need to specify which Python major version is to be used. Select Python3 if unsure.
alternatives --set python /usr/bin/python3
If you cannot set alternatives correctly, you can also run dbcollect directly with the right Python version:
python3 /usr/local/bin/dbcollect [options]
Permission errors
Permission denied errors on the dbcollect command, such as:
bash: /tmp/dbcollect: Permission denied
If you run dbcollect as root
, it will switch to the first detected 'oracle' user (user owning the ora_pmon_<sid> process). This user (usually oracle
, has no execute access on the dbcollect package.
Causes:
- DBCollect placed in a different location than
/usr/local/bin
and the user has no rights on the directory (such as/root/
) - The dbcollect executable itself has incorrect permissions
- The dbcollect executable is placed in a directory that does not allow execution of binaries (such as
noexec
mount option on Linux) - Problems with
SELinux
orAppArmor
?
Git Clone issues
Error: No buildinfo
You are trying to run dbcollect using a cloned repository (git clone). dbcollect should run as a ZipApp package and be downloaded from Github Releases to be reliable. You can manually build dbcollect if you really want to use the git repository.
dbcollect must run from a ZipApp package, use https://github.com/outrunnl/dbcollect/releases/latest
Same as above except somehow you managed to create the buildinfo. Either go with the released ZipApp or follow the build procedure.