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

简介: 报错信息如下: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日志并进行多维度分析。
相关文章
|
24天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
78 1
|
28天前
|
SQL 关系型数据库 MySQL
MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复
对于MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复。二进制日志是MySQL中记录所有数据库更改操作的日志文件。要进行时间点恢复,您需要执行以下步骤: 1. 确保MySQL配置文件中启用了二进制日志功能。在配置文件(通常是my.cnf或my.ini)中找到以下行,并确保没有被注释掉: Copy code log_bin = /path/to/binary/log/file 2. 在需要进行恢复的时间点之前创建一个数据库备份。这将作为恢复的基准。 3. 找到您要恢复到的时间点的二进制日志文件和位置。可以通过执行以下命令来查看当前的二进制日志文件和位
|
29天前
|
监控 关系型数据库 数据库
OceanBase数据库常见问题之文件存在但是数据库提示文件不存在如何解决
OceanBase 是一款由阿里巴巴集团研发的企业级分布式关系型数据库,它具有高可用、高性能、可水平扩展等特点。以下是OceanBase 数据库使用过程中可能遇到的一些常见问题及其解答的汇总,以帮助用户更好地理解和使用这款数据库产品。
|
1月前
|
Dubbo Java 应用服务中间件
Dubbo日志文件输出到指定目录 如何定义?
Dubbo日志文件输出到指定目录 如何定义?
|
1月前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
29 0
|
1月前
|
SQL Java 数据库连接
从来没想到我们会扒拉nohup文件去找我们想要的数据,然后往数据库中添加。。。...
从来没想到我们会扒拉nohup文件去找我们想要的数据,然后往数据库中添加。。。...
17 0
|
1月前
|
Linux 应用服务中间件 nginx
【PUSDN】centos查看日志文件内容,包含某个关键字的前后5行日志内容,centos查看日志的几种方法
【PUSDN】centos查看日志文件内容,包含某个关键字的前后5行日志内容,centos查看日志的几种方法
49 0
|
1月前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
51 0
|
1月前
|
Dubbo Java 应用服务中间件
Dubbo日志文件输出到指定目录 如何定义?
Dubbo日志文件输出到指定目录 如何定义?
|
1月前
|
Dubbo Java 应用服务中间件
Dubbo日志文件输出到指定目录 如何定义?
Dubbo日志文件输出到指定目录 如何定义?