Vbox 复制虚拟机 解决数据库监听启动报错的问题

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

问题说明:今天用vbox 复制虚拟机环境,结果复制过来的虚拟机数据库监听启动报错:

[oracle@dg2 ~]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 23-DEC-2016 11:39:38
Copyright (c) 1991, 2013, 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.4.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/dg2/listener/alert/log.xml
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dg1)(PORT=1521)))
TNS-12545: Connect failed because target host or object does not exist
 TNS-12560: TNS:protocol adapter error
  TNS-00515: Connect failed because target host or object does not exist
   Linux Error: 111: Connection refused
Listener failed to start. See the error message(s) above...

解决步骤:

1、查看主机名,发现主机名不一致,于是修改/etc/sysconfig/network,reboot 主机名修改成功

[root@dg1 ~]# hostname
dg2
[root@dg1 ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=dg2
GATEWAY=192.168.56.1
[root@dg2 ~]# hostname
dg2

2、发现 /etc/hosts 主机名和主机地址还是以前的192.168.56.2 dg1  

[root@dg2 ~]# cat /etc/hosts
127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4
::1     localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.2 dg1
修改为如下:
[root@dg2 ~]# cat /etc/hosts
127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4
::1     localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.3 dg2

3、tnsname.ora 配置无误

 

[oracle@dg2 admin]$ cat tnsnames.ora 
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL_ST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.3)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
ORCL_PD =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

4、最后突然想到应该查看监听文件 cat /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

结果问题发现了 监听文件里主机名还是原来的,问题终于被发现,改主机名问题就解决了!

[root@dg2 ~]# cat /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/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.
LISTENER2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dg1)(PORT = 1522))
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = ORCL)
    )
  )
SID_LIST_LISTENER2 =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = ORCL)
    )
  )
ADR_BASE_LISTENER2 = /u01/app/oracle
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dg1)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
ADR_BASE_LISTENER = /u01/app/oracle 

修改主机名dg1 为dg2 

[root@dg2 ~]# cat /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/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.

LISTENER2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dg2)(PORT = 1522))
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = ORCL)
    )
  )

SID_LIST_LISTENER2 =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = ORCL)
    )
  )

ADR_BASE_LISTENER2 = /u01/app/oracle

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

ADR_BASE_LISTENER = /u01/app/oracle

此时在启监听就成功了

 

[oracle@dg2 admin]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 23-DEC-2016 12:31:40
Copyright (c) 1991, 2013, 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.4.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/dg2/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dg2)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dg2)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                23-DEC-2016 12:31:41
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/dg2/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dg2)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "ORCL" has 1 instance(s).
  Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[oracle@dg2 admin]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 23-DEC-2016 12:32:03
Copyright (c) 1991, 2013, Oracle.  All rights reserved.
TNS-01106: Listener using listener name LISTENER has already been started
Linux虚拟机操作命令大合集:从基础到实战,提升运维效率 Linux操作系统作为服务器和云计算环境的核心,其命令行界面是系统管理与运维的基础。理解Linux命令的原理,能够帮助用户高效监控系统状态、管理文件与进程、诊断网络问题。掌握这些技术对于自动化运维、性能调优和故障排查具有重要价值,尤其在虚拟化环境中,针对特定场景的命令组合能显著提升工作效率。本文基于虚拟机环境下的实战经验,聚焦系统监控、网络配置和进程管理等高频需求,提供了从基础命令到进阶脚本的完整指南,旨在帮助用户从“能用”进阶到“会用”,解决日常开发与运维中的实际问题 阅读详情

相关推荐

GNS3深度实战:网络工程师的指令级仿真工作台

网络仿真平台是现代网络工程验证与排障的核心基础设施,其本质是通过指令级模拟、虚拟化协同与协议分析三位一体实现真实设备行为复现。GNS3并非传统GUI拖拽工具,而是融合Dynamips(MIPS指令重定向)、VirtualBox(x86硬件抽象)、GNS3 Server(REST调度中枢)与Wireshark(微秒级PCAP分析)的四层耦合系统。它支撑CCNA/CCNP实验验证、企业售前架构预演及客户现场故障复现等关键场景,尤其在OSPF邻居状态调试、TCP分片异常分析、STP收敛过程观测等典型任务中具备不可

