使用Oracle Enterprise Edition 19 c。
在测试环境中,我创建了一台运行Windows 2022服务器的物理机。长话短说,我一直在使用RAID阵列。在每次迭代之间,我关闭数据库,禁用服务,并将数据库移动到另一个驱动器。重新创建阵列后,我将数据移回并启动服务。
不幸的是,我正在切换的阵列具有不同的扇区大小。一个是512,另一个是4096。当从4096扇区大小移动到512扇区大小时,我可以设置参数“_DISK_SECTOR_SIZE_OVERRIDE”=TRUE并打开数据库。然后我创建了新的日志文件,这些日志文件的块大小为512字节。我删除了4096块大小的日志文件。
然而,当我做相反的尝试从512到4096,同样的程序不起作用。它不会打开数据库,并显示ora-312、ora-27040和osd-04001错误。
在尝试打开数据库时,我执行了“恢复数据库直至取消;“现在我必须在resetlogs模式下打开数据库。当我这样做时,它返回Ora-00344、ora-27040和osd-04001错误。
当我尝试在不打开数据库的情况下切换重做日志时,它告诉我数据库没有打开。
我怎样才能在不重新创建所有内容的情况下最好地从中恢复?
备注
我能够解决这个问题,安装另一个硬盘驱动器与512字节的部门,关闭数据库停止服务,复制数据库到其他驱动器。重新写驱动器(D:<=>E:),启动数据库在“C:“驱动器上创建新的重做日志文件,删除其他重做日志文件。然后我把所有东西都颠倒过来,把数据库放回RAID上,把重做日志文件留在C:上。
我会建议Oracle(在风中吐口水)让他们改变“alter database open resetlogs”不使用V$LOG中的值,并完全重新创建日志组和文件。
我没有把这个作为解决方案发布,因为它没有解决我的问题,但它确实让我解决了这个问题。
1条答案
按热度按时间vyu0f0g11#
在数据库关闭的情况下,删除(或移开)有问题的联机重做日志。
使用RMAN,恢复到最后一个可用的归档日志:
恢复过程将重新创建联机重做日志。请确保在数据库备份后立即进行另一次完整备份。