online redo log 和undo各有什么作用
答案:2 悬赏:20
解决时间 2021-02-12 01:21
- 提问者网友:呆萌心雨
- 2021-02-11 14:26
online redo log 和undo各有什么作用
最佳答案
- 二级知识专家网友:年轻没有失败
- 2021-02-11 15:52
REDO记录transaction logs,分为online和archived。以恢复为目的。 比如,机器停电,那么在重起之后需要online redo logs去恢复系统到失败点。 比如,磁盘坏了,需要用archived redo logs和online redo logs区恢复数据。 比如,truncate一个表或其他的操作,想恢复到之前的状态,同样也需要。
REDO是为了重新实现你的操作,而UNDO相反,是为了撤销你做的操作,比如你得一个TRANSACTION执行失败了或你自己后悔了,则需要用ROLLBACK命令回退到操作之前。回滚是在逻辑层面实现而不是物理层面,因为在一个多用户系统中,数据结构,blocks等都在时时变化,比如我们INSERT一个数据,表的空间不够,扩展了一个新的EXTENT,我们的数据保存在这新的EXTENT里,其它用户随后也在这EXTENT里插入了数据,而此时我想ROLLBACK,那么显然物理上讲这EXTENT撤销是不可能的,因为这么做会影响其他用户的操作。所以,ROLLBACK是逻辑上回滚,比如对INSERT来说,那么ROLLBACK就是DELETE了。
闪回恢复区是一个默认放置所有和备份恢复操作相关文件的地方。Oracle DBA可以使用Automatic Disk-Based Backup and Recovery,让数据库来管理备份存储的区域。
REDO是为了重新实现你的操作,而UNDO相反,是为了撤销你做的操作,比如你得一个TRANSACTION执行失败了或你自己后悔了,则需要用ROLLBACK命令回退到操作之前。回滚是在逻辑层面实现而不是物理层面,因为在一个多用户系统中,数据结构,blocks等都在时时变化,比如我们INSERT一个数据,表的空间不够,扩展了一个新的EXTENT,我们的数据保存在这新的EXTENT里,其它用户随后也在这EXTENT里插入了数据,而此时我想ROLLBACK,那么显然物理上讲这EXTENT撤销是不可能的,因为这么做会影响其他用户的操作。所以,ROLLBACK是逻辑上回滚,比如对INSERT来说,那么ROLLBACK就是DELETE了。
闪回恢复区是一个默认放置所有和备份恢复操作相关文件的地方。Oracle DBA可以使用Automatic Disk-Based Backup and Recovery,让数据库来管理备份存储的区域。
全部回答
- 1楼网友:萝莉姐姐鹿小北
- 2021-02-11 16:42
◆一:
c:/>sqlplus /nolog
◆二:
sql>connect /@instancename as sysdba;
◆三:
startup mount;
--启动实例,安装数据库,但不打开数据库,
可以开始操作控制文件、日志文件、数据文件等。
◆四:
select * from v$logfile;
--察看redo文件的信息
◆五;
select * from v$log;
--察看redo日志的状态,一般有unused,current,clearing,clearing-。
◆六:非当前(current)的未归档日志文件恢复alter database clear logfile group n;
--n就是日志组的顺序号。
归档日志文件恢复:
alter database clear logfile unarchived group n;
◆七;当前日志文件用上述方法不能恢复的话使用recover database until cancel。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