DBC:Errors/Executing

From Dirty Cache Wiki
Jump to navigation Jump to search


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 or AppArmor ?

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.