此法适合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>