题主是否想询问“excel也能像数据库一样回滚 *** 作吗”?能。通过查询excel软件说明得知,使用Excel提供的“宏”功能可以对表格行进行回滚 *** 作。使用多个工作表来存储信息,分别记录当前的状态和先前的状态,这样就可以实现回滚 *** 作。
数据库恢复的三种方式
数据库可能因为硬件或软件(或两者同时)的故障变得不可用,不同的故障情况需要不同的恢复 *** 作。我们必须决定最适合业务环境的恢复方法。在数据库中恢复有3种类型或方法,即应急(crash)恢复、版本(version)恢复和前滚(rool forward)恢复。
应急恢复
应急恢复用于防止数据库处于不一致或不可用状态。数据库执行的事务(也称工作单元)可能被意外中断,若在作为工作单位一部分的所有更改完成和提交之前发生故障,则该数据库就会处于不一致和不可用的状态。这时,需要将该数据库转化为一致和可用的状态。
为此,需要回滚未完成的事务,并完成当发生崩溃时仍在内存中的已提交事务。如在COMMIT语句之前发生了电源故障,则在下一次重新启动并再次访问该数据库时,需要回滚到执行COMMMIT语句前的状态。回滚语句的顺序与最初执行时的顺序相反。
版本恢复
版本恢复指的是使用备份 *** 作期间创建的映象来复原数据库的先前版本。这种恢复是通过使用一个以前建立的数据库备份恢复出一个完整的数据库。一个数据库的备份允许你把数据库恢复至和这个数据库在备份时完全一样的状态。而从备份建立后到日志文件中最后记录的所有工作事务单位将全部丢失。
前滚恢复
这种恢复技术是版本恢复的一个扩展,使用完整的数据库备份和日志相结合,可以使一个数据库或者被选择的表空间恢复到某个特定时间点。如果从备份时刻起到发生故障时的所有日志文件都可以获得的话,则可以恢复到日志上涵盖到的任意时间点。前滚恢复需要在配置中被明确激活才能生效。
可以这样做:
alter table 表名 enable row movement;
flashback table 表名 to timestamp to_timestamp('2011-03-04 05:00:00','yyyy-mm-dd HH24:MI:SS');
以上就是需要回滚到某一日期的方法!
如果是 Oracle , 那么还有可能, 使用 Flashback Query 恢复得回来。
其他数据库, 就不大清楚了。
下面是一个 Oracle 恢复的例子:
SQL> CREATE TABLE test_fb_table (
2 ID int,
3 VAL VARCHAR2(10)
4 );
Table created
SQL> INSERT INTO test_fb_table VALUES (1, 'TEST');
1 row created
SQL> commit;
Commit complete
假如 数据被错误的删除/更新
需要检索某个时间点上,表原有的数据。
SQL> SELECT TO_CHAR(sysdate, 'yyyy-mm-dd hh24:mi:ss') FROM dual;
TO_CHAR(SYSDATE,'YYYY-MM-DDHH24:MI:SS'
--------------------------------------
2010-11-07 13:01:37
这里删除掉数据。
SQL> delete from test_fb_table;
1 row deleted
SQL> commit;
Commit complete
确认数据已经被删除。
SQL> select from test_fb_table;
no rows selected
方法一:
这里检索出,指定时间点上,指定表的数据情况。
SQL> select from test_fb_table
2 AS OF TIMESTAMP TO_TIMESTAMP('2010-11-07 13:01:37',
3 'yyyy-mm-dd hh24:mi:ss');
ID VAL
---------- --------------------
1 TEST
方法二:
使用 dbms_flashback下面的方法来切换。
SQL> conn system
Enter password:
Connected
SQL> select from hrtest_fb_table;
no rows selected
SQL> execute dbms_flashbackenable_at_time(-
> TO_TIMESTAMP('2010-11-07 13:01:37','yyyy-mm-dd hh24:mi:ss'));
PL/SQL procedure successfully completed
SQL> select from hrtest_fb_table;
ID VAL
---------- --------------------
1 TEST
SQL> execute dbms_flashbackdisable;
PL/SQL procedure successfully completed
SQL> select from hrtest_fb_table;
no rows selected
以上就是关于excel也行像数据库一样回滚 *** 作吗全部的内容,包括:excel也行像数据库一样回滚 *** 作吗、数据库恢复可以用哪些方法实现、数据库如何回滚到指定的批次等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)