早上启动数据库,结果报出oracle ORA-01033错误。
用如下方法操作:
用cmd窗口 连到数据库
sqlplus /nolog --运行sqlplus命令,进入sqlplus环境,nolog参数表示不登录;
conn sys/orcl as sysdba; --以系统管理员(sysdba)的身份连接数据库;如果需要对数据库进行管理操作,那么需要以这种方式登录数据库,或者connect sys@service_name as sysdba,其中service_name 你配置的客户tnsname服务名.
shutdown immediate;停止服务
startup nomount; --(读初始化参数文件,启动实例) STARTUP NOMOUNT选项启动实例,但不安装数据库。当数据库以这个模式启动时,参数文件被读取;后台进程和内存结构被启动;但它们不被附加或与数据库的磁盘结构进行通信。当实例处于这个状态时,数据库是不可使用的。
select * from v$log;
show parameters log;
alter database mount;----加载控制文件,让实例和数据库相关联
alter database open;----根据控制文件找到并打开数据文件和日志文件,从而打开数据库
重新在启动一下
shutdowm immediate;
startup nomount;
alter database mount;
alter database open;
采用这个方法处理后在打开数据库时报出ORA-01172、ORA-01151错误,网上查资料解决方法如下:
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01172: recovery of thread 1 stuck at block 3651180 of file 8
ORA-01151: use media recovery to recover block, restore backup if needed
SQL> select file#,name from v$datafile where file#=8;
FILE#
----------
NAME
--------------------------------------------------------------------------------
8
/oradata2/users01_6.dbf
SQL> recover datafile 8; / 恢复成功
Media recovery complete.
Recover 从损坏的磁盘中恢复可读取的信息。
恢复后再次重新启动,若有问题再次恢复介质、重新启动,直到:
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
数据库装载完毕。
数据库已经打开。
看到数据已经打开后,登录PLSQL成功了。