天天看点

误删用户OUTLN,启动报错 ORA-18008: cannot find OUTLN schema

此法适合ORACLE 11G /10G --11g已经测试可以

问题现象:

数据库版本 Oracle 11g r2

hrdb1>startup

Oracle 例程已经启动。

Total System Global Area 4392697856 bytes-

Fixed Size                  2233616 bytes

Variable Size            1090521840 bytes

Database Buffers         3288334336 bytes

Redo Buffers               11608064 bytes

数据库装载完毕。

ORA-01092: Oracle instance terminated. Disconnection forced

ORA-18008: cannot find OUTLN schema

进程 ID: 5294

会话 ID: 683 序列号: 3

1.修改参数文件

1.1 确认数据库用的什么参数文件

SQL> show parameter pfile

NAME      TYPE  VALUE

------------------------------------ ----------- ------------------------------

spfile      string

SQL> 

看见spfile的value为空,说明用的pfile

1.2 修改参数replication_dependency_tracking

$ORACLE_HOME/dbs下找到对应的pfile添加如下行

replication_dependency_tracking =false

若是不为空,说明用的spfile

startup mount;

alter system set replication_dependency_tracking =false scope=spfile;

2. 重启数据库并执行重建脚本

shutdown immediate;

startup

start ?/rdbms/admin/doptim.bsq  --有报错别管

SQL> select username from dba_users  where username='OUTLN';

USERNAME

------------------------------

OUTLN

3.修改回原来的配置

3.1 pfile启动的数据库

vi $ORACLE_HOME/dbs/init...ora

replication_dependency_tracking =false  --删除此条目即可

3.2 spfile启动的数据库

alter system set replication_dependency_tracking=true scope=spfile;

4.重启数据库就不报错了,到此已经解决

SQL> startup

ORACLE 例程已经启动。

Total System Global Area 2137886720 bytes

Fixed Size     2215064 bytes

Variable Size   788530024 bytes

Database Buffers  1325400064 bytes

Redo Buffers    21741568 bytes

数据库装载完毕。

数据库已经打开。

SQL> 

ORA