解決Mac用Navicat連接Oracle數據庫報ORA-21561: OID generation failed
問題原因:
- 打開終端,查看 hostname
hostname
- 1
- 1
發現是 輸出的hostname爲 .local 而不是 localhost
- 查看 hosts 文件
cd /etc
open hosts
- 1
- 2
- 1
- 2
內容爲
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 問題已經找到了,因爲 hostname 和 hosts 文件裏的 hostname 不一致,也就是本機hostname爲.local而hosts文件中的hostname爲localhost
- 解決辦法,修改 hostname 與 hosts 裏保持一致,即在終端中執行下面這條命令即可
sudo scutil --set HostName localhost
- 1
- 1
- 重新連接 Oracle,問題解決