标签 监听 下的文章

Oracle11g服务器ip地址变更后监听修改

Oracle服务器IP地址发生变更后需要修改下监听,要么就会连不上数据库,操作方法如下:
1、修改Oracle监听 listener.ora

su - oracle
cd $ORACLE_HOME/network/admin/
[oracle@hd_nc_db admin]$ pwd
/data/app/oracle/product/11.2.0/db_1/network/admin
[oracle@hd_nc_db admin]$ cat listener.ora
# listener.ora Network Configuration File: /data/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = hd_nc_db)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

ADR_BASE_LISTENER = /data/app/oracle

此处使用的是主机名hd_nc_db,直接修改/etc/hosts,将主机名对应的IP修改为服务器新IP保存即可,如果是IP地址直接修改为新IP地址保存;
2、重启服务器的listener

lsnrctl stop
lsnrctl start

3、修改客户端的tnsnames.ora(打开PL/SQL,工具栏找到 帮助->支持即可定位到tnsnames.ora文件位置),服务器如果配置了RAC,要更改参数文件中的节点地址、心跳地址等;

ORA-28547:连接服务器失败,可能是Oracle Net管理错误

描述:监听和服务都正常启动了,但是远程连接的时候会有这种错误
ORA-28547:连接服务器失败,可能是Oracle Net管理错误
解决办法:
listener.ora 文件中

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = ORCL)
      (ORACLE_HOME = d:\app\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:d:\app\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.219)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

ADR_BASE_LISTENER = d:\app

(PROGRAM = extproc) 把这句话注释掉重启监听服务就好了。
重启监听:

lsnrctl stop
lsnrctl start

extproc是一个扩展的程序调用接口协议, 连接和调用外部的操作系统程序或进程用时会用到。

TNS-01190: 用户无权执行所请求的监听程序命令

执行了一个查看监听状态的命令:

C:\Users\mahl01>lsnrctl status
出现了下面的错误提示:
---------------------------------------------------------------------------------

LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 21-11月-2010 10:4

7:41

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

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

TNS-01190: 用户无权执行所请求的监听程序命令

先确认环境变量path是否设置
path.png

在命令提示符,以鼠标右键单击,选择“以管理员身份运行”,此时出现一个用户帐户控制页面,选择“是”,出现了LSNRCTL提示符
然后再运行即可:

C:\WINDOWS\system32>lsnrctl status

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 27-6月 -2018 14:24:33

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

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
启动日期                  27-6月 -2018 13:50:49
正常运行时间              0 天 0 小时 33 分 47 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          E:\app\mahl01\product\11.2.0\dbhome_1\network\admin\listener.ora
监听程序日志文件          e:\app\mahl01\diag\tnslsnr\A00263\listener\alert\log.xml
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=A00263.hongsin.cn)(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
  实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个实例。
  实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB" 包含 1 个实例。
  实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

Ucloud云上Oracle数据库服务器,由于物理机宕机重启,造成虚机也重启了,手动启动oracle服务和listen监听以后,PL/SQL客户端和应用都无法连接,提示“ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务”,数据库版本Oracle 11g R2,
初步判断是listener.ora 文件有问题,

# Generated by Oracle configuration tools.

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

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /data/app/oracle/product/11.2.0/db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = earth_m1)
      (ORACLE_HOME = /data/app/oracle/product/11.2.0/db_1)
    )
  )

ADR_BASE_LISTENER = /data/app/oracle

备份原来监听文件:

cp /data/app/oracle/product/11.2.0/db_1/network/admin/listener.ora /tmp/listener.ora

修改为如下:

vim /data/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

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

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = powerdes)
      (ORACLE_HOME = /data/app/oracle/product/11.2.0/db_1)
      (SID_NAME = powerdes)
    )
    (SID_DESC =
      (SID_NAME = earth_m1)
      (ORACLE_HOME = /data/app/oracle/product/11.2.0/db_1)
    )
  )

ADR_BASE_LISTENER = /data/app/oracle

Listener主动加载服务

  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = powerdes)
      (ORACLE_HOME = /data/app/oracle/product/11.2.0/db_1)
      (SID_NAME = powerdes)
    )

添加GLOBAL_DBNAME后在使用lsnrctl start监听程序时会将listener的服务注册到进程监视器(pmon)中,如果没有这个配置,则为Listener被动加载服务由实例的pmon进程在listener中注册服务,对listener来讲,就是被动了,也就是为什么先启动监听后启动数据库能够正常连接的,反之不行的原因了。

