1. 程式人生 > >雲服務器綁定主機名的正確姿勢

雲服務器綁定主機名的正確姿勢

雲主機、oracle監聽、linux故障

雲服務器綁定主機名的正確姿勢

一直以來,我在做方案的時候,都不推薦在雲服務器上安裝oracle。可隨著宣傳的深入,偏偏就有人要這樣幹,前天,就有要求我在某度雲安裝oracle rac集群;我確實不知道怎麽解決共享存儲及多網卡。

一個很久不理我的家夥,突然給我電話,說安裝在阿裏雲服務器上的oracle,執行netca失效,需要我幫忙。很佩服那些程序員,居然能在雲服務器成功安裝oracle。好奇心驅使我去要了系統權限,爬上去看看究竟。

先看看oracle實例是否正常,按一下步驟進行:

1、 檢查進程: ps auxww|grep ora ,還好進程都有;

2、 檢查實例是否正常,也沒問題,截圖如下:

技術分享圖片

3、 分別檢查oracle實例日誌和監聽器日誌,也沒什麽收獲;

4、 檢查系統日誌,未見明顯異常;

5、 檢查系統資源,發現交換分區太小,不過既然能正常安裝oracle,應該也影響不大;另外同一個系統上還運行了java和memcached,擔心占用資源過多,一概給停止了(反正是未上線的系統,隨便殺);

6、 以oracle用戶執行 lsnrctl stat,輸出一半就卡住了,耐著性子等了一會而,結果如下:

[oracle@qhwy ~]$ lsnrctl stat

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 09-MAR-2018 22:33:50

Copyright (c) 1991, 2009, Oracle. All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

TNS-12535: TNS:operation timed out

TNS-12560: TNS:protocol adapter error

TNS-00505: Operation timed out

提示超時,手動啟動監聽器,也是一樣的輸出。

按照也有的經驗,查了好一通,還是沒解決,那就網上搜一搜吧。運氣還算不錯,搜到一篇文章,正好瞧到有一行寫著netca啟動不了的問題,雲啟動不了可能與主機名有關。那好,就打開文件/etc/sysconfig/network及/etc/hosts瞧瞧,一眼就看出問題所在。

技術分享圖片

哥,阿裏雲的服務器,使用的可是內網地址喲,不信你瞧:

[root@qhwy ~]# ifconfig

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 172.17.144.28 netmask 255.255.240.0 broadcast 172.17.159.255

ether 00:16:3e:10:5c:61 txqueuelen 1000 (Ethernet)

RX packets 5322360 bytes 6866094153 (6.3 GiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 2929473 bytes 386359858 (368.4 MiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536

inet 127.0.0.1 netmask 255.0.0.0

loop txqueuelen 1 (Local Loopback)

RX packets 381760 bytes 25954689 (24.7 MiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 381760 bytes 25954689 (24.7 MiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

把/etc/hosts文件的公網地址,改成實際網絡監聽地址:

172.17.144.28 qhwy

切換到oracle賬戶,再執行 lsnrctl start,故障排除。

技術分享圖片

不過,直接把oracle數據庫暴露在公網上,也是一個隱患。


雲服務器綁定主機名的正確姿勢