oracle12.2.0.3 监听白名单配置

合集下载

Oracle12.2监听无法启动解决方法

Oracle12.2监听无法启动解决方法

Oracle12.2监听⽆法启动解决⽅法在⾃⼰的虚拟机的做实验,突然发现使⽤PL/SQL Developer⽆法连接到数据库,报错ORA-12514,说是监听没有启动。

先介绍虚拟机⼀下环境:redhat7.2+GI 12.2.0.1+Oracle 12.2.0.1,为了测试12.2的ASM特性安装了GI。

平时监听程序默认是开启启动的。

但是今天不知道为什么没有启动。

使⽤crsctl查看资源状态:发现监听的状态确实是OFFLINE状态[root@rhel7 .oracle]# crsstat--------------------------------------------------------------------------------Name Target State Server State details--------------------------------------------------------------------------------Local Resources--------------------------------------------------------------------------------ora.DATA.dgONLINE ONLINE rhel7 STABLEora.LISTENER.lsnrONLINE OFFLINE rhel7 STABLEora.asmONLINE ONLINE rhel7 Started,STABLEora.onsOFFLINE OFFLINE rhel7 STABLE--------------------------------------------------------------------------------Cluster Resources--------------------------------------------------------------------------------ora.cssd1 ONLINE ONLINE rhel7 STABLEora.diskmon1 OFFLINE OFFLINE STABLEora.driver.afd1 ONLINE ONLINE rhel7 STABLEora.evmd1 ONLINE ONLINE rhel7 STABLEora.ora12c.db1 ONLINE ONLINE rhel7 Open,HOME=/u01/app/oracle/product/12.2/db_home1,STABLE--------------------------------------------------------------------------------尝试⼿动启动监听,依然报错:[grid@rhel7 ~]$ srvctl start listenerPRCR-1079 : Failed to start resource ora.LISTENER.lsnrCRS-5016: Process "/u01/app/grid/bin/lsnrctl" spawned by agent "ORAAGENT" for action "start" failed: details at "(:CLSN00010:)" in "/u01/app/12.2/grid/diag/crs/rhel7/crs/trace/ohasd_oraagent_grid.trc" CRS-5016: Process "/u01/app/grid/bin/lsnrctl" spawned by agent "ORAAGENT" for action "start" failed: details at "(:CLSN00010:)" in "/u01/app/12.2/grid/diag/crs/rhel7/crs/trace/ohasd_oraagent_grid.trc" CRS-2674: Start of 'ora.LISTENER.lsnr' on 'rhel7' failed根据提⽰查看trc⽂件,看到如下报错:LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 15-NOV-2017 20:03:28Copyright (c) 1991, 2016, Oracle. All rights reserved.Starting /u01/app/grid/bin/tnslsnr: please wait...TNSLSNR for Linux: Version 12.2.0.1.0 - ProductionSystem parameter file is /u01/app/grid/network/admin/listener.oraLog messages written to /u01/app/12.2/grid/diag/tnslsnr/rhel7/listener/alert/log.xmlListening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rhel7)(PORT=1521)))Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))TNS-12555: TNS:permission deniedTNS-12560: TNS:protocol adapter errorTNS-00525: Insufficient privilege for operationLinux Error: 1: Operation not permittedListener failed to start. See the error message(s) above...看到Insufficient privilege for operation这个字样觉得很纳闷,怎么会权限不⾜呢,于是尝试⽤root直接启动监听,依然报错:[root@rhel7 .oracle]# lsnrctl startLSNRCTL for Linux: Version 12.2.0.1.0 - Production on 15-NOV-2017 20:22:30Copyright (c) 1991, 2016, Oracle. All rights reserved.Starting /u01/app/grid/bin/tnslsnr: please wait...TNS-12546: TNS:permission deniedTNS-12560: TNS:protocol adapter errorTNS-00516: Permission deniedLinux Error: 13: Permission denied于是各种百度,下⾯把百度到内容列出来,可能会对看此⽂的同学有⽤,但是对我这种情况没有⽤:主要是说 /var/tmp/.oracle、/tmp/.oracle 这两个⽬录的权限访问问题。

