当前位置:首页 » 数据仓库 » oracle数据库不能启动
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

oracle数据库不能启动

发布时间: 2022-04-20 17:21:26

1. oracle 数据库启动失败,求大神解决

datafile 5已经损坏或丢失,如果有备份,可以通过recover datafile 5进行恢复,如果没有备份文件,恢复会失败,可以删除datafile 5后,在重新启动数据库

startup mount
alter database datafile 5 offline drop;
alter database open;

2. 修改计算机名或IP后Oracle10g服务无法启动的解决方法

遇到的问题,问题产生原因不详。症状为,windows服务中有一项oracle服务启动不了,报出如下错误。
Windows
不能在
本地计算机
启动
OracleDBConsoleorcl
。有关更多信息,查阅系统事件日志。如果这是非
Microsoft
服务,请与服务厂商联系,并参考特定服务错误代码
2
后从网上寻得一贴,问题解决,解决原因不详,反正就是解决了。
问题描述:学校机房母盘安装Oracle10g传输到其它机器,母盘的Oracle可以正常使用,而其它机器启动Oracle服务时无法启动。
具体为:在“服务”中启动“OracleDBConsoleorcl”时出现“Windows不能在本地计算机启动OracleDBConsoleorcl。
有关更多信息,查阅系统事件日志。如果这是非Microsoft服务,请与服务厂商联系,并参考特定服务错误代码2”。
原因分析:安装Oracle的电脑修改计算机名或IP后将无法启动服务。
解决方法:
1、删除原数据库实例“orcl”(注意:最好在传输前在母盘上完成此步,否则删除后必须重新启动电脑):
开始->所有程序->Oracle-OraDb10g_home1->配置和移植工具->Database
Configuration
Assistant->下一步->
删除数据库->下一步->完成->是->是->取消->是。
---------------------------
2、重新配置监听程序:
开始->所有程序->Oracle-OraDb10g_home1->配置和移植工具->Net
Configuration
Assistant->
“监听程序配置”下一步->“重新配置”下一步->下一步->下一步->下一步->“否”下一步->(取消->)完成。
3、重新安装数据库实例“orcl”:
开始->所有程序->Oracle-OraDb10g_home1->配置和移植工具->Database
Configuration
Assistant->下一步->
创建数据库->下一步->下一步->“全局数据库名”输入“orcl”(“SID”将自动填充相同字符)下一步->下一步->
为“所有帐户使用同一口令”输入原来安装时的口令和确认口令(“welcome”)下一步->下一步->下一步->下一步->下一步->下一步->下一步->下一步->
完成->确定->退出。
4、本地Net服务名配置:
开始->所有程序->Oracle-OraDb10g_home1->配置和移植工具->Net
Configuration
Assistant->
“本地Net服务名配置”下一步->“删除”下一步->下一步->是->下一步->下一步->
“本地Net服务名配置”下一步->“添加”下一步->“服务名”输入“orcl”下一步->下一步->
输入本机真实的“主机名”(可在“我的电脑”属性中查得)下一步->“是,进行测试”下一步->
更改登录->口令修改为“welcome”确定->下一步->网络服务器名为“orcl”下一步->下一步->下一步->(取消->)完成。
5、试用PL/sqldev是否能登录。
6、登录“http://主机名或IP:1158/em”(注意此时有可能1158已变成了5500或其它端口了),
用户名“system”口令“orcl”登录->我同意->管理。

3. oracle undo表空间被删除,数据库无法启动,请问如何恢复

首先,undo表空间满是正常的,oracle自然会重用或者扩展它,一般不用管它。
然后,现在要解决的话,需要先把undo
tablespace设置成手动,启动数据库,创建新的undo
tablespace。把新的设置成默认的。
假设你的库现在是mounted状态
1
创建PFILE(如果已有就是更新)
SQL>create
pfile
from
spfile;
2
关闭数据库
SQL>shutdown
immediate
3
在你的$ORACLE_HOME/dbs目录下面找个叫做
init<数据库>.ora的文件,把其中有undo_management=AUTO的一行改成
undo_management=MANUAL
如果没有就在文件末尾填一行
4
以sysdba身份连接数据库
SQL>connect
"/
as
sysdba"
用刚才改过的文件启动数据库
SQL>
startup
pfile=<刚才的文件全路径和名字>
这步是最关键的,如果成功,后面就没问题了
5
drop掉原来的表空间
SQL>
drop
tablespace
<原来的undo表空间名字>
including
contents;
6
创建新的undo表空间
SQL>
create
UNDO
tablespace
undotbs2
datafile
'/u01/app/oracle/oradata/orcl/undotbs02.dbf'
size
100M
autoextend
on;
7
关闭数据库,
SQL>shutdown
immediate
在开始那个init文件里设置UNDO_MANAGEMENT=AUTO