weixin_33946020的博客 437

虚拟机报错问题解决

解决虚拟机报错问题解决完好虚拟机不能运行问题

Ubuntu零基础入门到精通【2.4讲】:️ 物理机、虚拟机、云服务器、WSL 的选择——找到最适合你的 Ubuntu 学习与部署方式!

🏆 本文收录于 《滚雪球学 Ubuntu》 专栏。 本专栏面向有一定计算机基础,但尚未系统学习 Linux / Ubuntu 的读者,采用“滚雪球式学习法”:先装好、再会用、再理解、再优化、再实战,带你从第一次进入 Ubuntu 桌面 / 终端开始,逐步掌握 Ubuntu 的日常使用、命令操作、软件安装、系统配置、开发环境搭建与服务器部署能力。

**My Coding Family** 1277

重新安装oracle监听,求助:数据库重装后监听一顿问题

起因:笔记本上数据库原本运行的好好的,安装了avg杀毒软件后,监听不能正常工作,将avg停用后,监听恢复正常,卸载avg杀毒软件,没卸载干净,这下数据库监听也彻底不能工作了。原因一通找,实在解决不了,于是重装数据库。重新安装碰到的问题,提示如下:enterprise manager 配置失败监听程序未启动数据库服务未注册到该监听程序。启动监听程序并注册数据库服务,然后重新运行 EM conf...

weixin_42519781的博客 1267

虚拟机复制后oracle监听无法启动

虚拟机复制过来的,复制过来后修改了虚拟机的ip地址,但/etc/hosts文件中的ip仍然是之前的,将文件中的ip修改为现在使用的,监听就可以正常启动

u012803916的博客 1448

虚拟机上连接oracle数据库出现监听错误解决方法

1、连接oracle数据库时出现监听错误,重新启动服务里边的oracle中的监听服务。 2、重启之后还是不能解决,就使用一个正确的oracle数据库配置文件中的监听文件替换下来,(虚拟机如果只有一个盘符就不用更改了,多个盘符只需要把将他监听文件中的oracle相关路径改为自己的oracle安装路径即可解决,注意要替换的文件需要是相同的oracle版本)文件路径一般是在自己的oracle数据库所在...

非凡的博客 1969

虚拟机与磁盘管理实战:扩容、报错排查与运维笔记

虚拟机技术通过虚拟化层模拟硬件资源,使多系统并行成为可能,而磁盘管理则是其中关键一环。磁盘扩容、引导顺序、启动报错问题直接影响虚拟机稳定性与性能。掌握磁盘文件结构、动态与固定分配原理,能有效规避数据丢失风险。该技术广泛应用于系统测试、软件兼容性验证、环境隔离等场景,尤其适合个人开发者与运维人员。在实际操作中,no boot disk、VMware Tools 安装失败、动态磁盘转基本磁盘等高频问题,常因引导记录缺失或介质不完整引发。通过系统化的排查思路,如检查启动顺序、使用官方介质修复引导,可快速定位故障

weixin_34074740的博客 662

零基础入门Kali Linux:虚拟机安装、汉化配置与核心工具实战指南

渗透测试是网络安全领域的核心实践方法,通过模拟攻击来评估系统安全性。其原理在于主动发现漏洞,帮助组织提前防御。在众多工具中,Kali Linux作为专为渗透测试设计的Linux发行版,集成了Nmap、Metasploit等数百种安全工具,极大提升了测试效率。对于初学者而言,在虚拟机中安装和配置Kali Linux是安全学习的最佳实践,既能隔离风险,又可搭建完整的实验环境。本文聚焦于Kali Linux的安装与配置,详细演示了如何在VirtualBox虚拟机中完成系统部署、汉化设置及基础工具(如Nmap)的初