oracle创建监听冲突问题

oracle创建监听冲突问题

1. 监听端口oracle默认的监听端口是本机的1521,这个我们用默认就好了。

但是我不太清楚是不是因为我之前就已经在用了这个端口,所以在创建新的数据库的时候遇到这样的提示错误于是我再次运行Net Configuration Assistant时这个1521的监听端口明明是好好的,当时还不知道是需要手动启用并且在net Manager中进行配置。

后来索性就重新删除了这个监听端口。

想要重新建立监听端口的时候提示我1521端口已经被占用了,我就抓狂了,于是去网上搜查看监听端口的命令。

1. 在运行中输入 cmd 打开命令行工具2. 输入 netstat -ano这个命令之后,你能看到本机上所有端口以及占用当前端口的进程的PID号:3. 找到PID后,接着输入tasklist|findstr 3476就可以得到这个PID对应的进程的名字了,如果没有什么很复杂的改动端口的操作的话,这个1521的端口基本是被TNSLSNR.exe占用的,然后我就索性把这个进程给强制关掉了,然后重新在net configuration Assistant 中重新配置,这下1521端口监听起来了,没有问题了。

其实我就是强迫症想要重头再弄一边,感觉应该是没有必要的,关键步骤不在这里。

2. DB control requires database to be registered with atleast one listener然后我就回到创建数据库的过程中,继续执行enterprise manager的安装时,仍旧弹出错误提示,不过这下提示换了:这个图是盗的,不过弹出的对话框是一样,从提示中可以看到,提示我们当前的data base没有被注册到至少一个listener上,既然我们的linstener已经是ok的了,那就不是Net CA的问题了,于是继续google,找到了下面的解决办法,我也是误打误撞的,因为书里面根本没有写这些步骤。

Oracle监听器密码设置方法(LISTENER)

Oracle监听器密码设置方法(LISTENER)

Oracle监听器密码设置⽅法(LISTENER)监听器也有安全?Sure!在缺省的情况下,任意⽤户不需要使⽤任何密码即通过lsnrctl ⼯具对Oracle Listener进⾏操作或关闭,从⽽造成任意新的会话都将⽆法建⽴连接。

在Oracle 9i 中Oracle监听器允许任何⼀个⼈利⽤lsnrctl从远程发起对监听器的管理。

也容易导致数据库受到损坏。

1. 未设定密码情形下停⽌监听[oracle@test ~]$ lsnrctl stop listener_demo92 -->停⽌监听,可以看出不需要任何密码即可停⽌LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 26-JUN-2011 08:22:26Copyright (c) 1991, 2006, Oracle Corporation. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))The command completed successfully2. 重新启动监听并设置密码[oracle@test ~]$ lsnrctlLSNRCTL for Linux: Version 9.2.0.8.0 - Production on 26-JUN-2011 08:24:09Copyright (c) 1991, 2006, Oracle Corporation. All rights reserved.Welcome to LSNRCTL, type "help" for information.LSNRCTL> set current_listener listener_demo92 -->设置当前监听器Current Listener is listener_demo92LSNRCTL> start -->启动过程也不需要任何密码,启动的详细信息省略LSNRCTL> change_password -->使⽤change_password来设置密码Old password:New password:Reenter new password:Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))Password changed for listener_demo92The command completed successfullyLSNRCTL> save_config -->注意此处的save_config失败Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))TNS-01169: The listener has not recognized the passwordLSNRCTL> set password -->输⼊新设定的密码验证Password:The command completed successfullyLSNRCTL> save_config -->再次save_config成功Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))Saved listener_demo92 configuration parameters.Listener Parameter File /oracle/92/network/admin/listener.oraOld Parameter File /oracle/92/network/admin/listener.bakThe command completed successfully-->增加密码之后可以看到listener.ora⽂件中有⼀条新增的记录,即密码选项(注:尽管使⽤了密码管理⽅式,仍然可以⽆需密码启动监听)[oracle@test admin]$ more listener.ora#----ADDED BY TNSLSNR 26-JUN-2011 05:12:48---PASSWORDS_listener_demo92 =#--------------------------------------------3. 尝试未使⽤密码的情况下停⽌监听[oracle@test ~]$ lsnrctl stop listener_demo92LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 26-JUN-2011 06:09:51Copyright (c) 1991, 2006, Oracle Corporation. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))TNS-01169: The listener has not recognized the password -->收到错误信息,需要使⽤密码认证4. 使⽤密码来停⽌监听[oracle@test ~]$ lsnrctlLSNRCTL> set current_listener listener_demo92Current Listener is listener_demo92LSNRCTL> stopConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))TNS-01169: The listener has not recognized the passwordLSNRCTL> set passwordPassword:The command completed successfullyLSNRCTL> stopConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))The command completed successfullyLSNRCTL> statusConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))TNS-12541: TNS:no listenerTNS-12560: TNS:protocol adapter errorTNS-00511: No listenerLinux Error: 111: Connection refusedConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))TNS-12541: TNS:no listenerTNS-12560: TNS:protocol adapter errorTNS-00511: No listenerLinux Error: 2: No such file or directory5. save_config失败的问题-->在 Oracle 9i中,使⽤save_config命令将会失败LSNRCTL> save_configConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<hostname>)(PORT=<port>)))TNS-01169: The listener has not recognized the password-->应该先使⽤set password之后再save_config,则保存配置成功。