UNDO_TABLESPACE=UNDOTBS2
8
再做一次第四步
9
更新spfile
SQL>create
spfile
from
pfile;
10
关闭数据库,正常重新启动
SQL>shutdown
immediate
SQL>startup
11
去网上教你删undo那个地方骂它。非常想当然的做法。没有任何理由这么做
12
让你的工程师去学oracle
培训
以上步骤的中的第5步可能会出问题。我不确认。。。
但是即使第5步不成功,问题应该也不大

4. 为什么我的电脑启动不了oracle数据库

法 1: 手动启动 Oracle 数据库服务
更改启动行为的 Oracle 数据库服务在运行 Oracle 数据库的计算机上手动类型,然后手动启动 Oracle 数据库服务。 这样做,请按照下列步骤操作:
Oracle 数据库服务的启动类型更改为手动方式。这样做,请按照下列步骤操作:
单击 开始,指向 设置,然后单击 控制面板。
在 $ 控制面版中双击 管理工具。
在管理工具窗口中双击 服务。
在服务的右窗格窗口,双击 OracleService<sid>.
在 $ OracleService<sid>属性中 (本地计算机) 对话框框中,单击 常规 选项卡。
单击 手动启动键入 列表中,然后单击 确定。
更改启动设置的实例的 Oracle 数据库如 Oracle 数据库服务启动时的 Oracle 数据库实例未自动启动。这样做,请按照下列步骤。

重要此分区、 方法,或任务包含告诉您如何修改注册表的步骤。但是,如果注册表修改不当可能会出现严重问题。因此,请确保您仔细按照这些步骤。附加的保护注册表之前先备份您对其进行修改。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 (http://support.microsoft.com/kb/322756/ ) 如何备份和还原在 Windows 注册表
单击 开始,然后单击 运行。
在 打开 框中键入 regedit,然后单击 确定。
在注册表编辑器中找到以下注册表项: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0

注意数字零 (0) 不字母 o 以结束此注册表项的名称。
在注册表编辑器的右窗格,双击 ORA_ <sid>_AUTOSTART.

注意: <sid>替换 Oracle 数据库服务的名称。
编辑字符串 对话框中在 数值数据 框中键入 FALSE,然后单击 确定。
关闭注册表编辑器。
以下的批处理文件创建名为 StartupOracleORCL.sql:
connect <username>/<password>
startup PFILE=<Full path of the INIT.ORA file for the instance of Oracle database>

exit

创建以下 Windows 批处理文件中关闭 net start < Oracle 服务名称 > 步骤 3:
@echo off

net start <Oracle Service Name>
set ORACLE_SID=<Oracle SID>
svrmgrl @<Full path of startupOracleORCL.sql created in Step 3>

exit

注意您必须替换 < Oracle 服务名称 > 和 < Oracle SID > 与 Oracle 数据库服务名称和的 Oracle 数据库服务,SID 分别。
在命令提示符处运行 Orastart.bat 文件。

注意您可能会注意到 Oracle 数据库的实例已成功启动。
回到顶端
方法 2: 通过使用 Windows 资源工具包实用程序自动化 Oracle 服务的启动
通过使用服务安装程序实用程序 (Instsrv.exe) 和应用程序服务实用程序 (Srvany.exe) 作为自动启动的 Oracle 服务,请按照下列步骤操作。

注意该服务安装程序实用程序 (Instsrv.exe) 和应用程序服务实用程序 (Srvany.exe) 作为将包含在 Windows Server 2003 资源工具包。
下载并安装 Windows 资源工具包实用程序。收起这个图片展开这个图片Download the Rktools.exe package now. (http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en)
创建一个文件夹来将 OracleStartup 上被命名为根的驱动器 c。
In the C:\OracleStartup folder, create a text file that is named OracleStartup.reg and that contains the following information:
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleStartup\Parameters]
"Application"="C:\\OracleStartup\\OracleStartup.cmd"

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0]
"ORA_ORCL_AUTOSTART"=hex(2):34,00,36,00,2c,00,30,00,30,00,2c,00,34,00,31,00,2c,00,30,00,30,\
00,2c,00,34,00,63,00,2c,00,30,00,30,00,2c,00,35,00,33,00,2c,00,30,00,30,00,\
2c,00,34,00,35,00,2c,00,30,00,30,00,2c,00,30,00,30,00,2c,00,30,00,30,00,00,\
00

双击 C:\OracleStartup\Oracle.reg 文本文件,以将此信息导入到您的注册表。
C:\OracleStartup 文件夹中创建名为 OracleStartup.cmd 的文本文件,并包含以下信息:
sleep 60
net start OracleServiceORCL
SET ORACLE_SID=ORCL
svrmgrl @C:\OracleStartup\OracleStartup.sql
sleep 15
EXIT

