Oracle 10g:启动安装命令问题(ORA-24324,ORA-01041)

时间:2012-09-18 05:30:34

标签: oracle oracle10g sqlplus

我想在我的oracle db中禁用存档日志。但是当我关机并尝试安装数据库时,我收到以下错误。

C:\>sqlplus scott/tiger@ORCL as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Sep 18 10:44:17 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor
SQL> startup mount
ORA-24324: service handle not initialized
ORA-01041: internal error. hostdef extension doesn't exist

任何人都可以帮我解决这个问题。

Edit1: - Listener.ora

# listener.ora Network Configuration File:    E:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
     (SID_NAME = PLSExtProc)
     (ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
     (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = INHOS.dg.server.com)(PORT = 1521))
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
  )

2 个答案:

答案 0 :(得分:6)

不确定这是否是根本原因,但在关机后和启动之前,请尝试退出并重新输入SQL * Plus。

首先编辑: 好吧,那么,两个不同的问题。当您尝试从关闭的相同SQL * Plus会话启动时,会出现“ hostdef扩展名不存在”错误。解决方案是在关机和启动之间退出并重新进入SQL * Plus。

ORA-12514“监听器当前不知道连接描述符中请求的服务”是由于尝试远程启动(您的SQL * Plus连接字符串是scott/tiger@ORCL as sysdba,它指定{ {1}})实例,并且侦听器仅配置为动态服务注册。如果您的侦听器仅配置为动态服务注册,则尝试远程启动实例将为您提供ORA-12514。这有点像22。问题是,在实例启动之前,它无法向侦听器注册。如果没有向收听者注册,则无法启动它。有两种可能的解决方案:

  1. 您可以将静态侦听器配置添加到listener.ora文件并弹出侦听器。
  2. 您可以直接以Oracle软件所有者身份登录到安装了数据库的服务器,然后设置@ORCLORACLE_HOME,然后以ORACLE_SID身份连接。
  3. 希望有所帮助。

答案 1 :(得分:0)

ORA-24324可能意味着数据库尚未启动,因此解决方案将是 首先启动数据库和监听器(如果有的话)