Oracle21c資料庫安裝問題記錄
1. 安裝問題
1.1 Oracle監聽器配置錯誤:為該監聽程式提供的資訊正由此計算機上的其他軟體使用
轉載連結:https://blog.itpub.net/23557469/viewspace-1117140/
在Linux上安裝好Oracle 10g, 配置監聽器,卻得到:
為該監聽程式提供的資訊正由此計算機上的其他軟體使用。。。云云的報錯資訊。
此情況一般是1521預設埠被佔用。但是此處為特例,最初以為是埠被佔用,但是檢查後,發現並沒有被佔用,而且不管換成任何埠都是報相同錯誤。無視報錯,檢視監聽配置檔案,發現其中的ip地址不是本機IP或者該機在內網的可用IP. 嘗試啟動監聽,果然得到該IP不存在的報錯。
直接將監聽配置檔案的IP改成了127.0.0.1 啟動監聽,成功。
但是在其他機器上使用sqlplus嘗試連線時,得到監聽不存在的報錯
檢查網路,能ping通。
回到Linux系統,發現顯示的hostname 不正常,為bogon
經查,發現這才是錯誤原因,因為監聽需要檢查到正確的hostname才能正常工作。
解決方法:
-
在linux下新增一個127.0.0.2名叫bogon的主機
此方法使用後,bogon主機名得以解析,使用的主機名仍為bogon,但進入linux已不會再出現上述警告框。
本人不推薦使用。 -
使用hostname命令
[root@test ~]# hostname home [root@test ~]# su [root@home ~]#
這樣即可,但可能有些linux版本下應用程式仍不能正常使用。
此方法可以簡單地找回你想要的主機名。 -
修改linux主機的配置檔案/etc/sysconfig/network 和 /etc/hosts
1).修改/etc/sysconfig/network裡面的主機名字。# vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=yourname //在這修改hostname
2).修改/etc/hosts裡面的名字
# vi /etc/hosts 127.0.0.1 yourname
3).不需要重啟主機,最後在終端下執行:
#hostname * //*為修改的hostname
-
讓dns重新解析(根本的解決辦法)
你需要將主dns隨意改一個地址儲存設定,然後再改回原ip,儲存設定。
登出當前使用者,重新登入即可。
據說是因為dns伺服器反解析私有地址時,會返回結果bogon。換一個dns解析ip就沒事了 。
2. 執行問題
2.1 進入命令列時展示為‘?’而不是字母
[oracle@host01 ~]$ sqlplus / as sysdba
SQL*Plus: Release 21.0.0.0.0 - Production on Mon Aug 19 16:41:55 2024
Version 21.3.0.0.0
Copyright (c) 1982, 2021, Oracle. All rights reserved.
???:
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
解決方案:
這個顯然是編碼錯誤導致的,檢查一下編碼
[oracle@host01 ~]$ echo $NLS_LANG
[oracle@host01 ~]$ export NLS_LANG=.AL32UTF8
[oracle@host01 ~]$ sqlplus / as sysdba
SQL*Plus: Release 21.0.0.0.0 - Production on Mon Aug 19 16:47:43 2024
Version 21.3.0.0.0
Copyright (c) 1982, 2021, Oracle. All rights reserved.
Connected to:
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
只需要加上export NLS_LANG=.AL32UTF8
即可。