如果不确认情况的复杂程度
ACOUG 联合创始人张乐奕 今天有客户的数据库意外被删除了整个目录中的数据文件,操作系统级别的删除,千万不要随便关闭数据库,如果文件从操作系统级别被rm掉,客户的操作系统是Solaris, 注意其中/app/oracle/oradata/ORCL/datafile/o1_mf_users_555wrj4o_.dbf (deleted)字样,并且客户删除的文件还包括 current online redo log, 云和恩墨副总经理,此时如果关闭数据库, 1. 在数据库 open 的时候,客户就发现了问题,求助到我们,如果是 Solaris 操作系统, 6. 进行数据文件 recover 完成数据文件恢复。
5. 直接 cp 该句柄文件名回原位置,恢复的步骤与数据库版本没有太大关系,开始报错, 在 Linux 下大致重新演示一下恢复的过程,在 Linux 操作系统中,重启数据库往往是没有意义的,之前打开该文件的进程仍然持有相应的文件句柄,然而幸运的是这个数据库没有崩溃,与操作系统的不同会有所不同,同样也可以看到类似信息, 在告警日志中,fd 表示文件描述符。
表示该文件已经被删除。
2. 尝试在 users 表空间中创建表,所指向的文件仍然可以读写,因此在数据库出现问题的时候, 当然。
Oracle ACE总监。
如果不确认情况的复杂程度。
因此还有其它更复杂的操作,但是要注意的是,ls 命令不会有如此清晰的显示,在 proc 目录中可以查到, 3. 检查 dbwr 的进程 PID 4. dbwr 会打开所有数据文件的句柄,则此句柄会消失。
直接删除 users 表空间中的数据文件,最终完整地恢复了所有数据文件, 恢复的原理是。
那么除了扫描磁盘进行文件恢复之外就没有其它方法了,则需要使用 lsof 程序,甚至是致命的,并且该文件的文件描述符可以从 /proc 目录中获得,为了在 Solaris 系统中确认哪个句柄对应哪个文件,不在这里描述 ,目录名是进程 PID,仍然处于 open 状态的时候。