Oracle网络配置简述

ORACLE网络配置

1.监听器配置文件存放位置:CAT $ORACLE_HOME/NETWORK/ADMIN/LISTENER.ORA

2.如果监听器端口是默认的1521,那LISTENER.ORA这份监听配置文件是可以不需要的(建议还是保留)

3.LISTENER为首次创建的默认监听器,所有监听器创建完的配置信息都会保存在LISTENER.ORA这份文件中,
如果再用NETCA创建一个LISTENER2,端口号不能重复(1522),同样LISTENER2的配置信息也会保存在一起。

4.上面在讲述ORACLE官方推荐启动方式的时候说了查看监听以及启动和关闭监听的命令,那都是使用于查看默认监听的情况,
如果有两个或者是两个以上的监听存在时,只需要在原先的命令加上新增的监听名字即可:

LSNRCTL STATUS LISTENER2
LSNRCTL STOP LISTENER2
LSNRCTL START LISTENER2

5.首次配置监听,监听文件默认的配置的HOST一般都会为本机(LOCALHOST),这里这样配置时没问题,但是该数据库
只能自己进行访问,以下是监听器(LISTENER.ORA文件)的一个默认配置:

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = LOCALHOST)(PORT = 1521))
)
)

ADR_BASE_LISTENER = /U01/APP/ORACLE

复制(ADDRESS = (PROTOCOL = TCP)(HOST = LOCALHOST)(PORT = 1521))
粘贴(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.22)(PORT = 1521))
把LOCALHOST改成本机的实际地址(LOCALHOST=127.0.0.1),这样配置了一个客户端能访问
的地址,其他机器就可以通过此IP地址进行连接了,加完的结果如下:

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = LOCALHOST)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.22)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /U01/APP/ORACLE

6.ALTER SYSTEM REGISTER 此命令意思是将数据库信息注册进监听,当我们修改了监听或者是增加了监听后,
启动完监听,发现客户端或者服务端连接不上数据库,是因为新启动的监听没有找到对应的实例工作,这时我们就
要使用改命令,将数据库的信息告诉监听器,再重新连接就可以解决。(这里是将实例注册到默认监听的命令,下面会有说
将实例注册到其他监听的方法)

7.之前是用的NETCA配置监听器,NETMGR也是可以配置监听器,而且功能更强大更简便。

扫描二维码关注公众号,回复: 11410265 查看本文章

8.客户端连接ORACLE服务器的两种方式:
第一种:
在ORACLE官方下载三个压缩文件
INSTANTCLIENT-BASIC-WINDOWS.X64-12.1.0.ZIP
INSTANTCLIENT-JDBC-WINDOWS.X64-12.1.0.ZIP
INSTANTCLIENT-SQLPLUS-WINDOWS.X64-12.1.0.ZIP
这三个文件属于ORACLE官方客户端,跟之前的SQLDEVELOPER(管理工具)不同,这个纯命令行工具,
将这三个压缩包解压到同一目录下,然后进入该文件夹中,将TNSNAMES.ORA文件先注释,然后打开WINDOWS命令行,
进入到文件夹的路径下,例如D:/INSTANTCLIENT_12_1的路径下,执行SQLPLUS.EXE /NOLOG命令,
进入到SQLPLUS后,输入CONN SYS/[email protected]:1521/PAS AS SYSDBA,
弹出CONNECTED,表示客户端已经连接上服务器的数据库了,这是一个纯客户端的连接方式,没有通过XHELL的SSH协议,
前提要配置好外网访问服务器的环境。
第二种:
第一种方法有提到要注释了TNSNAMES.ORA这个文件,这份文件客户端有,服务器上也有,建议在服务器上将这份文件
下载到本地客户端上(这份文件专门给客户端远程连接所用的),编辑这份文件,将其中一个HOST改为192.168.0.22,SERVICE_NAME = PAS(自己的实例名),保存,然后也是回到上面的路径下,执行SQLPLUS.EXE /NOLOG命令,进入到SQLPLUS,可以直接用CONN SYS/PAS@XX AS SYSDBA(这里的ORCL就是TNSNAMES.ORA文件里面的ORACLE),这样会少些很多语句,这是在第一种连接语句上做了优化,如果TNSNAMES.ORA文件删除或者丢失了,此方法失效。

9.使用静态注册,将实例注册到指定的监听。
SID_LIST_LISTENER =
(SID_LISE=
(SID_DESC=
(GLOBAL_DBNAME=实例名)
(SID_NAME=实例名)
)
)
因为上面之前有说到新增加监听,重启监听后发现连不上数据库,是因为没有将实例信息注册到监听里面去,所以
需要使用ALTER SYSTEM REGISTER,但是现在使用这个命令只会将实例注册到默认监听,如果想注册到第二个或者
第三个监听呢?这里就要在监听的配置文件(LISTENER.ORA)里加入以上的配置信息。

10.通过PMOM每分钟向数据库中注册监听的形式,使用NETMGR工具动态注册监听,添加服务名,新增加服务设置好服务的IP地址并保存,然后打开CAT $ORACLE_HOME/NETWORK/ADMIN/TNSNAMES.ORA这份文件就会发现里面新增加了一个新的服务,就是刚刚通过NETMGR所增加的新服务,最后在进入到SQLPLUS界面输入ALTER SYSTEM SET LOCAL_LISTENER=PAS(这是我刚新增加的服务名),这是再通过SHOW PARAMETER LOCAL就可以发现LOCAL_LISTENER的值已经变成PAS了,如果再想将对应的实例配置的指定的监听只需要用此方法动态注册即可。

11.监听器加密
在$ORACLE_HOME/NETWORK/ADMIN/目录下找到SQLNET.ORA文件,VIM打开,新增:
TCP.VALIDNODE_CHECKING=YES --对客户端节点进行有效性检查
TCP.INVITED_NODES=(IP地址) --允许此客户端IP地址进行访问,多个IP地址使用逗号分开
TCP.EXCLUDED_NODES=(IP地址) --不允许此客户端IP地址进行访问,多个IP地址使用逗号分开
保存关闭,重启监听,再通过客户端进行尝试会发现在不允许参数值中的IP已经连不上数据库服务器而允许的还是可以连上。
建议直接使用允许的参数,因为IP可以改,改了还能登录这样不允许的参数就会失效了。

虚拟机服务器主机IP发生变化导致连接不上解决方法:
1.修改VIM /ETC/SYSCONFIG/NETWORK-SCRIPT/下面对应的网卡文件,需要修改内容为:
IPADDR=192.168.0.100 --修改为新的IP(端口必须和主机一致)
NETMASK=255.255.255.0 --/24掩码
GATEWAY=192.168.0.1 --修改为新的主机网关
SERVICE NETWORK RESTART --重启网卡
2.修改VIM /ETC/HOSTS 将新的主机地址和主机名添加进区
3.修改数据库监听文件 VIM $ORACLE_HOME/NETWORK/ADMIN/LISTENER.ORA将
IP地址修改为新的IP地址。
4.重启监听和数据库服务,如果客户端连接不上直接重启服务器再进行重试,要确保外网1521端口是已经开放的
NETSTAT -NTULP |GREP :1521 --查看端口#

猜你喜欢

转载自blog.csdn.net/m0_38036502/article/details/106351696