近期需要更新Grid 版本,需要從Grid 11g更新到Grid 19c。
在執行最後rootupgrade.sh時候,發生錯誤。
[root@f1mfgdm ~]# /oradb/F1MFGDM/app/19.3.0/grid/rootupgrade.sh
..........
2023/12/13 17:18:22 CLSRSC-595: Executing upgrade step 3 of 12: 'GenSiteGUIDs'.
2023/12/13 17:18:22 CLSRSC-595: Executing upgrade step 4 of 12: 'SetupOSD'.
2023/12/13 17:18:22 CLSRSC-595: Executing upgrade step 5 of 12: 'PreUpgrade'.
已順利升級並啟動 ASM.
2023/12/13 17:22:20 CLSRSC-595: Executing upgrade step 6 of 12: 'UpgradeAFD'.
2023/12/13 17:22:20 CLSRSC-595: Executing upgrade step 7 of 12: 'UpgradeOLR'.
PROTL-8: Failed to import data from specified file to the local registry
PROCL-5: User does not have permission to perform a local registry operation on this key. Authentication error [User [root]
解決方法:
在執行rootUpgrade.sh之前,要先確認幾點
shell 中沒有以下的 env variables:
ORACLE_HOME, ORACLE_BASE, 和ORACLE_SID, ORA_NLS10,TNS_ADMIN
並且它相關的 shell 的 profile 檔案中(例如 /etc/profile, /home/grid/.profile, /home/grid/.bash_profile, /home/grid/.cshrc) 也沒有設定如下的 env variables:
ORACLE_HOME, ORACLE_BASE, 和ORACLE_SID,ORA_NLS10,TNS_ADMIN,還需要確保PATH這個env variable中不包含 $ORACLE_HOME/bin。並且確保 /etc/passwd 中只有root的uid為0
然後在再次執行 /oradb/F1MFGDM/app/19.3.0/grid/rootupgrade.sh 之前,
修改/oradb/F1MFGDM/app/19.3.0/grid/crs/install/oraolr.pmcp -p /oradb/F1MFGDM/app/19.3.0/grid/crs/install/oraolr.pm /tmp/oraolr.pm
修改其中的第543行
$status = run_as_user($CFG->params('ORACLE_OWNER'),
為
$status = run_as_user('root',
記錄此事件。