oracle数据库报ORA-01033错误

Oracle登录 ORA-01033: ORACLE正在初始化或关闭的解决办法

2015-03-16 01:20 | 160511人阅读 | 来源

Oracle登录 ORA-01033: ORACLE正在初始化或关闭的解决方法

Oracle存在多实例

相应的在DOS命令下执行:

1. 设置正确的ORACLE实例:set ORACLE_SID = INSTANCE_NAME

2. 启动SQLPLUS:sqlplus /nolog

3.以DBA(通常有好几个sys或system)用户sqlplus登录:connect system/sys as sysdba

oracle登录错误(ORA-01033:ORACLE initialization or shutdown in progress

上面说到了创建表分区的例子,所以创建表空间的时候创建了好几个表空间物理文件,之后感觉创建的有误,想删掉它们,可是删不掉(因为数据库进程启动着),所以把数据库服务给关了,直接Shift+Del把文件给删掉了。

问题出来了:我再次启动oracle相关服务后,登录不了了。

出现了ORA-01033:ORACLE initialization or shutdown in progress

原因就是因为我把介质文件给删掉了

解决步骤:

以DBA(通常有好几个sys或system)用户sqlplus登录

请输入用户名: system/sys as sysdba

然后(卸载数据)输入:

SQL> shutdown normal

会出现:

ORA-01109: 数据库未打开

已经卸载数据库。

ORACLE 例程已经关闭。

然后(装载数据)输入:

SQL> startup mount

ORACLE 例程已经启动。

数据库装载完毕。

之后:

SQL>alter database open;

第 1 行出现错误:

ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件

ORA-01110: 数据文件 6: ‘D:/ORACLE/PRODUCT/10.1.0/ORADATA/RAILWAY/2008_1.DAT‘

SQL> alter database create datafile 6;

数据库已更改。

SQL>alter database open;

第 1 行出现错误:

ORA-01113: 文件 6 需要介质恢复

ORA-01110: 数据文件 6: ‘D:/ORACLE/PRODUCT/10.1.0/ORADATA/RAILWAY/2008_1.DAT‘

SQL> alter database datafile 6 offline drop;

数据库已更改。

继续

SQL>alter database open;

如果出现以上错误,继续执行相关操作,上面的6要和create和drop对应。

如果

SQL> alter database open;

出现了:

数据库已更改。

则成功了。

这时可以再用PL/SQL等客户端工具,登录操作数据库了。

至于介质恢复: ora-01172 ora-01151了,解决办法如下:

c:>sqlplus /nolog

SQL> connect sys/[email protected] as SYSDBA

已连接

SQL>  startup mount

ORA-01081: 无法启动已在运行的 ORACLE --- 请首先关闭

SQL> alter database open read only;

alter database open read only

*

ERROR 位于第 1 行:

ORA-16005: 数据库需要恢复

SQL> recover database

完成介质恢复。

SQL> shutdown immediate

ORA-01109: 数据库未打开

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area  730931140 bytes

Fixed Size                   454596 bytes

Variable Size             411041792 bytes

Database Buffers          318767104 bytes

Redo Buffers                 667648 bytes

数据库装载完毕。

数据库已经打开。

今天用客户端连接oracle时,发现报ORA-01033: ORACLE 正在初始化或关闭错误,其实这个错误报了几天了,前两次重启一下就好了,今天是怎么也起不来了,通过在网上查找,很好的就解决了,

首先我用startup mount命令,可以正常,然后用alter database open就会报错,如下图

从中可以看出归档文件的问题,随后

可以看出改组非当前状态但已归档,所以用clear命令来重建当前组

SQL>alter database clear logfile group 3;

如果是该日志组还没有归档,则需要用

SQL>alter database clear unarchived logfile group 3;

然后alter database open  数据库就可以连上了。

我这是在自己本机上随便做的,但是如果在生产机上最好立刻做备份一下。

说明:

1)、如果损坏的是非当前的联机日志文件,一般只需要clear就可以重建该日志文件,但是如果该数据库处于归档状态但该日志还没有归档,就需要强行clear。

2)、建议clear,特别是强行clear后作一次数据库的全备份。

3)、此方法适用于归档与非归档数据库。

百度经验:

http://jingyan.baidu.com/article/36d6ed1f6e3bb61bcf4883e1.html

