我想在我的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))
)
)
答案 0 :(得分:6)
不确定这是否是根本原因,但在关机后和启动之前,请尝试退出并重新输入SQL * Plus。
首先编辑: 好吧,那么,两个不同的问题。当您尝试从关闭的相同SQL * Plus会话启动时,会出现“ hostdef扩展名不存在”错误。解决方案是在关机和启动之间退出并重新进入SQL * Plus。
ORA-12514“监听器当前不知道连接描述符中请求的服务”是由于尝试远程启动(您的SQL * Plus连接字符串是scott/tiger@ORCL as sysdba
,它指定{ {1}})实例,并且侦听器仅配置为动态服务注册。如果您的侦听器仅配置为动态服务注册,则尝试远程启动实例将为您提供ORA-12514。这有点像22。问题是,在实例启动之前,它无法向侦听器注册。如果没有向收听者注册,则无法启动它。有两种可能的解决方案:
@ORCL
和ORACLE_HOME
,然后以ORACLE_SID
身份连接。希望有所帮助。
答案 1 :(得分:0)
ORA-24324可能意味着数据库尚未启动,因此解决方案将是 首先启动数据库和监听器(如果有的话)