作者 | JiekeXu
来源 | JiekeXu DBA之路(ID: JiekeXu_IT)
大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看一下 Oracle 通过 SQL 语句查看数据库服务器 IP 地址,欢迎点击上方蓝字关注我,标星或置顶,更多干货第一时间到达!
话说昨天发布的关于单表分页查询优化的文章,阅读量还不错,可收藏下来遇到分页查询语句直接嵌套就可以了,还没有看的小伙伴可点击此处直达,今天来说说关于使用 PLSQL 等客户端工具查看数据库服务器 IP 地址的方法,用以回答前几天在某个微信群里小伙们的提问。
Oracle 通过 SQL 语句查看数据库服务器 IP 地址,通常有如下几种方法:
数据库 IP 配置如下 host 所示:
#public ip
192.168.75.128 jiekexu-r1
192.168.75.129 jiekexu-r2
#private ip
10.10.10.128 jiekexu-r1-priv
10.10.10.129 jiekexu-r2-priv
#vip
192.168.75.130 jiekexu-r1-vip
192.168.75.131 jiekexu-r2-vip
#scanip
192.168.75.132 jiekexu-racscan
查看 public IP 及主机名
SQL> col PUBLIC_IP for a30
SQL> col HOSTNAME for a30
SQL> select utl_inaddr.get_host_address PUblic_IP,utl_inaddr.get_host_name HOSTNAME from dual;
PUBLIC_IP HOSTNAME
------------------------------ ------------------------------
192.168.75.128 jiekexu-r1
SQL> SELECT UTL_INADDR.get_host_address PUBLIC_IP from dual;
PUBLIC_IP
------------------------------
192.168.75.128
DBMS 包查看主机名和 IP 地址
SET serveroutput on
BEGIN
DBMS_OUTPUT.PUT_LINE(UTL_INADDR.GET_HOST_NAME); -- get local host name
DBMS_OUTPUT.PUT_LINE(UTL_INADDR.GET_HOST_ADDRESS); -- get local IP addr
END;
/
RAC 查看 public IP
SQL> select * from v$configured_interconnects;
NAME IP_ADDRESS IS_ SOURCE CON_ID
--------------- --------------- --- --------------- ----------
ens33:1 169.254.3.163 NO 0
ens32 192.168.75.128 YES 0
ens32:1 192.168.75.132 YES 0
ens32:2 192.168.75.130 YES 0
------------------------
select
indx as "Interface Index",
inst_id as "RAC Instance",
pub_ksxpia as "Public?",
picked_ksxpia as "RAC Device",
name_ksxpia as "NIC Device",
ip_ksxpia as "IP Address"
from x$ksxpia;
Interface Index RAC Instance Public? RAC Device NIC Device IP Address
--------------- ------------ ---------- ----------------------------------- --------------- ----------------------------------------------
0 1 N GPnP ens33:1 169.254.3.163
1 1 Y GPnP ens32 192.168.75.128
2 1 Y GPnP ens32:1 192.168.75.132
3 1 Y GPnP ens32:2 192.168.75.130
4 1 Y GPnP ens32:3 192.168.75.131
通过 PLSQL 查看
注意:如果 scanIP 在本节点也可以查到,节点 2 VIP FAILED OVER 也会在节点 1 查到(如上所示,节点 2 vip 也可以在节点 1 查到),所以只会查到公网 IP 以及 VIP 和 scanIP,无法查到私网 IP。
Single DB 查看 IP
select
sys_context('USERENV','SERVER_HOST') as HOST,
utl_inaddr.get_host_address(sys_context('USERENV','SERVER_HOST')) as IP
from dual;
HOST IP
------------------ --------------------
test-19cogg 192.168.75.87
通过 shell 命令查看 IP 和实例名
通过 shell 命令查看实例名
jiekexu-r1:/home/oracle(JiekeXu1)$ ps -ef | grep ora_smon | grep -v grep
oracle 10780 1 0 14:32 ? 00:00:00 ora_smon_JiekeXu1
jiekexu-r1:/home/oracle(JiekeXu1)$ ps -ef | grep ora_smon | grep -v grep| awk -F" " '{print $8}'| awk -F"_" '{print $3}'
JiekeXu1
通过 shell 命令查看 IP
jiekexu-r1:/home/oracle(JiekeXu1)$ grep -w $HOSTNAME /etc/hosts| grep -v vip | grep -v priv| awk -F" " '{print $1}'
192.168.75.128
jiekexu-r1:/home/oracle(JiekeXu1)$ ping `hostname` -c 1
PING jiekexu-r1 (192.168.75.128) 56(84) bytes of data.
64 bytes from jiekexu-r1 (192.168.75.128): icmp_seq=1 ttl=64 time=0.017 ms
--- jiekexu-r1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.017/0.017/0.017/0.000 ms
jiekexu-r1:/home/oracle(JiekeXu1)$ ping `hostname` -c 1 | grep PING
PING jiekexu-r1 (192.168.75.128) 56(84) bytes of data.
jiekexu-r1:/home/oracle(JiekeXu1)$ ping `hostname` -c 1 | grep PING | cut -d '(' -f2
192.168.75.128) 56
jiekexu-r1:/home/oracle(JiekeXu1)$ ping `hostname` -c 1 | grep PING | cut -d '(' -f2
192.168.75.128) 56
jiekexu-r1:/home/oracle(JiekeXu1)$ ping `hostname` -c 1 | grep PING | cut -d '(' -f2 | cut -d ')' -f1
192.168.75.128
~本次分享到此结束啦~
❤️ 欢迎关注我的公众号,来一起玩耍吧!!!
——————————————————————--—--————
公众号:JiekeXu DBA之路
墨天轮:https://www.modb.pro/u/4347
CSDN :https://blog.csdn.net/JiekeXu
腾讯云:https://cloud.tencent.com/developer/user/5645107
————————————————————————----———
VMWARE16 Oracle Linux7.9 安装 Oracle19c RAC 详细配置方案
使用 VMware 16 RHEL7.7 虚拟机静默安装 Oracle 19c RAC
爆肝一万字终于把 Oracle Data Guard 核心参数搞明白了
Oracle 12c 及以上版本补丁更新说明及下载方法(收藏版)
Oracle 19c 19.10DBRU 最新补丁升级看这一篇就够了
Redhat 7.7 安装最新版 MongoDB 5.0.1 手册
ASM 管理的内部工具:KFED、KFOD、AMDU
性能优化|关于数据库历史性能问题的一道面试题
一线运维 DBA 五年经验常用 SQL 大全(二)
ORA-00349|激活 ADG 备库时遇到的问题
OGG-01004|OGG 初始化数据问题处理
Oracle 轻量级实时监控工具 oratop
Linux 7.7 源码安装 MySQL 8.0.26
MySQL OCP 认证考试你知道吗?
Oracle 19C RAC 安装遇到的坑
国产数据库|TiDB 5.0 快速体验
Oracle 参数文件三两事儿
Oracle 每日一题系列合集
更多推荐