Oracle 10g:启动挂载命令问题(ORA-24324、ORA-01041)
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/12470893/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Oracle 10g: Issue with startup mount command (ORA-24324, ORA-01041)
提问by Andromeda
I want to disable the archive logs in my oracle db. But when i shutdown and try to mount the database i am getting the following error.
我想禁用我的 oracle 数据库中的存档日志。但是当我关闭并尝试挂载数据库时,出现以下错误。
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
Can any one please help me in resolving this issue.
任何人都可以帮助我解决这个问题。
Edit1:- Listener.ora
Edit1:- Listener.ora
# listener.ora Network Configuration File: E:\oracle\product.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.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))
)
)
)
回答by Mark J. Bobak
Not sure if this is root cause, but after shutdown and before startup, try exiting and re-entering SQL*Plus.
不确定这是否是根本原因,但在关机后和启动前,尝试退出并重新进入 SQL*Plus。
First edit: Ok, so, two different problems. The "hostdef extension doesn't exist" error happens when you try to startup from the same SQL*Plus session you shutdown from. Solution is to exit and re-enter SQL*Plus between shutdown and startup.
第一次编辑:好的,所以,两个不同的问题。当您尝试从关闭的同一 SQL*Plus 会话启动时,会发生“ hostdef 扩展不存在”错误。解决方法是在关机和启动之间退出并重新进入 SQL*Plus。
The ORA-12514 "Listener does not currently know of service requested in connect descriptor" is due to trying to remotely start (your SQL*Plus connect string is scott/tiger@ORCL as sysdba
which specifies @ORCL
) the instance, and the listener is configured only for dynamic service registration. If your listener is configured only for dynamic service registration, then trying to remotely start the instance will give you an ORA-12514. It's a bit of a catch-22. The problem is, until the instance is started, it can't register with the listener. If it's not registered with the listener, you can't start it up. There are two possible solutions:
ORA-12514“侦听器当前不知道连接描述符中请求的服务”是由于尝试远程启动(您的 SQL*Plus 连接字符串是scott/tiger@ORCL as sysdba
指定的@ORCL
)实例,并且侦听器仅配置用于动态服务注册。如果您的侦听器仅配置为动态服务注册,那么尝试远程启动实例将给您一个 ORA-12514。这有点像catch-22。问题是,在实例启动之前,它无法向侦听器注册。如果它没有注册到侦听器,则无法启动它。有两种可能的解决方案:
- You could add a static listener configuration to the listener.ora file and bounce the listener.
- You could directly login as the Oracle software owner, to the server that the database is installed on, and set
ORACLE_HOME
andORACLE_SID
, then connect as/ as sysdba
.
- 您可以将静态侦听器配置添加到 listener.ora 文件并反弹侦听器。
- 您可以直接以 Oracle 软件所有者的身份登录到安装数据库的服务器,并设置
ORACLE_HOME
和ORACLE_SID
,然后以 连接/ as sysdba
。
Hope that helps.
希望有帮助。
回答by user3421054
ORA-24324 can mean that the database simply has not been started, and so the resolution would be to first start the database and listeners (if any)
ORA-24324 可能意味着数据库尚未启动,因此解决方案是首先启动数据库和侦听器(如果有)