2016年7月8日
今天吧数据库停掉电源重新启动后,普通用户登陆plsql报ORA-01033错,sys用户是能够正常登陆的。
我这个服务器的数据库是开机自启的。
这里要强调的是,数据库在启动的过程中是有三个状态的,umount mount open三个状态。
下面就是处理方法,当然要根据你自己的情况进行相应的调整。
查看数据库状态
sql> select status,database_status from v$instance;
STATUS DATABASE_STATUS
------------ -----------------
STARTED ACTIVE
sql> select open_mode from v$database;
select open_mode from v$database
*
ERROR at line 1:
ORA-01507: database not mounted
Here we can see the instance is started but database is not mounted.
Now mount the database,if this succeeds then there is no problem.
查看到数据库还没有被挂载,要挂载
sql> alter database mount;
Database altered.
sql> select status,database_status from v$instance;
STATUS DATABASE_STATUS
------------ -----------------
MOUNTED ACTIVE
成功挂载。如果你的已经是挂载状态就不需要挂载了
sql> select open_mode from v$database;
OPEN_MODE
----------
MOUNTED
Database is mounted successfully but when you try to connect,you still get the same ORA-01033 error:
虽然挂载了,但是还没有处于open状态,还是会报错的。
下面就是打开数据库
sql> alter database open;
Database altered.
ALTER PLUGGABLE DATABASE ALL OPEN;
sql> select status,database_status from v$instance;
STATUS DATABASE_STATUS
------------ -----------------
OPEN ACTIVE
查看一下,已经是open状态了。
sql> select open_mode from v$database;
OPEN_MODE
----------
READ WRITE
方法二:
sql>shutdown immediate 停止服务
sql>startup
方法三:
sql>shutdown immediate 停止服务
sql>startup 启动服务,观察启动时有无数据文件加载报错,并记住出错数据文件标号
sql>shutdown immediate 再次停止服务
sql>startup mount
sql> recover datafile 2 恢复出错的数据文件
sql>shutdown immediate 再次停止服务
sql>startup 启动服务,此次正常。