ORACLE 12C R2 RAC DG双节点主库单节点备库集群主备部署搭建

ORACLE 12C R2 RAC DG双节点主库单节点备库集群主备部署搭建

ORACLE 12C R2 RAC+DG集群主备部署搭建目录1、ORACLE 12.2软硬件要求 (3)1.1 硬件最低配置要求 (3)1.2 ORACLE 12.2认证的OS软件版本 (3)2、整体规划部分 (4)2.1 IP地址规划 (4)2.2 操作系统本地磁盘分区规划 (4)2.3 共享存储与ASM磁盘组规划 (5)3、操作系统配置部分 (5)3.1 配置hosts文件 (5)3.2 安装RPM包 (5)3.3创建用户组 (6)3.4 创建文件目录及权限配置 (7)3.5 配置环境变量 (8)3.6 安装cvuqdisk (9)4、修改操作系统配置 (9)4.1 开启nscd (9)4.2 关闭防火墙 (9)4.3 禁用selinux (9)4.4 关闭TransparentHugePages (10)4.5 配置/etc/security/limits.conf (10)4.6 配置/etc/sysctl.conf (10)4.7 配置/etc/pam.d/login (11)4.8 配置DNS (11)4.9 修改时间同步方式 (12)4.10 修改nsswitch.conf (12)4.10 配置NOZEROCONF (12)4.11 配置互信 (13)5、ASM磁盘配置部分 (13)5.1 UDEV配置asm磁盘(两个节点都执行) (13)5.2 验证asm disk生成 (14)5.2 修改磁盘属性 (14)6、grid软件安装 (14)6.1 检测安装环境 (15)6.2 安装GI(Grid Infrastructure) (16)7 、asmca创建其它asmdiskgroup (26)8、database软件安装 (27)9、创建CDB (32)10、创建PDB (37)10.1 以命令方式创建PDB (37)10.2 查看创建成功的PDB (38)11、备库安装ORACLE12C R2 数据库软件 (38)12、DG 主库配置 (38)13、DG 备库配置 (42)14、RAC+DG 主备切换switchover (48)15、RAC + DG主备切换failover Failover切换一般是PRIMARY 数据库发生故障后的切换,这种情况是STANDBY数据库发挥其作用的情况。

Oracle网络(监听)不通,需要检查的十一个事项

Oracle网络(监听)不通,需要检查的十一个事项

Oracle网络(监听)不通,需要检查的十一个事项重点提示:①如果能ping通,主库自己连自己和连备库都可以连得上,备库连不上主库,说明是TNS没有问题,是网络的连接出了问题,重点检查防火墙②修改过hostname,配置监听tns不成功的话,可以尝试完全关闭后重启主机,再重新连接检查。

