请问Oracle 的 数据操作写到那个log里面。
解决方案 »
- oracle的SID
- 关于oracle的日期字段查询的奇怪问题
- 关于Oracle Report 6i问题,非常急,请高手赐教
- 重建控制文件时,出现ORA-00600错误,急!!
- oracle中,使用PL/SQL编程输出A到Z之间的26个大写字母
- 还有一个问题,在linux下,要对oracle9i进行数据备份,一定要启动Intelligent Agent吗?还有其他方式吗?
- oracle的建库
- 请问:为什么不能以SYSDBA的身份连接ENTERPRISE CONSOLE控制台下的数据库??
- 急问概念性问题~~
- 我想在一个月内基本学会oracle,可以介绍一本快速入门的书吗?另外,在哪下载软件oracle?
- 新人求助!触发器的问题!
- 数据备份介绍点经验
filename varchar2) is
ifle_write_handle utl_file.file_type;
status_failure VARCHAR2(2000);
begin
ifle_write_handle := utl_file.fopen('DATA_PUMP_DIR', to_char(sysdate,'yyyymm')||filename, 'a');
utl_file.put(ifle_write_handle,
to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') ||' '|| filecontent);
utl_file.fclose(ifle_write_handle);
EXCEPTION
WHEN OTHERS THEN
status_failure := TO_CHAR(SQLCODE) || ': ' || SUBSTR(SQLERRM, 1, 980);
insert into system_proc_write_log
values
(filename, filecontent, status_failure, sysdate);
end;
REDO02.LOG
REDO03.LOG
是这个吗
UNDO记录在UNDO表空间(以前叫回滚段),用于事务处理的ROLLBACK等。
REDO记录在在线重做日志文件中(文件名类似:REDOxxx.LOG),主要用于数据库恢复。
在线REDO日志文件是重复使用的,只有开启了归档模式,才能在在线日志文件被覆盖之前归档保存。
/*
我们对数据库的insert,delete,update这三个操作会生成undo和redo
oracle redo:
oracle重做日志文件,分为两类:在线(online)和归档(archived)重做日志文件‘
万一实例或者介质失败,这两种日志都是用于恢复;
redo用于在失败时重放事物;
oracle undo:
在你对数据库进行修改时,数据库会生成undo信息,如果你执行的事物或者语句失败了,
或你在执行语句之后rollback了,生成的undo信息用来就可以帮助你将数据库恢复到修改
之前的样子。undo用于取消一条语句或者一组语句的作用。undo信息存储在undo segment中。
关于undo,其实就是将你修改的对象恢复到修改之前的状态:
对于insert,oracle会完成相应的delete,
对于delete,oracle会执行相应的insert,
对于update,oracle会执行一个反update,或者另一个update。redo和undo协同工作:
insert
insert into当你向表中写入数据是,也一并生成了undo和redo,undo保存在undo segment中,
redo保存在重做日志缓冲区中。如果commit了,那么重做日志缓冲区中的redo会全部写入磁盘中,
而且是永久的。但是undo segment中的undo信息并不会被刷新或者生成什么永久的文件,
当下一个事物重用这些undo segment时,上一次写入undo的信息就被刷新了。
update
与insert相比,update生成的undo量更大,因为undo肩负着如果事物语句失败,恢复数据的操作。
我们都知道,update其实是delete和insert两个操作组合而成的,所以,如果一旦事物失败,
undo信息将会非常有用。这就是update生成的undo比较大的原因。
update生成的redo在重做日志缓存区写满后也会写入磁盘。
delete
delete也会生成undo和redo,redo记录了操作过程和信息,undo用于如果用户操作完成后执行rollback。
commit
commit操作,将会把我们上面三个操作产生的redo写入重做日志文件里面,而undo则存在undo segment中,
直到下一个事物刷新这个undo segment
*/