【问题标题】:Oracle DB 12c can't start tns serviceOracle DB 12c 无法启动 tns 服务
【发布时间】:2015-09-15 07:08:47
【问题描述】:

昨天我重新启动了我的机器,现在我的数据库不可用。 我第一次运行它已经有些困难了,因为有两种不同的 Oracle DB 安装。

我认为它们应该运行的 Windows 服务:

  • OracleJobSchedulerFOOBAR
  • OracleOraDB12Home3MTSRecoveryService
  • OracleOraDB12Home3TNSListener:本地计算机上的 OracleOraDB12Home3TNSListener 服务启动和停止。如果某些服务没有被其他服务或程序使用,它们会自动停止。
  • OracleServiceFOOBAR
  • OracleVssWriterFOOBAR

如您所见:我无法启动 OracleOraDB12Home3TNSListener 服务。

我更改了 tnsnames.ora 文件:

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )


  FOOBAR=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = myurl.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = FOOBAR)
    )
  ) 

而我的 listener.ora 是

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\OracleDB\product\12.1.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\OracleDB\product\12.1.0\dbhome_1\bin\oraclr12.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = myurl.com)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

我已经尝试了很多类似的东西:

  • sqlplus / as sysdba 和 startup 但我得到了

ORA-00119: 系统参数 LOCAL_LISTENER 的指定无效 ORA-00132: 语法错误或未解析的网络名称“LISTENER_FOOBAR”

  • alter system set local_listener='FOOBAR'; scope=spflile; 但我得到了

* 第 1 行的错误: ORA-01034: ORACLE 不可用 进程 ID:0 会话 ID:0 序列号:0

当我查看 OracleDB12Home3 的 Oracle 管理帮助时:

  • ORACLE_SDI = FOOBAR
  • ORACLE_HOME = C:\OracleDB\product\12.1.0\dbhome_1

有人知道如何帮助我吗?

【问题讨论】:

    标签: oracle oracle12c


    【解决方案1】:

    经过长时间的调查,感谢一位同事的帮助,它正在工作。

    总结一下我们是如何解决它的:

    • 所以要解决我的第一个问题“OracleOraDB12Home3TNSListener 无法启动”是因为我有一个新 IP。所以我在我的配置中更改了它(...\NETWORK\ADMIN ): https://community.oracle.com/thread/855326

    • 当我尝试与 sql developer 连接时(重新启动计算机后)。我遇到了错误:ORA-01034:ORACLE 不可用 ORA-27101:共享内存领域不存在。这意味着我的数据库没有启动 (http://www.dba-oracle.com/sf_ora_01034_oracle_not_available.htm)。

    • 所以我尝试手动启动数据库sqlplus / as sysdba 和startup,但我一直有这个输出:

      SQL> 启动 ORA-00119: 系统参数 LOCAL_LISTENER 的指定无效 ORA-00132: 语法错误或未解析的网络名称“LISTENER_FOOBAR”

    • 为了解决这个问题,我尝试处理 LISTENER.ORA 和 TNSNAMES.ORA 文件:

    LISTENER.ORA


    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = C:\OracleDB\product\12.1.0\dbhome_1)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:C:\OracleDB\product\12.1.0\dbhome_1\bin\oraclr12.dll")
        )
        (SID_DESC =
          (GLOBAL_DBNAME=FOOBAR)
          (ORACLE_HOME = C:\OracleDB\product\12.1.0\dbhome_1)
          (SID_NAME = FOOBAR)
        )
      )
    
    LISTENER_FOOBAR =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST =  localhost)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )
    

    TNSNAMES.ORA


    ORACLR_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
        (CONNECT_DATA =
          (SID = CLRExtProc)
          (PRESENTATION = RO)
        )
      )
    
    
    FOOBAR =
     (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST =  localhost)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = FOOBAR)
        )
      ) 
    
    • 我尝试多次重新启动正确的 Windows 服务:OracleServiceFOOBAR 但没有任何改变。我总是有同样的问题。我记得我做过pfile配置。

    • 所以我决定使用类似 alter system set LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))' scope=both; 之类的东西来更改 pfile 配置。对,但我不能应用任何命令行,因为数据库没有启动......

    • 所以我使用来自ORA-00119: invalid specification ORA-00132: syntax error 的 *.local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))' 技巧创建了一个名为 init.ora 的 pfile。我在参数SQL> startup pfile=c:\oracledb\admin\XXX\pfile\init.ora

    • 中用这个文件启动了数据库

    然后它开始工作了。

    【讨论】:

      猜你喜欢
      • 2019-04-20
      • 1970-01-01
      • 2018-03-21
      • 1970-01-01
      • 1970-01-01
      • 2018-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多