oracle图形化配置listener.ora文件
概述:
监听的特点:
具有独立性
连接建立流程
默认端口号1521
*服务端需要listener.ora,客户端需要tnsname.ora文件
1.客户端向监听发起请求
监听知道数据库的位置,但是之间没有长连接,
2.监听把用户的请求转给数据库的实例,实例为连接专门启动一个server process,将server process的地址告诉监听,监听把地址告诉客户端
3.客户端通过地址server process建立连接,用户将用户名和密码给server process,SP线程带着信息去数据库验证,验证成功,连接正式建立。
listener的作用:建立连接的时候,负责转发;一旦建立了连接,即使listener关闭,连接也会存在,利用ps -ef | grep oracle,可以看到会话连接
依旧存在
listener.ora的位置:/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
注意:短时间内大量连接上来的时候,listener处理的比较慢,用户感觉连接比较慢。
listener.ora文件作用
listener.ora文件中存放了客户机与服务器连接所需要的监听地址,以及服务器启动监听进程时的信息。
手动配置listener.ora文件
listener.ora文件存放位置
直接在这个路径下vi编辑创建listener.ora文件
--vi listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.207.130)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
图形化配置listener.ora文件
调用图形化界面
[oracle@test ~]$ netca
在文件中可以修改host参数,根据ip或者hostname填写,默认值是localhost,建议使用IP地址
命令:
lsnrctl start
lsnrctl status
lsnrctl stop
tnsnames.ora文件配置
使用netca命令,图形化建立tnsnames.ora文件
tnsnames.ora文件内容,粘贴复制,可手动配置
-- vi tnsnames.ora
#静态注册
SID_LIST_LISTENER_PHALR =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = phalr)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0)
(SID_NAME = phalr)
)
)
#动态注册
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.207.130)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
[oracle@source admin]$ tnsping ORA_130
TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 11-NOV-2019 17:49:39
Copyright (c) 1997, 2013, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.207.130)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
OK (0 msec)
排错流程
1.
tnsnames.ora
ip、端口号:服务器端 netstat -tulnp|grep 1521
service_names show parameter service
2.
tnsping
lsnrctl status
--以上证明我们的客户端配置没有问题
静态文件配置
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.xxx.xxx)(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC) (KEY = EXTPROC))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(PROGRAM = extproc)
)
)
--------------------------------------------------------------------
listener.ora
GLOBAL_DBNAME是服务名,SID_NAME是实例名称。GLOBAL_DBNAME可以定义多个,SID_NAME对应一个存在的实例,不能瞎写。
客户端:
客户端连接使用的是注册到listener中的服务名进行比对,根据服务名寻找实例名,建立会话。
访问数据库方式:
-- 用户名/密码@Net_service_name
-- Net_service_name:tnsnames.ora中的
--解析出IP、port,先找到监听,再喝监听里的服务名比对,如果一致,就连接数据库
sqlplus sys/oracle@ORA_130 as sysdba
注:如果本机测试访问,记得关闭防火墙
firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld