码迷,mamicode.com
首页 > 数据库 > 详细

oracle dataguard 之nologing

时间:2017-06-22 16:49:19      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:oracle dataguard nologging

管理部分

如果没有启用database force logging,则备库对/*+ append */操作,nologging操作,会报坏块;

建议表空间force logging或者database force logging;

测试:

select force_logging, tablespace_name
  from dba_tablespaces
 where tablespace_name in
       (select default_tablespace from dba_users where username = ‘SCOTT‘);
------------------------------
FORCE_LOGGING	TABLESPACE_NAME
NO	TEST
create table t1 noglogging as select * from user_tables;

备库查询:

select * from t1;
ORA-01578: ORACLE data block corrupted (file # 8, block # 483)
ORA-01110: data file 8: ‘/data/db/test1.dbf‘
ORA-26040: Data block was loaded using the NOLOGGING option

但以下是可以的

select * from t1 where rownum<1

主库收集下表信息:

begin
  dbms_stats.gather_table_stats(ownname=>‘SCOTT‘,tabname=>‘T1‘,cascade=>TRUE);
  end
select table_name,num_rows,logging from  user_tables where table_name=‘T1‘;

统计信息也是同步过来的;也就是表结构啥都是正常的,就是这个表的数据同步不了;

解决办法:

主库把表删了重建,或者把相应的数据文件做恢复;


--相关sql


alter database force logging;
select force_logging from dba_tablespaces;
select force_logging from v$database;
alter tablespace test force logging;
select  logging,table_name,tablespace_name from user_tables where table_name =‘TEST‘;
alter tablespace test no force logging;
select tablespace_name,logging,force_logging from dba_tablespaces;


本文出自 “snowhill” 博客,请务必保留此出处http://snowhill.blog.51cto.com/339421/1940875

oracle dataguard 之nologing

标签:oracle dataguard nologging

原文地址:http://snowhill.blog.51cto.com/339421/1940875

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!