一个Oracle lsnrctl启动慢的问题

Linux环境。在Oracle用户下执行lsnrctl status,发现需要等待十秒左右。

于是执行命令

strace -f -t -o ~/listener.trc lsnrctl start

然后找到该日志文件,读取的时候发现

5872  04:46:13 close(5)                 = 0

5872  04:46:13 socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = 5

5872  04:46:13 fcntl(5, F_SETFL, O_RDONLY|O_NONBLOCK) = 0

5872 04:46:13 connect(5, {sa_family=AF_INET, sin_port=htons(1521), sin_addr=inet_addr("47.75.39.85")}, 16) = -1 EINPROGRESS (Operation now in progress)

5872            04:46:13 times(NULL)              = 466526051

5872  04:46:13 mmap(NULL, 528384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5f5a9df000

5872  04:46:13 poll([{fd=5, events=POLLOUT}], 1, 60000) = 0 (Timeout)

5872  04:47:13 close(5)                 = 0

5872  04:47:13 getsockopt(5, SOL_SOCKET, SO_SNDBUF, 0x7fff58ed4ce8, 0x7fff58ed4dd8) = -1 EBADF (Bad file descriptor)

5872  04:47:13 getsockopt(5, SOL_SOCKET, SO_RCVBUF, 0x7fff58ed4ce8, 0x7fff58ed4dd8) = -1 EBADF (Bad file descriptor)

5872  04:47:13 access("/var/tmp/.oracle", F_OK) = 0

5872  04:47:13 chmod("/var/tmp/.oracle", 01777) = -1 EPERM (Operation not permitted)

5872  04:47:13 socket(AF_LOCAL, SOCK_STREAM, 0) = 5

5872  04:47:13 access("/var/tmp/.oracle/sEXTPROC1521", F_OK) = 0

可以发现poll([{fd=5, events=POLLOUT}], 1, 60000) = 0 (Timeout)

这一步出现了超时,整整一分钟时间。不知道为什么监听启动过程会去找47.75.39.85这个IP,于是找到了/etc/resolv.conf 文件,发现里面的内容,

于是将第一行注销,启动速度恢复。

之所以加这一行是因为其他的程序需要用到该参数,后话不提。

只此记录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Oracle 19c中新增一个实例,可以按照以下步骤操作: 1. 确认Oracle软件是否已经正确安装并配置好了。在安装Oracle时,可以选择安装多个实例,或者在安装完成后通过修改配置文件来添加新实例。 2. 确认有一个可用的数据库模板。可以使用已有的数据库作为模板,或者创建一个新的数据库来作为模板。 3. 复制并编辑一个现有的实例配置文件。在Oracle安装目录的$ORACLE_HOME/dbs目录下,可以找到一个名为init{SID}.ora的文件,其中{SID}是现有实例的名称。可以将此文件复制并重命名为一个新的文件,例如init{NEW_SID}.ora。 4. 编辑新实例的配置文件。使用文本编辑器打开新实例的配置文件,修改其中的参数,例如SGA大小、PGA大小、监听器端口号、数据库名称等等。 5. 修改环境变量。在新实例的配置文件中,需要设置ORACLE_SID参数为新实例的名称。还需要修改ORACLE_HOME环境变量和PATH环境变量,指向新实例的安装目录和可执行文件目录。 6. 启动新实例。使用dbstart脚本启动新实例,命令为:$ORACLE_HOME/bin/dbstart。 7. 配置监听器。在新实例的配置文件中,需要设置监听器的端口号和服务名称。还需要使用lsnrctl命令启动监听器,命令为:$ORACLE_HOME/bin/lsnrctl start。 8. 测试新实例。使用sqlplus命令连接到新实例,命令为:$ORACLE_HOME/bin/sqlplus / as sysdba。然后可以执行一些简单的SQL语句,检查新实例是否正常工作。 以上就是在Oracle 19c中新增一个实例的基本步骤。需要注意的是,操作前最好备份好数据,以免出现意外情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值