問題說明
系統爲CentOS Linux release 7.9.2009 (Core)
,安裝 Oracle-19c
版本,netca
命令啓動 Oracle 數據庫時報錯說 1521 端口被佔用,但是使用 netstat
命令查看並沒有佔用,無論改什麼端口都說端口被佔用。具體報報錯如下:
請使用另一個端口號:
爲此監聽程序提供的端口1521當前正在使用。可以按現狀繼續配置,但只有在解決衝突之後才能啓動該監聽程序。是否仍然繼續配置?
解決思路
- 首先使用
netstat
命令查看是否端口真的被佔用。 - 檢測
/etc/hosts
文件是否添加地址解析,我的如下:
[root@oracle19 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.115.15 oracle19
- 檢查你的 Oracle 用戶下的
.bash_profile
文件中的主機名是否對應,我的就是因爲這個問題導致的,我用來安裝 Oracle 的普通用戶名爲oracle
,具體配置如下:
[root@oracle19 ~]# cat /home/oracle/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.5.0
export PATH=$PATH:$ORACLE_HOME/bin:/usr/local/bin
export ORACLE_HOSTNAME=oracle19 # 修改爲你用來安裝 Oracle 的普通用戶
export ORACLE_SID=oracle19 # 修改爲你用來安裝 Oracle 的普通用戶
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/network/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
從這三個步驟檢查下來,我的任意端口都報錯佔用的問題就得以解決了,你如果出現跟我一樣的問題,可以安裝這個思路來檢查。
我的安裝參考文檔:https://blog.csdn.net/bjywxc/article/details/104696121/