首页 > Linux操作系统 > Linux操作系统 > NOLOGGING模式下的操作
不使用NOLOGGING模式
SQL> set timing on
SQL> select * from redo_size
2 ;
VALUE
----------
29310912 --创建表前的redo的大小
已用时间: 00: 00: 00.03
SQL> create table a as select * from all_objects;
表已创建。
已用时间: 00: 00: 45.71
SQL> select * from redo_size;
VALUE
----------
37800216 --创建表后的redo的大小
已用时间: 00: 00: 00.01
SQL> select (37800216 - 29310912 )/1024/1024 || 'M' from dual;
(37800216-29310912)/
--------------------
8.09603118896484375M --产生的redo大小为
已用时间: 00: 00: 00.01
SQL>
使用NOLOGGIN模式
SQL> drop table t;
表已删除。
已用时间: 00: 00: 00.47
SQL> selet * from redo_size;
SP2-0734: 未知的命令开头 "selet * fr..." - 忽略了剩余的行。
SQL> select * from redo_size;
VALUE
----------
37819340
已用时间: 00: 00: 00.01
SQL> create table t
2 nologging
3 as
4 select * from all_objects;
表已创建。
已用时间: 00: 00: 45.66
SQL> select * from redo_size;
VALUE
----------
46359304
已用时间: 00: 00: 00.01
SQL> select (46359304-37819340)/1024/1024 ||'M' from dual;
(46359304-37819340)/1
---------------------
8.144344329833984375M
为什么比不用nologging产生的redo还多呢?
我的数据库是归档模式
SQL> show user;
USER 为 "SYS"
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 /u01/app/oracle/archivelog
最早的联机日志序列 22
下一个存档日志序列 24
当前日志序列 24
书上说在非归档模式下,nologging模式和非nologging模式没有区别。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7551038/viewspace-616806/ ,如需转载,请注明出处,否则将追究法律责任。