Pozn.: Se správou Oracle Database nemám žádné zkušenosti a ani ji neprovádím. Jiný tým nastavil nové zálohování pomocí RMAN a já jsem řešil problém ze strany Veeam. Jednalo se o Veeam Backup & Replication 12.3.2.
Úvodní informace
Zálohování Oracle Database pomocí Veeam Plug-in for Oracle RMAN jsem popisoval v článcích:
- Veeam Backup & Replication - zálohování Oracle Database
- Veeam Backup & Replication - zálohování aplikací
Oficiální popis konfigurace Plug-inu v Linuxu a informace pro Oracle RAC:
Chyba při běhu úlohy
Téměř okamžitě po startu (nové) úlohy se zobrazil Error a úloha skončila. Existující zálohy jiných DB na clusteru běžely stále bez problémů.
20.10.2025 2:56:12 :: Oracle RMAN Backup job started at 20.10.2025 2:56:14 20.10.2025 2:56:12 :: Session failed: Backup is not in user's control scope

Aktuální prostředí
Je zde několik fyzických serverů, kde běží Oracle Database. Dva z těchto serverů jsou nakonfigurované jako Oracle RAC (Real Application Clusters). Veeam Plug-in for Oracle RMAN běžící ve Standalone Mode potřebuje zadat uživatelský účet pomocí kterého se ověřuje na VBR Server. Naše prostředí používá pro každý server unikátní účet.
V případě Oracle RAC je zálohování Cluster Databases nastaveno pouze z prvního serveru (i když je doporučeno nastavit na všech RAC serverech). Později jsem zjistil, že chyba se objevila pro případ, kdy bylo nastaveno nové zálohování Standalone Database na druhém serveru.
Řešení problému (Troubleshooting)
Pro řešení problému je dobré zjistit detailní informace o tom, kdy chyba nastává. Případně testovat různé situace. Univerzální postup je nalézt detailnější logy, zda obsahují více informací.
Logy na VBR serveru
Z dokumentace se dozvíme, že logy na Windows Veeam Backup Server nalezneme ve složce
%ProgramData%\Veeam\Backup\Plugin\Backup\
Jsou zde podsložky pro jednotlivé servery, dvakrát zanořené v sobě, a složka Session, kde se nachází řada logů. Pro aktuální logy je zajímavý soubor Session.log.
Log je docela dlouhý, i když úloha hned na začátku selže. Je zde několik zajímavých záznamů, které mne navedly.
[06:57:26.709] <182> Info (3) [LinuxBackupServerWorker] Command: plugin.findOrUpdateBackupByJobId
[06:57:26.725] <182> Error (3) Async command failed
[06:57:26.725] <182> Error (3) Backup is not in user's control scope (System.Exception)
[06:57:26.725] <182> Error (3) at Veeam.Backup.VmbAPI.CForeignInvokerBackupDbAccessor.GetBackupsByJobIdThrowIfWrongOwner
(Guid jobId)
[06:57:26.725] <182> Error (3) at Veeam.Backup.VmbAPI.CVmbBackupScope.FindByJobIdThrowIfWrongOwner(Guid jobId)
[06:57:26.725] <182> Info (3) [LinuxBackupServerWorker] Result: {(EString) exception=Backup is not in user's control scope;
(EGuid) commandId={4b3deb00-b192-4f98-b284-cb5646e9b45e}; }
Názvy zálohovacích úloh pro Oracle RMAN
Název zálohovací úlohy (Backup Job Name) pro Veeam Plug-in for Oracle RMAN běžící ve Standalone Mode se vytváří automaticky. Pro samostatný server se použije jméno serveru (hostname) a jméno úložiště. Může to vypadat následně
oracledb.firma.cz Oracle backup (Jméno-úložiště)
Pro servery v prostředí Oracle RAC se použije jméno clusteru - Single Client Access Name (SCAN) a jméno úložiště. Výsledek vypadá obdobně, ale pro všechny členy RAC je název úlohy stejný. Má to patrně důvod, aby nezáleželo, z kterého serveru probíhá clusterová záloha, a data se uložila společně.
rac-cluster-scan.firma.cz Oracle backup (Jméno-úložiště)
Úloha a její vlastník
Zjistil jsem, že standardní zálohy (klastrové databáze) probíhaly pouze z prvního serveru v clusteru. Na druhém vůbec nebyl Veeam Plug-in nainstalován. Kolegové na druhém serveru zprovoznili samostatnou databázi, nainstalovali plugin a nastavili zálohování. Hned při prvním spuštění se objevila chyba.
Protože jsou servery v RAC, tak si Veeam Plug-in vytvořil stejné jméno úlohy. Druhý server se snažil připojit k úloze vytvořené prvním serverem a na to patrně nemá práva. Podle chyby FindByJobIdThrowIfWrongOwner není vlastníkem úlohy.
Je dost možné, že problém způsobuje to, že na každém serveru je použit jiný účet pro připojení k VBR Server. Možná je potřeba použít v rámci Oracle RAC společný účet. Ve Veeam dokumentaci jsem žádné informace nenalezl. Ani o tom, zda při zálohování Oracle RAC jsou podporované Standalone Database.
Alternativní řešení (Workaround)
Podle dokumentace může v nějakém případě vzniknout situace, kdy různé samostatné servery mají stejné jméno (v různých prostředích). Proto existuje možnost upravit konfiguraci a odlišit názvy serverů, aby vznikly unikátní názvy úloh.
Dokumentace uvádí, že následující postup se týká pouze Standalone servers. Prakticky zafungoval i v mém případě s Oracle RAC (možná není správné jej použít, kvůli fungování clusteru, ale v naše případě to není problém). Po nastavení parametru vlastního názvu serveru se vytvořila úloha, kde se tento název použil v jejím jméně (místo SCAN jména).
- konfigurace se nachází na Oracle serveru v XML souboru
veeam_config.xml, který je na Linuxu uložen v cestě/opt/veeam/VeeamPluginforOracleRMAN/ - najdeme řádek
<PluginParameters /> - přidáme do něj atribut
customServerNames požadovaným FQDN jménem
<PluginParameters customServerName="oracledb2.firma.cz" />
Pozn.: Mimochodem tento konfigurační soubor obsahuje řadu citlivých informací. Veeam doporučuje omezit k němu přístup - Granting Permissions to Users.
Zatím zde nejsou žádné komentáře.