ORA-38857: cannot mark redo thread string as enabled
Cause: The standby switchover or failover operation failed because it needs to mark a redo thread as enabled. However, the control file was recreated with a MAXINSTANCES value smaller than the thread number of the redo thread.
Action: Recreate the control file with a larger MAXINSTANCES value.
ORA-38857:不能将重做线程字符串标记为启用。
ORA-38857是更改数据库重做线程设置时可能发生的错误。该错误表明必须更新重做线程设置中指定的重做线程字符串在被标记为启用。
官方解释
ORA-38857 是一个警告级别的错误,Oracle 数据库服务器可能会在更改数据库重做线程设置时出现此错误,该错误表明必须更新重做线程设置中指定的重做线程字符串在被标记为启用。
错误 ORA-38857 通常出现在当用户试图更改数据库重做线程设置时,或者在重做日志文件发生变化时。 由于当前的重做线程没有被标记为启用状态,将发生 ORA-38857 错误。
如果出现了 ORA-38857 错误,要对该问题进行处理,可以通过以下步骤来解决:
1.确定错误的重做线程的名称以及重做线程的参数。
2. 运行 ALTER SYSTEM SET LOG_ARCHIVE_DEST_n=’ service=NAME DIRECT_ORY=PATH’ ,并确保未受影响的重做线程被设置为 ENABLE。
3. 运行 ALTER SYSTEM ENABLE RESTRICTED SESSION,以防止未正确配置的重做线程被更改。
4.运行 ALTER SYSTEM SET LOG_ARCHIVE_DEST_n=’ service=NAME DIRECT_ORY=PATH’,将重做线程重新设置为 ENABLE。
5. 运行 ALTER SYSTEM SET LOG_ARCHIVE_START=TRUE,以使重做线程生效。
6. 验证重做线程已被正确更改,运行 ALTER SYSTEM SET LOG_ARCHIVE_STATUS_n,n 为重做线程的编号。