這是一台Solaris 10的測試區,是為了完成某些任務而建置的,屬於短期使用。
我需要還原Oracle DB與AP應用程式到這台Solaris 10測試機上,其使用的帳號分別:
DB:帳號visora,uid 101 ; AP:帳號vismgr,uid 100
但是我用vismgr這個帳號把DB還原了,再加上為了有一個特殊的需求,所以手動修改兩個帳號的uid,更動完後其帳號分別為:
DB:帳號visora,uid 100 ; AP:帳號vismgr,uid 101
因為修改了帳號,所以Oracle DB的安裝目錄需要重新授權,用root帳號登入並執行下列的語法
# chown -R visora:dba /a10/oracle
而在啟動DB listener時出現了下列的錯誤
TNS-12546: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00516: Permission denied
Solaris Error: 13: Permission denied
我到Oracle的安裝目錄下檢查,發現相關的權限都是正確的,而且新增、修改、刪除測試檔案也都沒有問題。
最後找到在/var/tmp,有一個.oracle目錄,檢查一下這個目錄的權限
bash-3.2# ls -ld .oracle
drwxrwxrwt 2 vismgr 100 12 Jun 15 11:58 .oracle
由上可得知,這個目錄的擁有者是錯誤的,應該是visora,所以下指令更改
bash-3.2# chown -R visora:dba .oracle
完成後,再重啟啟動listener,此時就成功了。