Kafka集群端口无法监听及访问故障解决

出现问题的kafka版本是0.9.0.1,端口9099老是监听不起来,解决办法:
修改/usr/local/app/msg_server/kafka/0.9.0.1/config/server.properties文件的

listeners=PLAINTEXT://0.0.0.0:9099

这里的listeners也可以修换成内网IP地址,三台记得都修改,或者注释掉listeners增加advertised.listeners参数,
然后重启kafka即可

/usr/local/app/msg_server/kafka/0.9.0.1/bin/kafka-server-start.sh -daemon /usr/local/app/msg_server/kafka/0.9.0.1/config/server.properties 

advertised.listeners这个配置的含义,官网有解释:
Listeners to publish to ZooKeeper for clients to use, if different than the listeners above. In IaaS environments, this may need to be different from the interface to which the broker binds. If this is not set, the value for listeners will be used.
详情:http://kafka.apache.org/documentation/#configuration
kafka就会忽略listeners配置,用一个就可以了;

附server.properties配置文件内容:

# --------------------------------------------- need update
broker.id=0
listeners=PLAINTEXT://0.0.0.0:9099
#advertised.listeners=PLAINTEXT://10.249:9099
port=9099
default.replication.factor=3
# --------------------------------------------- need update
host.name=k1
# --------------------------------------------- need update
advertised.host.name=k1
advertised.port=9099
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/usr/local/app/msg_server/kafka/0.9.0.1/data/
num.partitions=10
num.recovery.threads.per.data.dir=1
log.retention.hours=1
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
log.cleaner.enable=true
#zookeeper.connect=k1:2181
zookeeper.connect=k1:2181,k2:2181,k3:2181
zookeeper.connection.timeout.ms=6000
delete.topic.enable=true

CentOS6.9安装Oracle 11g Release 2、创建监听、实例全记录

系统版本:CentOS release 6.9 (Final)
Oracle版本:Oracle Database 11g Release 2 (11.2.0.1.0)
Oracle 11g Release 2下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html

一、初始化系统

系统安装时建议采用mini版,单独分区/data用来安装oracle数据库,关闭SELinux,getsebool: SELinux is disabled

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime    #修改时区为上海
*/30 * * * * /usr/sbin/ntpdate pool.ntp.org   #加入定时任务,30分钟更新一次时间
cat <<EOF>> /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
EOF
sed -i "s/1024/65535/g" /etc/security/limits.d/90-nproc.conf
#修改文件句柄数


---阅读剩余部分---

CentOS6.x下配置Oracle 11gR2为系统服务自动启动

在Windows下安装完成Oracle 11gR2后,默认就开机自启动Oracle相关服务,Linux下安装完后每次都得手动启动和关闭数据库(dbstart | dbshut)、监听器(lsnrctl)、控制台(emtcl),比较麻烦,以下为降oracle添加为服务,随系统自动启动,方法如下:
1、修改dbstart和dbshut启动关闭脚本,使其启动数据库的同时也自动启动监听器(即启动数据库时启动监听器,停止数据库时停止监听器):

vim /data/app/oracle/product/11.2.0/db_1/bin/dbstart
找到ORACLE_HOME_LISTNER=$1
将此处的 ORACLE_HOME_LISTNER=$1 修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME

修改dbshut脚本:

vim /data/app/oracle/product/11.2.0/db_1/bin/dbshut
将此处的 ORACLE_HOME_LISTNER=$1 修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME

---阅读剩余部分---

Oracle实例启动时报ORA-00845的解决方法

startup启动数据库的时候报错:
ORA-00845: MEMORY_TARGET not supported on this system
在Oracle 11g中如果采用AMM内存管理,那么当MEMORY_TARGET的值大于/dev/shm的时候,就会报ORA-00845: MEMORY_TARGET not supported on this system错误,解决办法增加/dev/shm大小,在redhat系列系统中,/dev/shm的默认值是系统总内存的一半

1、修改/dev/shm大小

df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             140G   57G   76G  43% /
/dev/sda1              99M   12M   82M  13% /boot
tmpfs                 3.9G  995M  3.0G  25% /dev/shm
mount -o size=8G -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm


---阅读剩余部分---

最新

分类

归档

评论

其它