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