今天用plsql登录数据库时报了错误:ora-1033: oracle initialization or shutdown in progress,网上找到了解决方法,记下来先。
1、运行cmd命令,执行“C:\Users\Administrator>set ORACLE_SID=CCC",其中“CCC”为数据库实例名;
2、运行 sqlplus "/as sysdba":
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 9月 25 21:17:00 201
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>
注释:这句话(sqlplus "/as sysdba")的意思是以操作系统身份认证方式登录oracle,所以不用输用户名和密码,而我们当前登录操作系统的用户必须存在于电脑的ora_dba组中,右键“我的电脑(有的是计算机)”,可以在“管理->本地用户和组->组”里面找到ora_dba,双击便可以在其成员列表中看到当前所登录的操作系统用户,如果没有,则运行这句是登录不了数据库的;
3、执行 SQL> shutdown immediate:
SQL> shutdown immediate
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
4、执行 SQL> startup
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 285215620 bytes
Database Buffers 318767104 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
ORA-16038: 日志 1 序列号 97 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 1 线程 1:
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\C3MLSC32\REDO01.LOG'
5、查看v$log
SQL> select group#,sequence#,archived,status from v$log;
GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
1 97 NO INACTIVE
3 99 NO INACTIVE
2 100 NO CURRENT
看到组1是非当前状态,并且没有归档,使用以下语句处理非归档文件(它什么意思?暂不懂)
SQL> alter database clear unarchived logfile group 1;
数据库已更改。
6、执行
SQL> alter database open;
数据库已更改。
7、现在可以用plsql登录了。
这篇博客记录了解决ora-1033: Oracle初始化或关闭中的问题和ora-16038: 日志无法归档的步骤。通过设置ORACLE_SID,以sysdba身份登录SQL*Plus,执行shutdown immediate、startup和alter database clear unarchived logfile等命令,成功解决了数据库登录和日志归档问题。

3238

被折叠的 条评论
为什么被折叠?



