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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 报错信息如下: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实时生图绘板
相关文章
|
6月前
|
存储 缓存 监控
【YashanDB数据库】数据库运行正常,日志出现大量错误metadata changed
数据库运行正常,日志出现大量错误metadata changed
|
3月前
|
存储 SQL Java
数据存储使用文件还是数据库,哪个更合适?
数据库和文件系统各有优劣:数据库读写性能较低、结构 rigid,但具备计算能力和数据一致性保障;文件系统灵活易管理、读写高效,但缺乏计算能力且无法保证一致性。针对仅需高效存储与灵活管理的场景,文件系统更优,但其计算短板可通过开源工具 SPL(Structured Process Language)弥补。SPL 提供独立计算语法及高性能文件格式(如集文件、组表),支持复杂计算与多源混合查询,甚至可替代数据仓库。此外,SPL 易集成、支持热切换,大幅提升开发运维效率,是后数据库时代文件存储的理想补充方案。
|
7月前
|
运维 应用服务中间件 nginx
docker运维查看指定应用log文件位置和名称
通过本文的方法,您可以更高效地管理和查看Docker容器中的日志文件,确保应用运行状态可控和可监测。
702 28
|
7月前
|
存储 NoSQL MongoDB
数据库数据恢复—MongoDB数据库迁移过程中丢失文件的数据恢复案例
某单位一台MongoDB数据库由于业务需求进行了数据迁移,数据库迁移后提示:“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
6月前
|
数据库
【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
|
10月前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
328 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
9月前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
298 3
|
10月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
229 1
【赵渝强老师】Oracle的控制文件与归档日志文件
|
9月前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
9月前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。

热门文章

最新文章