SMO funktioniert nicht unter deutschem Windows
Die Sicherung einer Oracle Datenbank mit dem Netapp SMO 3.1.4 P4 unter Windows 2012 hat nicht funktioniert.
Hier der Output eines fehlergeschlagenen Backups:
--[ INFO] SMO-13036: Starting operation Backup Create on host WIN2012DE.example.com
--[ INFO] SMO-13046: Operation GUID 8a99ee2a6561ecdd016561ece0f90001 starting on Profile ORA12C
--[ INFO] SMO-22001: Started adding the Backup Create operation in history.
--[ INFO] SMO-02007: Auto-generated label "F_H_20180822155718MESZ" for backup.
--[ INFO] SMO-07431: Saving starting state of the database: Database[ORA12C(OPEN)], Service[RUNNING].
--[ INFO] SMO-07431: Saving starting state of the database: Database[ORA12C(OPEN)], Service[RUNNING].
--[ INFO] SMO-07127: Locked database for SnapManager operations - created lock file "d:\oracle\product\12.1.0\dbhome_1\database\.sm_lock_ORA12C" on host WIN2012DE.
--[ INFO] SMO-02062: Included Archivelog Destinations N:\fast_recovery_area\ORA12C\archive.
--[ INFO] SMO-02063: Excluded Archivelog Destinations.
--[ INFO] ORACLE-20024: Spooling control file for database tbscat12 to trace as C:\Users\NetAppSnapManagerORA\AppData\Local\Temp\SM_3193003485773398518.
--[ INFO] ORACLE-20024: Spooling control file for database tbscat12 to trace as C:\Users\NetAppSnapManagerORA\AppData\Local\Temp\SM_2833064110151233011.
--[ INFO] ORACLE-20019: Placing database tbscat12 into online backup mode.
--[ INFO] SD-00016: Discovering storage resources for L:\.
--[ INFO] SD-00017: Finished storage discovery for L:\.
--[ INFO] SD-00001: Beginning snapshot with name smo_ORA12C_ORA12C_f_h_1_8a99ee2a6561ecdd016561ece0f90001_0 for [L:\].
--[ INFO] SD-00002: Created snapshot with name smo_ORA12C_ORA12C_f_h_1_8a99ee2a6561ecdd016561ece0f90001_0 for [L:\].
--[ INFO] ORACLE-20020: Taking database tbscat12 out of online backup mode.
--[ INFO] ORACLE-20025: Forcing archival of all online redo logs for database ORA12C.
--[ INFO] SMO-07152: Fetching archivelogs from destination N:\fast_recovery_area\ORA12C\archive
--[ INFO] ORACLE-20023: Backing up control file for database tbscat12 to N:\FAST_RECOVERY_AREA\ORA12C\CONTROL\SMOBakCtl_1534946251817_0.
--[ INFO] SD-00016: Discovering storage resources for L:\.
--[ INFO] SD-00017: Finished storage discovery for L:\.
--[ERROR] SMO-13032: Cannot perform operation: Backup Create. Root cause: PLAT-00039: Unable to change permissions of file N:\fast_recovery_area\ORA12C\control\SMOBAKCTL_1534946251817_0 to 700. Error 1332: Zuordnungen von Kontennamen und Sicherheitskennungen wurden nicht durchgeführt.
--[ INFO] SMO-07108: Deleting backup control file "N:\FAST_RECOVERY_AREA\ORA12C\CONTROL\SMOBakCtl_1534946251817_0".
--[ INFO] ORACLE-00116: Uncataloguing file set [] from RMAN.
--[ INFO] SD-00013: Beginning deletion of snapshot(s) [SVM-AIB001-FC:/vol/SVM_AIB001_FC_TBS_TBTDATA_R89_ms:smo_ORA12C_ORA12C_f_h_1_8a99ee2a6561ecdd016561ece0f90001_0].
--[ INFO] SD-00014: Deleted snapshot(s) [SVM-AIB001-FC:/vol/SVM_AIB001_FC_TBS_TBTDATA_R89_ms:smo_ORA12C_ORA12C_f_h_1_8a99ee2a6561ecdd016561ece0f90001_0].
--[ INFO] SMO-07131: Unlocked database for SnapManager operations - removed lock file "d:\oracle\product\12.1.0\dbhome_1\database\.sm_lock_ORA12C" on host WIN2012DE.
--[ INFO] SMO-07433: Returning the database to its initial state: Database[ORA12C(OPEN)], Service[RUNNING].
--[ INFO] SMO-13039: Successfully aborted operation: Backup Create
--[ERROR] SMO-13048: Backup Create Operation Status: FAILED
--[ INFO] SMO-22002: Successfully recorded the Backup Create operation in history.
--[ INFO] SMO-13049: Elapsed Time: 0:00:28.165
Analyse
- Berechtigungen am OS passen, hier sind keine Probleme erkennbar.
- Auch mit älteren SMO Versionen tritt dieser Fehler auf, somit ist es kein Fehler in der aktuellen Version.
- Das Betriebssystem ist auf Deutsch installiert.
Fehlerbehebung
Das Betriebssystem von Deutsch auf Englisch umstellen!
Nachdem wir die Language Settings des Betriebssystems auf Englisch umgestellt haben, war der Fehler behoben und das Backup konnte erfolgreich durchgeführt werden.
SMO analysiert immer den Output von Befehlen (weil Return Values bei manchen Programmen leider nicht korrekt funktionieren) - das erfolgt aber nur für Englisch. Mit jeder anderen Sprache gibt es entsprechend Probleme.