创建一个 C:\OracleStartup\OracleStartup.sql 的文本文件,其中包含以下信息:
connect internal/oracle
startup PFILE=C:\init.ora

笔记 的启动参数必须包含 Init.ora 文件的完全限定的路径。

重要C:\OracleStartup\OracleStartup.cmd 文件包含用户凭据以明文形式。 因此,限制对管理员和 Oracle 服务启动帐户仅此文件的访问。您可以通过配置在 Oracle 服务器的 Windows 身份验证来避免包括 C:\OracleStartup\OracleStartup.cmd 文件中的用户凭据。 有关如何配置 Oracle 的 Windows 身份验证获得笔记: 60634.1 (赢得: 安装操作系统身份验证) 从 Oracle 公司。有关如何与 Oracle 公司的信息,请访问以下网站:
http://www.oracle.com/ (http://www.oracle.com/)
作为服务启动 OracleStartup,通过使用该 InstSrv.exe 和 $ SrvAny.exe 资源工具包实用程序,以及通过使用以下命令:

"是 Files\Resource Kit\instsrv.exe"OracleStartup"是 Files\Resource Kit\SRVAny.exe"
sc 配置"OracleServiceORCL"开始 = 请求
退出
重新启动 Windows。

5. 菜鸟求帮助.Oracle数据库启动不了

是不是没有启动oracle服务或者监听器没有开?

6. oracle 数据库不能随操作系统自动启动

首先打开服务,在控制面板的管理工具中,看看
OracleOraDb10g_home1iSQL*Plus
OracleOraDb10g_home1TNSListener
OracleServiceORACLE(这里要改成:OracleService加上你的数据库名称
,我的数据库就叫ORACLE,所以是OracleServiceORACLE
)几个进程是自动还是其他的,自动的就不用管他了,这时候如果启动计算机的时候数据库启动不了就有可能是你的系统问题或者oracle没有装好,如果是手动的,解决方法如下:
net
start
OracleOraDb10g_home1iSQL*Plus
net
start
OracleOraDb10g_home1TNSListener
net
start
OracleServiceORACLE(这里要改成:OracleService加上你的数据库名称
,我的数据库就叫ORACLE,所以是OracleServiceORACLE

我给你这段脚本,你把它放在.bat文件中,再把这个bat文件放在“开始菜单--所有程序--启动
”中这样开机的时候就会启动了

7. Oracle数据库实例启动不了怎么办

只能将表空间删除了,首先
shutdown immediate;

然后启动到mount状态:

startup mount;

确定你少了那些文件:
sys@ORCL>select * from v$recover_file;

FILE# ONLINE ONLINE_ ERROR
---------- ------- ------- -----------------
4 ONLINE ONLINE FILE NOT FOUND

除了system和sysaux表空间以外,其它的表空间删除就行了,执行下面语句,使表空间的数据文件offline:

8. oracle数据库实例启动不了

只能将表空间删除了,首先
shutdown
immediate;
然后启动到mount状态:
startup
mount;
确定你少了那些文件:
sys@ORCL>select
*
from
v$recover_file;
FILE#
ONLINE
ONLINE_
ERROR
----------
-------
-------
-----------------
4
ONLINE
ONLINE
FILE
NOT
FOUND
除了system和sysaux表空间以外,其它的表空间删除就行了,执行下面语句,使表空间的数据文件offline:
sys@ORCL>alter
database
datafile
4
offline;
然后就可以打开数据库了:
alter
database
open;
接着删除表空间:
drop
tablespace
users;

9. oracle 数据库启动失败,该怎么办

PRM-DUL 可以直接从Oracle .DBF数据文件中抽取出表的数据。

Oracle DBA神器:PRM灾难恢复工具,Schema级别数据恢复。PRM For Oracle Database – schema级别oracle数据库数据恢复特性 ,PRM即ParnassusData Recovery Manager是企业级别Oracle数据库灾难恢复工具。PRM可以在无备份的情况下恢复被truncated掉的表,也可以恢复无法打开的Oracle数据库(Alter Database Open失败)中的数据。

10. oracle 数据库异常停止,现在不能启动数据库

1,首先排除设置了正确的SID连接
如:C:\Users\Administrator>set ORACLE_SID = orcl //确定本机数据库实例名
linux下用export ORACLE_SID=orcl

2,以sysdba连接,关闭数据库

sqlplus / as sysdba
shutdown immediate
如果不能关闭,windows下杀掉oracle进程,停掉oracle的服务
linux下:ps -ef|grep smon找到对应的pid
kill -9 <pid>

3,重新启动试试
startup
如果还是不行,查看报错原因,这里可能有很多,比如数据文件错误

4.这里假如你的错误是数据文件引起

shutdown immediate

startup mount
recover datafile <datafile number>;
alter database open;
就可以了

如果不是数据文件错误,贴出来看看吧