ERROR:ORA-12543: TNS:destination host unreachableTNS报错:12543 的解决过程1、service_name错,初始化参数是从备库考过来的,所以一重启主库的服务名就变成备库的了2、网上查可能是对接口有限制,网上查2481也可作为静态监听的接口,把两边都是1526接口,变成了主库改成2481接口,后证明不是这方面的问题3、各方面设置都无误,防火墙两边都关闭,尝试重启,退出主库sqlplus时卡死,关主机,重启后,发现防火墙自动开启,关闭防火墙之后,连接正常。

怀疑是改过一次hostname主机名导致。

Oracle网络(监听)不通,需要检查的十一个事项:1、检查etc/hosts2、ping 网络看通不通3、iptables -L查看防火墙是否关闭Service iptables stop 关闭防火墙chkconfig iptalbes off 防止防火墙开机自动重启:4、检查service names,包括初始化参数中的service names5、检查SID name6、通过简单连接,检查ip地址映射是否有误,能连上说明是ip映射的问题简单连接写法:Sqlplus sys/oracle@192.168.128.128:1526/beijing as sysdba7、通过scott连接,检查口令文件是否正确8、通过授权检查口令文件grant sysdba to user;ORA-01994:授权失败:口令文件丢失或禁用。

看是否有权限,如果没有权限,说明口令文件有问题9、tnsping 如果出现字符串且无报错,说明tns正常,不是tns配置文件的问题10、检查监听里面显示的服务名、实例名,监听的端口等配置文件11、如果修改过hostname,以上方法都不能解决的,建议尝试完全关闭后重启主机,再重新检查补充:linux的防火墙一般是iptables,还有一个是selinux,要开机关闭这两个方法如下:1、开机不自动启动iptables使用命令:chkconfig iptalbes off命令2、开机不启动selinux,需要更改文件vi /etc/selinxu/config 和vi /etc/sysconfig/selinux 两个文件,将其中的SELINUX=enforcing改为SELINUX=disabled启服务器即可。

Oracle一个监听多个实例

Oracle一个监听多个实例

Copyright (c) 1991, 2009, Oracle. All rights reserved.
Starting /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.1.0 - Production System parameter file is /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora Log messages written to /u01/app/oracle/diag/tnslsnr/dbhost/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=173.0.2.113)(PORT=1521)))
DCCB1 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 173.0.2.113)(PORT =
1521)) ) (CONNECT_DATA = (SERVICE_NAME = dccb1) )
)
DCCB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 173.0.2.113)(PORT =
件。
[oracle@dbhost admin]$ more listener.ora # listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora # Generated by Oracle configuration tools.

Oracle监听配置文件

Oracle监听配置文件

Oracle‎监听配置文件‎最近看到好多‎人说到tns‎或者数据库不‎能登录等问题‎,就索性总结了‎下面的文档。

首先来说Or‎a cle的网‎络结构,往复杂处说能‎加上加密、LDAP等等‎。

这里不做讨论‎,重点放在基本‎的网络结构也‎就是我们最常‎用的这种情况‎。

三个配置文件‎重点:三个文件的作‎用和使用。

listen‎e r.ora、sqlnet‎.ora、tnsnam‎e s.ora,都是放在$ORACLE‎_HOME\networ‎k\admin 目‎录下。

sqlnet‎.ora作用类似于l‎i nux或者‎其他unix‎的nsswi‎t ch.conf文件‎,通过这个文件‎来决定怎么样‎找一个连接中‎出现的连接字‎符串。

例如我们客户‎端输入sql‎p lus sys/oracle‎@orcl假如我的sq‎14lnet‎.ora是下面‎这个样子:SQLNET‎.AUTHEN‎T ICATI‎O N_SER‎V ICES= (NTS)NAMES.DIRECT‎O RY_PA‎T H= (TNSNAM‎E S,HOSTNA‎M E)那么,客户端就会首‎先在tnsn‎a mes.ora文件中‎找orcl的‎记录。

如果没有相应‎的记录则尝试‎把orcl当‎作一个主机名‎,通过网络的途‎径去解析它的‎i p地址然后‎去连接这个i‎p上GLOB‎A L_DBN‎A ME=orcl这个‎实例,当然我这里o‎r cl并不是‎一个主机名如果我是这个‎样子:NAMES.DIRECT‎O RY_PA‎T H= (TNSNAM‎E S)那么客户端就‎只会从tns‎n ames.ora查找o‎r cl的记录‎。

括号中还有其‎他选项,如LDAP等‎并不常用。

附注:没有SQLN‎ET.AUTHEN‎T ICATI‎O N_SER‎V ICES= (NTS)这条语句,用户登录时就‎不经过OS认‎证,而需要通过用‎户名/密码认证登录‎。

oracle监听

oracle监听

Oracle监听详解1.监听说明A静态监听状态始终是unknow,动态监听始终是ready或者block,ready状态可以产生新连接,block不能Service "TEST" has 2 instance(s).Instance "TEST", status UNKNOWN, has 1 handler(s) for this service...--------静态注册Instance "TEST", status READY, has 1 handler(s) for this service... ---------动态注册B 静态监听一定是在监听配置文件listener.ora里面有一个sid_name=,而动态注册是数据库实例pmon进程告诉监听进程来注册的【告诉监听hostname、sid、port】,默认是只对1521产生动态注册,如果要对其他端口动态注册,你得修改参数local_listener,修改方法是[假设是1522端口]alter system set local_listener=’ (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))’。

