oracle数据被不小心删除了,在网上看到很多关于oracle数据恢复的文章,理论性的东东很多,看的我七荤八素,后来找来找去找到一条,现在给大家总结一下
首先先讲一下我这个“测试的场景”啊,呵呵,是我不小心删了某个表的数据,想要恢复我原来的数据怎么办?数据库用的是oracle 9i,其他版本不知道啊,
1.用plsql,或者toad查询数据sql是这样的
sql:select * from 表名 as of timestamp sysdate-(想要恢复的时间点)/总时间,解释一下这个sql 比如我删除的数据距离现在差不多7分钟,那这个sql就是 select * from 表名 as of timestamp sysdate -7/1440 ,这个sysdate -7/1440是怎么算的呢,60(分钟)*24(一天24个小时)=1440,7就是7分钟,那-7/1440就是据现在7分钟之前
2.查找出这些数据后,将数据导出成csv格式
3.用toad导入数据
下面是从百度上面摘抄的关于toad导入的文档
图片粘不过来,不过根据文字可以操作啦!
入库步骤为:
在TOAD登录界面中输入正确的user和password,选择正确的database; 登录数据库服务器。 界面如下
点击 即可登录。
一、 点击菜单栏中的database,选择其中的import,里面有两个选项:source files 和table data,此处我们选择table data
二、出现以下界面,选择schema、对象类型、对象名称和提交方式:
Schema选择blts,对象类型就如tables,对象名称就如 EXTERN_PERSONAL_TAX;一般选择所有记录完成后提交,这样保持数据库的一致性。
三、将上面的四个选项选择后 ,按钮show data可以使用,如下所示:
点击show data,就会显示出EXTERN_PERSONAL_TAX中的数据。
这里重点讲一下的使用,点击该按钮之后,你会发现以下界面:
这里重点讲一下的使用,点击该按钮之后,你会发现以下界面:
这里选择文件的格式txt
然后点击next,出现以下界面:
在此处选择待导入的数据文件,选择文件来源,默认是ANSI(windows), 点按钮:
在弹出界面中选择文件类型 .CSV
点 如下界面,选择以“逗号”作为字段间的分割符号:
然后点击next。
修改first row为2 。
注意 first row 中的数字代表待导入*.csv 文件中的数据起始行号。
注意 first row 中的数字代表待导入*.csv 文件中的数据起始行号。
点击next出现以下界面:
在这里需要将外部文件的列的说明一下,以便与数据库中的字段相对应起来,如果顺序与数据库一致可以采用automap,不一致需要修改的时候点击每列后面的符号,然后选中相应的列即可。 界面如下:
数据库Extern_personal_tax表结构如下:
个人所得税申报数据表(Extern_personal_tax)
(
registerno VARCHAR2(50 BYTE), // 税务登记证号
declarey VARCHAR2(4 BYTE), // 申报年份
relatephone VARCHAR2(50 BYTE), //联系电话
allpeople NUMBER(38), //本单位总人数
alltaxpayer NUMBER(38), //本单位纳税人数
incomeall NUMBER(18,2), //收入总额
taxnum NUMBER(18,2), //税额
declarem VARCHAR2(2 BYTE), // 申报所属月份
JSJDM VARCHAR2(20 BYTE) // 计算机代码
)
然后一路点击next即可。 在如下界面中 点击 “execute”:
进度条提示:
导入完成提示:
最后点击菜单栏中的提交按钮。
界面如下:
这样就可以将excel文件简单的导入到oracle中。方法简单,无需写任何代码或者控制文件,这样比较方便一些。