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

简介: 报错信息如下:RC-00205: Exception while writing the LOG information to adcrdbclone.sql           ——在写redo log信息到adcrdbclone.sql 脚本时报错。

报错信息如下:

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,成功解决。




相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
11月前
|
存储 监控 算法
防止员工泄密软件中文件访问日志管理的 Go 语言 B + 树算法
B+树凭借高效范围查询与稳定插入删除性能,为防止员工泄密软件提供高响应、可追溯的日志管理方案,显著提升海量文件操作日志的存储与检索效率。
325 2
|
存储 缓存 监控
【YashanDB数据库】数据库运行正常,日志出现大量错误metadata changed
数据库运行正常,日志出现大量错误metadata changed
|
11月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
493 6
|
12月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1933 5
|
存储 消息中间件 Kafka
聊一聊日志背后的抽象
本文从思考日志的本质开始,一览业界对日志使用的最佳实践,然后尝试给出分布式存储场景下对日志模块的需求抽象,最后是技术探索路上个人的一点点感悟。
886 81
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL数据库的WAL日志与数据写入的过程
PostgreSQL中的WAL(预写日志)是保证数据完整性的关键技术。在数据修改前,系统会先将日志写入WAL,确保宕机时可通过日志恢复数据。它减少了磁盘I/O,提升了性能,并支持手动切换日志文件。WAL文件默认存储在pg_wal目录下,采用16进制命名规则。此外,PostgreSQL提供pg_waldump工具解析日志内容。
1141 0
|
存储 SQL Java
数据存储使用文件还是数据库,哪个更合适?
数据库和文件系统各有优劣:数据库读写性能较低、结构 rigid,但具备计算能力和数据一致性保障;文件系统灵活易管理、读写高效,但缺乏计算能力且无法保证一致性。针对仅需高效存储与灵活管理的场景,文件系统更优,但其计算短板可通过开源工具 SPL(Structured Process Language)弥补。SPL 提供独立计算语法及高性能文件格式(如集文件、组表),支持复杂计算与多源混合查询,甚至可替代数据仓库。此外,SPL 易集成、支持热切换,大幅提升开发运维效率,是后数据库时代文件存储的理想补充方案。
|
运维 应用服务中间件 nginx
docker运维查看指定应用log文件位置和名称
通过本文的方法,您可以更高效地管理和查看Docker容器中的日志文件,确保应用运行状态可控和可监测。
2951 28
|
存储 NoSQL MongoDB
数据库数据恢复—MongoDB数据库迁移过程中丢失文件的数据恢复案例
某单位一台MongoDB数据库由于业务需求进行了数据迁移,数据库迁移后提示:“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
数据库
【YashanDB数据库】YAS-02079 archive log mode must be enabled when database is in replication mode
YAS-02079 archive log mode must be enabled when database is in replication mode