问题现象:
数据库版本 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
hrdb1>!oerr ora 18008
18008, 00000, "cannot find OUTLN schema"
// *Cause: The database creation script that creates this schema must not
// have been executed.
// *Action: Review the log files to see what happened when the database
// was created.
问题原因:
outlin用户被误删除
解决方法:
按照metalink上的解决办法,先修改replication_dependency_tracking参数,重建数据库outln用户及相关对象即可。
1,启动到mount状态,修改replication_dependency_tracking参数
alter system set replication_dependency_tracking =false scope=spfile;
2,启动数据库至open状态
hrdb1>shutdown immediate
hrdb1>startup
3,执行脚本doptim.bsq,oracle 10g版本可参考执行附录脚本
@$ORACLE_HOME/rdbms/admin/doptim.bsq
此时,用户已创建
hrdb1>select username from dba_users;
USERNAME
------------------------------
OUTLN
4,修改回replication_dependency_tracking参数为true
alter system set replication_dependency_tracking =true scope=spfile;
5,重新启动数据库,系统恢复正常
hrdb1>shutdown abort
ORACLE 例程已经关闭。
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
数据库装载完毕。
数据库已经打开。
hrdb1>select username from dba_users;
USERNAME
------------------------------
WJ
OUTLN
SYS
SYSTEM
HR
STRMADMIN
已选择6行。
由于版本是oracle 11g,直接执行相关脚本即可,oracle 10g版本可以参考《Script to Create User OUTLN in 10.2 [ID 422983.1]》
备注:用于复制的一个参数,第一次碰到,做个记录
REPLICATION_DEPENDENCY_TRACKING enables or disables dependency tracking for read/write operations to the database. Dependency tracking is essential for propagating changes in a replicated environment in parallel.
参考资料:
Unable To Start The Database With OUTLN Schema Dropped ORA-01092& ORA-18008 [ID 855104.1]
Script to Create User OUTLN in 10.2 [ID 422983.1]