时间: 2024-11-08 19:10:11

oracle数据库报ORA-01033错误的相关文章

navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法

原文:navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法 navicat是通过oracle客户端连接oracle服务器的. oracle的客户端有两种,一种标准的客户端安装程序,下载地址: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

关于oracle 11g导出数据时 报 ORA 1455错误的处理

由于导出的该用户的表可能存在空数据表,那么可能就会出现此其异常. 首先: 查看: SQL>show parameter deferred_segment_creation; 如果为TRUE,则将该参数改为FALSE: 在sqlplus中,执行如下命令: SQL>alter system set deferred_segment_creation=false; 然后: 可以针对数据表.索引.物化视图等手工分配Extent SQL>Select 'alter table '||table_n

中断ORACLE数据库关闭进程导致错误案例

昨晚下班的时候,我准备关闭本机的虚拟机上的ORACLE数据库后准备下班,但是由于我SecureCRT开了多个窗口,结果一不小心,疏忽之下在一个生产服务器上执行了shutdown immediate命令,大概过了6到7秒,发现该命令还没有响应,我才发现我这个命令执行错了服务器.一惊之下,想都没有想直接CTRL+C想中断这个操作. 如下所示: SQL> shutdown immeidate; SP2-0717: illegal SHUTDOWN option SQL> shutdown immed

关于vs2008使用oracleclient链接oracle数据库报报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用

用vs2008链接oracle数据库出现问题,报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用,从网上找了好久方法,有两种oracle客户端文件权限,和运行vs2008以管理员身份,这些都试过了没有用,查了好久还是没有解决问题,只好换一种方式链接oracle数据了. 我使用的是ODAC方式链接oracle数据库,这样就不需要安装oracle客户端了,我的操作步骤如下: 1.从[url=http://download.oracle.com/otn/other/ole-oo

Navicate Premium连接Oracle数据库报错

Navicat Premium连接MySQL数据库没有问题,在连接Oracle数据库的时候报错,提示:ORA-28547:connection to server failed,probable Oracle Net admin error 原因是:navicate Primium版本的OCi和本地数据库的OCI版本不一致. 那么需要用本地Oracle数据库的OCI,可是我本地的没有安装Oracle数据库,是远程的电脑有数据库,本地安装Oracle数据库没有必要,所以就用另一种方式解决问题. 下

解决数据库报唯一性约束错误的实践

猿们好,我是honery,今天来给大家唠一唠如何避免数据库报唯一性约束的错误. 一.问题的引出 ??首先抛出一个问题,如何保证数据库表中的某列的值都不一样呢?相信大家很容易想到给该列加上唯一性约束,这样就能保证业务逻辑的正确性了.实际的使用中,尤其高并发场景下,很容易出现插入同一条记录的情况,该情况下数据库会报违反唯一性约束的错误.总不能让数据库一直抛这个错误吧.于是我们想到可以在业务代码中加上该列值是否为空的判断,判断为空时再行插入,于是问题就解决了. ??问题真的解决了吗?说是,你就too

Navicat连接Oracle数据库报错ORA-28547解决方法

先说明下我机器的环境: 1.Win10 - 64bit 2.Navicat Premium_11.2.7  - 64bit 3.未安装Oracle数据库(包括Client也未安装) 解决方法: 1.下载 Instant Client 包 [注意:网络很多帖子都是说不管机器是32位还是64位都必须下载 32位的 Instant Client 包,Navicat 官方也是这么说的,很多人也说问题解决了...] [划重点:但是我下载了32位的就是不行,绝望之际最后抱着试试看的心情下载了64位的包,居然

plsql通过instantclient连接oracle数据库报连接超时

配置:数据库oracle10.2;服务器操作系统centos5.5:客户机操作系统win7 32位:plsql版本10.0.5 配置前提必须关闭客户机与服务器操作系统的防火墙,否则会出现“连接超时”的提示,plsql无法连接数据库. centos 查看防火墙状态与关闭防火墙:service iptables status  : service iptables stop: 1,先到Oracle网站下载Instant Client : http://www.oracle.com/technolog

kettle连接oracle数据库报错,ORA-12505

报错信息: Error connecting to database: (using class oracle.jdbc.driver.OracleDriver) Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor 解决方法: (DESCRIPTION = (ADDRE