Nologging操作对高可用性环境的影响

高可用性环境中无日志记录操作的影响

记录的操作必须为每个更改数据或撤消块生成重做,nologging操作指示数据库操作未记录在联机重做日志文件中。 即使仍然有少量无效重做记录写入在线重做日志文件,nologging操作也会跳过相应插入数据的重做生成。 由于以下原因,nologging可能非常有益:

*写入重做的数据大大减少

*可以大大减少插入大表或索引或LOB的时间

*为并行创建大型表或索引而提高了性能

-创建表...按选择(CTAS)

-创建索引

-ALTER TABLE ...移动分区

-ALTER TABLE ...分割分区

-ALTER INDEX ...分割分区

-ALTER INDEX ...重建

-ALTER INDEX ...重建分区

-在NOCACHE NOLOGGING中对非内部LOB进行INSERT,UPDATE和DELETE


SQL> create table TEST.T nologging as select num_rows from dba_tables; 
Table created. 
SQL> select count(*) from test.t; 
  COUNT(*)
----------
      1517 
SQL> create index my_index on TEST.T(NUM_ROWS) nologging; 
Index created. 
SELECT NAME, UNRECOVERABLE_CHANGE#,                
TO_CHAR (UNRECOVERABLE_TIME,'DD-MON-YYYY HH:MI:SS')
FROM V$DATAFILE; 
UNRECOVERABLE_CHANGE# TO_CHAR(UNRECOVERABLE_TIME,'DD'
--------------------- -------------------------------------------  
/oracle/oracle/oradata/oracle/orcl/system01.dbf
               451816 13-NOV-2007 02:53:21 
/oracle/oracle/oradata/oracle/orcl/undotbs10.dbf  
/oracle/oracle/oradata/oracle/orcl/trade_121.dbf
               451733 13-NOV-2007 02:50:13 
一旦重做应用(或介质恢复)处理了无效重做,它将标记备用数据库中所有相应的数据块已损坏,此外,当对引用这些数据块的任何数据执行查询时,备用数据库将在物理备用数据库上遇到损坏的块。

ORA-01578:ORACLE数据块损坏(文件#3,块#514)

ORA-01110:数据文件3:'/oracle/oracle/oradata/oracle/orcl/trade_121.dbf'

ORA-26040:使用NOLOGGING选项加载了数据块

但是,NOLOGGING适用于介质恢复或相应对象的恢复不重要的配置。

感谢和问候,

维诺德·萨达南丹(Vinod Sadanandan)

甲骨文数据库管理员

From: https://bytes.com/topic/oracle/insights/735690-impact-nologging-operations-high-availability-environments

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值