show parameter localNAME TYPE V ALUE------------------------------------ ---------------------- ------------------------------local_listener stringlistener.ora部分内容:SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = TEST) ----说明有静态注册(ORACLE_HOME = /oracle/product/10.2.0/db_1)2.监听文件的说明A下面红色的两部分是一定要成对出现的,标准格式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

oracle12.2.0.3 监听白名单配置
出于提高数据安全性等目地,有时需要对 oracle的进行访问限制,允许某些IP连接数据库或拒绝某些IP访问数据库。

当然使用防火墙(iptables)也能达到限制的目地,但是从监听端口变更限制仍可生效、只针对oracle自己不和其他端口的限制相混杂和不需要root账号这几方面来说,通过配置sqlnet.ora文件来进行访问限制可能是一种更好的选择。

1.配置sqlnet.ora文件
进入$ORACLE_HOME/network/admin(一般对应的真实路径形如/u01/app/oracle19c/pr oduct/19.2.0/db_1/network/admin)查看是否存在sqlnet.ora文件及是否已配置tcp.val idnode_checking、tcp.invited_nodes、tcp.excluded_nodes项。

如果文件存在且已有这几项,则在此基础上修改这几项;如果文件存在但这几项不存在,则在最后追加;如果文件不存在则直接新建。

oracle默认是没有的,我们以没有为例新建该文件,并写入以下内容:
tcp.validnode_checking=yes
tcp.invited_nodes=(192.168.220.128,127.0.0.1)
tcp.excluded_nodes=(192.168.220.1)
tcp.validnode_checking:此项是启用IP合法检查,此项是必须配置的,如果不启用其它两项配置了也无效。

tcp.invited_nodes:此项是允许连接数据库的IP地址,多个地址用逗号(半角)隔开,如果启用此项,一定要配上本地地址不然监听无法启动。

tcp.excluded_nodes:此项是不允许连接数据库的IP地址,多个地址用逗号(半角)隔开,如果与tcp.invited_nodes有相同IP,则还是允许该IP访问数据库。

tcp.invited_nodes和tcp.excluded_nodes其实可以只配置一项,当只配tcp.invited_no des时就是白名单,在此项列表中的所有IP允许访问数据库,所有不在此项列表中的所有I P拒绝访问数据库。

当只配置tcp.excluded_nodes时,在此项列表中的所有IP拒绝访问数据库,所有不在此项列表中的所有IP允许访问数据库。

2.重新加载使配置生效
如果之前不存在sqlnet.ora则需要重启监听,如果之前存在sqlnet.ora则只需要重新加载配置即可。

重启和reload的区别,应该是监听完全停上和不完全停止的区别,使用stop/start 当前所有已连接的会话会强制断开,reload不会断开已有会话。

重启监听(业务会中断,在不影响业务情况下重启):
lsnrctl stop
lsnrctl start
重新加载配置:
lsnrctl reload。

相关文档
最新文档