我的服务器遭到了勒索软件.rapid的攻击,我的所有数据都已加密,幸运的是,我的oracle home文件夹尚未加密-而且-大多数文件包括 datafiles 文件夹和表空间仍然可以访问
有人可以告诉我如何恢复数据库对象吗? 没有可用的备份,只有oracle主文件夹-大多数-
编辑: 系统损坏了,我试图了解要收集和复制的女巫文件,这使我可以从另一个系统中恢复数据库文件
当我尝试登录 sqlplus 时,抛出以下错误:
'sqlplus'不被识别为内部或外部命令, 可操作的程序或批处理文件。 引用
答案 0 :(得分:2)
好的。如果您在服务器上找到一个init.ora
文件,那就是PFILE(初始化参数文件),这是将数据库轻松复制到新服务器的最后一件事。如果找不到,那没关系-会有点困难。只要有了数据文件,您最终就可以恢复数据库。
基本上是you'll want to follow steps 2-8 in the link I posted。您还可以在the Oracle guide to manually creating a database in Windows中找到一些有用的信息。我将带您了解他们。
sqlplus
,则可能最简单的方法是停止Windows服务。D:\app\Administrator\oradata\VTC\
CONTROL01.CTL
并将其命名为create_db.sql
(编辑:我假设这是控制文件的backup to trace
ascii版本,但听起来像这样是二进制文件)create_db.sql
。在显示CREATE CONTROLFILE REUSE DATABASE "MY_DB" NORESETLOGS
的地方,将其更改为CREATE CONTROLFILE SET DATABASE "MY_DB" RESETLOGS
。记下"MY_DB"
是什么-这是您的数据库名称。大多数人将其与SID相同。我通常会执行RESETLOGS
,丢弃旧的重做日志,但是如果可以的话,您可以尝试将它们与NORESETLOGS
保持在一起。RECOVER DATABASE
和ALTER DATABASE OPEN;
这两行。确保数据文件和日志文件的路径看起来正确。保存文件。init.ora
,我认为,尽管您以后要修复内存设置,但这个很小的功能将为您服务。在同一文件夹中创建它。DB_NAME=MY_DB INSTANCE_NAME=MY_DB SERVICE_NAMES=MY_DB CONTROL_FILES = ("D:\app\Administrator\oradata\VTC\CONTROL01.CTL") DB_FILES=100
创建Oracle数据库Windows服务。然后检查“服务”以确保其正在运行。
oradim -NEW -SID MY_DB -STARTMODE manual -PFILE "D:\app\Administrator\oradata\VTC\init.ora"
以SYSDBA身份登录到新的Oracle实例。还没有数据库。
cd D:\app\Administrator\oradata\VTC\
set ORACLE_SID=MY_DB
sqlplus / as sysdba
使用旧服务器中的控制文件作为脚本来创建数据库。
@create_db.sql
如果一切恢复正常,请运行:
alter database open