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日

相关文章

  • django学习-10.django连接mysql8数据库和创建数据表

    Django对各种数据库提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。 Django为这些数据库提供了统一的调用API。 我们可以根据自己业务需求选择不同的数据库。 MySQL是Web应用中最常用的数据库。 这篇博客,我们将以Mysql作为实例进行介绍。 如果你想了解更多MySQL的基础知识,可以查看该菜鸟教程地址:h…

    MySQL 2023年4月12日
    00
  • Oracle 19c的参数sec_case_sensitive_logon与ORA-01017错误问题分析

    下面是Oracle 19c的参数sec_case_sensitive_logon与ORA-01017错误问题分析的完整攻略。 问题背景 在使用Oracle 19c时,可能会遇到ORA-01017错误,该错误通常是由于用户名或密码错误引起的。但在实际情况中,有些用户检查了用户名和密码都没有问题,却仍然遇到了ORA-01017错误,这很可能是由于Oracle 1…

    database 2023年5月21日
    00
  • Neo4j和MariaDB的区别

    Neo4j 和 MariaDB 作为两种不同类型的数据库,它们有着不同的应用场景、数据组织结构以及操作方式。下面先对它们进行简要的介绍,再逐一对它们的区别做详细的讲解。 Neo4j Neo4j 是一种图形(Graph)数据库,它主要用于处理复杂关系模型的数据。图形数据库以图的形式存储数据,节点表示实体,边表示实体之间的关系。Neo4j 是目前比较流行的图形数…

    database 2023年3月27日
    00
  • django 按时间范围查询数据库实例代码

    下面是详细讲解用Django按时间范围查询数据库实例代码的完整攻略。 一、准备工作 在开始编写Django时间范围查询代码之前,需要先进行以下准备工作: 在Django项目中创建需要查询的数据库模型(models)。 确认所查询的数据库模型中是否有记录添加时间(create_time)字段或其他相关时间字段。 二、查询时间范围 在Django中,可以使用fi…

    database 2023年5月19日
    00
  • MySQL自动编号与主键

    1、自动编号(AUTO_INCREMENT),必须与主键组合使用 默认情况下,起始值为1,增量也为1。 2、主键(PRIMARY KEY) 每张数据表只能存在一个主键 主键保证记录的唯一性 主键自动为NOT NULL 3、AUTO_INCREMENT必须与主键一起使用,主键不一定必须与AUTO_INCREMENT一起使用。 mysql> CREATE …

    MySQL 2023年4月16日
    00
  • MySQL数据库JDBC编程详解流程

    下面我将详细讲解“MySQL数据库JDBC编程详解流程”的完整攻略。 MySQL数据库JDBC编程详解流程 本文将详细讲解在Java程序中使用MySQL数据库JDBC编程的流程。这个过程主要包含以下几个步骤: 步骤一:加载数据库驱动 在Java程序中,我们需要通过加载数据库驱动来连接数据库。不同的数据库有不同的驱动,而我们使用MySQL数据库,所以我们需要加…

    database 2023年5月19日
    00
  • linux下改良版本mysqldump来备份MYSQL数据库

    下面我将为您详细讲解“linux下改良版本mysqldump来备份MYSQL数据库”的完整攻略。 一、背景知识 在开始介绍具体操作步骤之前,我们需要先了解两个概念: mysqldump mysqldump 是 MySQL 自带的一种备份工具,用于将 MySQL 数据库进行备份。它生成的备份文件可以用来恢复数据(如没有压缩),也可以用来迁移数据(如备份文件是压…

    database 2023年5月22日
    00
  • Cassandra 和 MariaDB 的区别

    Cassandra和MariaDB是两种不同类型的数据库。Cassandra是一种分布式非关系型数据库,而MariaDB是一种传统的关系型数据库。以下是它们之间的区别。 数据模型 Cassandra是一个基于列的数据库,支持灵活的架构设计。它通过列族来组织数据,每个列族可以包含不同的列。Cassandra有着极高的扩展性,支持横向扩展以处理大量数据。 Mar…

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