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

本文涉及的产品
日志服务 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,成功解决。




相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6天前
|
SQL 监控 Java
在IDEA 、springboot中使用切面aop实现日志信息的记录到数据库
这篇文章介绍了如何在IDEA和Spring Boot中使用AOP技术实现日志信息的记录到数据库的详细步骤和代码示例。
在IDEA 、springboot中使用切面aop实现日志信息的记录到数据库
|
5天前
|
SQL 数据库 数据安全/隐私保护
SQL Server数据库Owner导致事务复制log reader job无法启动的解决办法
【8月更文挑战第14天】解决SQL Server事务复制Log Reader作业因数据库所有者问题无法启动的方法:首先验证数据库所有者是否有效并具足够权限;若非,使用`ALTER AUTHORIZATION`更改为有效登录名。其次,确认Log Reader使用的登录名拥有读取事务日志所需的角色权限。还需检查复制配置是否准确无误,并验证Log Reader代理的连接信息及参数。重启SQL Server Agent服务或手动启动Log Reader作业亦可能解决问题。最后,审查SQL Server错误日志及Windows事件查看器以获取更多线索。
|
1天前
|
Ubuntu Java Linux
查看Linux系统中日志文件
查看Linux系统中日志文件
|
1天前
|
存储 监控 应用服务中间件
查看nginx日志文件
器性能和提高网站可用性。掌握日志文件的路径、查看方法和基本分析技能对于任何服务器管理员来说都是必备技能。
7 1
|
2天前
|
SQL Oracle NoSQL
实时计算 Flink版操作报错合集之报错“找不到对应的归档日志文件”,怎么处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
11天前
|
SQL Oracle 关系型数据库
"揭秘!一键解锁Oracle日志清理魔法,让海量归档日志无处遁形,守护数据库健康,告别磁盘空间告急噩梦!"
【8月更文挑战第9天】随着Oracle数据库在企业应用中的普及,归档日志管理对保持数据库健康至关重要。归档日志记录所有更改,对数据恢复极为重要,但也可能迅速占用大量磁盘空间影响性能。利用Oracle提供的RMAN工具,可通过编写Shell脚本来自动清理归档日志。脚本包括设置环境变量、连接数据库、检查和删除指定时间前的日志,并记录执行情况。通过Cron作业定时运行脚本,可有效管理日志文件,确保数据库稳定运行。
37 7
|
12天前
|
存储 Kubernetes 网络安全
[k8s]使用nfs挂载pod的应用日志文件
[k8s]使用nfs挂载pod的应用日志文件
|
6天前
|
应用服务中间件 Linux nginx
Nginx log 日志文件较大,按日期生成 实现日志的切割
Nginx log 日志文件较大,按日期生成 实现日志的切割
28 0
|
6天前
|
C#
C# 写日志文件
C# 写日志文件
12 0
|
8天前
|
关系型数据库 MySQL Linux
Linux——日志文件按天切割
Linux——日志文件按天切割
24 0

热门文章

最新文章