IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]数据库层预克隆报无法创建日志文件

    changyanmanman发表于 2015-08-01 00:02:49
    love 0

    报错信息如下:

    RC-00205: Exception while writing the LOG information to adcrdbclone.sql           ——在写redo log信息到adcrdbclone.sql 脚本时报错。
    Raised by oracle.apps.ad.tools.AdCreateCtlFile
    RC-50208: Exception  in method gen_SQL_script
    Raised by oracle.apps.ad.tools.AdCreateCtlFile
    RC-50208: Exception  in method gen_crctrf_sql
    RC-50208: Exception  in Constructor AdCreateCtlFile
    Raised by oracle.apps.ad.tools.AdCreateCtlFile


    StackTrace:
    java.lang.ArrayIndexOutOfBoundsException: 3 >= 3
            at java.util.Vector.elementAt(Vector.java(Compiled Code))
            at oracle.apps.ad.tools.AdCreateCtlFile.build_log_sql(AdCreateCtlFile.java:1990)
            at oracle.apps.ad.tools.AdCreateCtlFile.gen_SQL_script(AdCreateCtlFile.java:1766)
            at oracle.apps.ad.tools.AdCreateCtlFile.gen_crctrf_sql(AdCreateCtlFile.java:841)
            at oracle.apps.ad.tools.AdCreateCtlFile.<init>(AdCreateCtlFile.java:416)
            at oracle.apps.ad.clone.StageDatabase.doStage(StageDatabase.java:422)
            at oracle.apps.ad.clone.StageDatabase.<init>(StageDatabase.java:263)
            at oracle.apps.ad.clone.StageDBTier.<init>(StageDBTier.java:188)
            at java.lang.reflect.Constructor.newInstance(Native Method)
            at oracle.apps.ad.clone.util.CloneProcessor.run(CloneProcessor.java:68)
            at java.lang.Thread.run(Thread.java:513)


    RC-40001: Failed to create sql script adcrdbclone.sql for recreating control files at target
    Raised by oracle.apps.ad.clone.StageDatabase



    从metalink上找到一篇类似的文档:

    Adpreclone.Pl Dbtier Fails With Error Rc-50208 ORA-00942 (文档 ID 1394993.1)

    但是他的错误信息是:

    跟我们的错误还是有一点差别。


    分析:
    看日志似乎是在说,创建日志组数大于3组了,超过了限定值,有可能是个bug,但是我同事的系统,环境版本跟我的一样,却有6组redo log,也不会报错。我的才5组。。

    决定尝试从我同事的环境把他环境里的这个目录$ORCLE_HOME/appsutil/clone/jlib/java打包给我,里面是class文件,虽然我的是AIX系统,他的是linux,但是class文件没有平台的区分,应该可以。

    拷贝过来,替换掉我的,发现还是报错。


    之后又尝试了重新生产appsutil.zip文件。运行autocfg等操作,还是不行。



    解决:

    既然报错不能创建日志文件,那就在源环境中,查看下redo log有没有问题,通过plsql dev连接数据库后。查询发现日志组1中,一个成员的名字最后有一个空格。

    然后,尝试重建这个日志组,消除空格。再次运行preclone,成功解决。






沪ICP备19023445号-2号
友情链接