Oracle dbca时报:ORA-12547: TNS:lost contact错误的解决

当在Oracle数据库的dbca(Database Configuration Assistant)中创建数据库时,有时会出现"ORA-12547: TNS:lost contact"错误。这个错误表示dbca无法连接到Oracle数据库实例。下面是解决这个问题的完整攻略:

步骤1:确认Oracle监听器是否启动

首先确认Oracle监听器是否启动。输入以下命令检查Oracle监听器的状态:

lsnrctl status

如果Oracle监听器未启动,则需要启动Oracle监听器:

lsnrctl start

步骤2:确认tnsnames.ora文件是否正确

打开tnsnames.ora文件,确认其中是否包含正确的数据库实例别名和相关连接信息。如果tnsnames.ora文件中的连接信息不正确,则需要修改这个文件。例如:

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  )

步骤3:测试连接

尝试使用sqlplus工具(或其他数据库客户端工具)连接到Oracle数据库实例来测试连接。例如:

sqlplus system/password@ORCL

如果连接成功,则可以尝试用dbca创建数据库。

步骤4:修改dbca配置文件

如果上述步骤都没有帮助,可以尝试修改dbca的配置文件。修改dbca的配置文件为:

$ORACLE_HOME/assistants/dbca/templates/dbca_template.config

在这个文件中,查找以下行:

GDBNAME=

并确保没有任何空格或其他特殊字符。例如,以下行是正确的:

GDBNAME=mynewdatabase

示例1: 修复tnsnames.ora文件中的连接信息错误

在tnsnames.ora文件中,有以下一条连接信息:

MYDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1221))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = mydb)
    )
  )

这里的"HOST"和"PORT"值是不正确的。正确的值应该是"192.168.1.100"和"1521"。修改后的连接信息是:

MYDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = mydb)
    )
  )

示例2: 修改dbca_template.config文件中的GDBNAME

在dbca_template.config文件中,有以下一行:

GDBNAME = my new database

这行代码最后一个单词"database"之前有一个空格,所以dbca无法正确识别数据库名称。正确的行代码如下:

GDBNAME=mynewdatabase

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Oracle dbca时报:ORA-12547: TNS:lost contact错误的解决 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • MySQL触发器到底是什么?

    MySQL触发器是一种特殊的存储过程,它会自动执行SQL语句,当满足特定的条件时。通常情况下,MySQL触发器都是与数据库表结合使用,用于监控和响应数据表的更改事件。 MySQL触发器可以在以下三个事件发生时触发: 当插入新行时,称为INSERT触发器。 当更新行时,称为UPDATE触发器。 当删除行时,称为DELETE触发器。 以下是一个MySQL触发器的…

    MySQL 2023年3月10日
    00
  • Oracle带输入输出参数存储过程(包括sql分页功能)

    下面是针对“Oracle带输入输出参数存储过程(包括sql分页功能)”的完整攻略,通过以下内容,您可以学习并练习如何在Oracle数据库中创建带有输入输出参数的存储过程,并且带有SQL分页功能。 1. 准备工作 在开始创建存储过程之前,需要确保您已经掌握以下基础知识: Oracle数据库的基础结构与操作方法; SQL查询语句、函数、分页等基本用法; 存储过程…

    database 2023年5月21日
    00
  • JSP技术生成动态web页面

    JSP技术(Java Server Pages)是一种在服务端生成动态Web页面的技术。下面是生成动态Web页面的完整攻略: 步骤一:安装和配置Java开发环境 JSP是基于Java技术的,所以安装和配置Java开发环境是必须的。下载并安装JDK(Java Development Kit),配置环境变量;配置Java Web服务器(如Tomcat)以便于运行…

    database 2023年5月21日
    00
  • Linux 发邮件磁盘空间监控(python)

    题目中提到的“Linux 发邮件磁盘空间监控(python)”是一个监控Linux系统磁盘空间并以邮件形式发送空间不足警报的Python脚本,该脚本可以帮助管理员及时掌握磁盘空间使用情况,及时处理磁盘空间不足问题,下面是详细的攻略步骤: 步骤一:安装及配置Python环境 在Linux系统中,默认已经安装了Python环境,但需要安装Python包管理器pi…

    database 2023年5月22日
    00
  • 详解mysql中的存储引擎

    详解MySQL中的存储引擎 MySQL是当前最流行的数据库之一,它的存储引擎是MySQL的核心组成部分之一。下面,我们将详细讲解MySQL中的存储引擎。 什么是存储引擎? 存储引擎是MySQL中的一种存储数据的方式。在MySQL中,有多个存储引擎供用户选择,每种存储引擎有其特点和适用场景。MySQL支持的存储引擎包括MyISAM、InnoDB、Memory、…

    database 2023年5月21日
    00
  • mysql联合索引的使用规则

    下面我将详细讲解MySQL联合索引的使用规则。 什么是MySQL联合索引? MySQL联合索引,也叫复合索引,是由多个字段组成的索引。与单列索引不同,联合索引是指同时对多个字段进行索引。联合索引可以减少查询中所需要的where条件的列索引次数,提高查询效率,在某些情况下还可以避免使用MySQL的临时表。 联合索引的使用规则 使用联合索引时需要遵循以下规则: …

    database 2023年5月22日
    00
  • 如何使用Python实现数据库中数据的批量清洗?

    以下是使用Python实现数据库中数据的批量清洗的完整攻略。 数据库中数据的批量清洗简介 在数据库中,批量清洗是指对多条记录进行数据清洗。Python中,使用pymysql连接MySQL数据库,并使用UPDATE语句实现批量清洗。 步骤1:连接数据库 在Python中,可以使用pymysql连接MySQL数据库。以下是连接MySQL的基本语法: import…

    python 2023年5月12日
    00
  • MySQL与MSSQl使用While语句循环生成测试数据的代码

    生成测试数据是数据库开发中一个非常重要的环节,而使用循环语句可以极大地方便这一过程。在MySQL和MSSQL中,使用While语句可以实现循环生成测试数据。 MySQL中使用While语句循环生成测试数据的代码 1.创建表 首先需要创建一个测试表,代码如下: CREATE TABLE test_table ( id INT(11) NOT NULL AUTO…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部