weixin_34166472的博客 429

Ubuntu 26.04 LTS 从下载到配置:完整安装与开发环境搭建指南

长期支持(LTS)版本是Linux操作系统中兼顾稳定性与安全性的重要发布模式,通常每两年推出一次,提供长达数年的持续更新与维护。对于服务器运维、开发环境构建及日常办公而言,选择一款LTS版本能有效降低系统迁移与安全修复的成本。Ubuntu作为最流行的桌面Linux发行版之一,其新一代LTS版本(Ubuntu 26.04)整合了内核、桌面环境与基础工具链的大量更新,成为开发者关注的热点。从官方及国内镜像站下载ISO镜像,通过U盘或虚拟机完成安装,再到配置软件源、中文输入法以及Git、VS Code、MySQL

weixin_34163553的博客 385

Node.js生产级上云实战:Kubernetes+DigitalOcean+Semaphore完整链路

Node.js应用容器化与云原生部署是现代全栈开发的核心能力。理解其底层原理,需从进程管理、依赖隔离、健康探针等基础机制出发,结合Kubernetes的声明式编排模型与托管服务的确定性保障,实现高可用、可观测、可回滚的生产环境交付。技术价值在于降低运维复杂度、提升发布稳定性,并支撑微服务演进。典型应用场景包括中小团队快速上线API服务、无专职SRE环境下的自动化运维,以及CI/CD流程标准化建设。本文聚焦Node.js v22 LTS在DigitalOcean托管Kubernetes集群中的真实落地,深度解

weixin_30723433的博客 490

oracle报监听器错误,Oracle安装监听器错误怎么办

当我们在搭载环境的时候经常会遇到数据库安装错误的情况,当然Oracle安装监听器错误也是经常会出错的,那么我们要如何解决呢?Oracle安装监听器错误怎么办?那么下面就人小编为大家介绍解决监听器配置问题的方法。一.删除监听器重新配置在cmd命令栏,sercices.msc查看服务,找到Oracle监听器,停止运行.找到配置和移植工具下的Net Configuration Assistant进行简单...

weixin_35762215的博客 424

VMvare 复制数据库,需要改变的配置

VMvare 复制数据库,需要改变的配置 当我在VMware 上安装了一个linux虚拟机,同时在虚拟机上安装了一系列软件(包括数据库) 我们会修改hostname ,修改后 对于数据库:我们要把/u01/app/oracle/product/11.2.01/db1/network/admin/下的 listener.ora 和 tnsname...

u013165852的博客 145

VM虚拟机访问主机数据遇到监听ora12541无监听问题

VM虚拟机访问主机数据遇到监听问题 1.我的环境: 主机win10,虚拟机vmware15pro,虚拟机系统win7旗舰版, 2.虚拟机配置: 虚拟机什么地方都不用动,网络适配器就用nat,编辑—虚拟网络适配器等都不要管 3.测试 在主机黑窗口用netstat -n -a命令查看 不行再看下面 主机与虚拟机都可以相互ping通,可以再黑窗口用ping ip测试 在虚拟机黑窗口telnet 152...

mzhangjianxin的博客 824

oracle 虚拟机复制之后 数据库无法启动

处理ORA-01102错误 现在简单写一下处理过程: 1、我登陆操作系统 2、首先我查看数据库状态 select * from v$instanc; 3、查看数据库日志文件 tail -400 $ORACLE_BASE/admin/orcl/bdump/alert_orcl.log 4、关闭数据库 shutdown i...

zevjay的博客 1116

oracle虚拟机修改ip出现没有监听程序或者share memory什么的问题

sqlplus /nolog conn sys/passwd  as sysdba startup 发现oracle.exe进程内存使用变大即可

u013339891的专栏 1044
上一篇: oracle 11g 在linux环境下的卸载操作
下一篇: oracle 迁移数据文件
Leo-2016
博客等级 码龄14年 42粉丝 185原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值