千家信息网

oracle dataguard之nologing怎么用

发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,小编给大家分享一下oracle dataguard之nologing怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!管
千家信息网最后更新 2024年09月30日oracle dataguard之nologing怎么用

小编给大家分享一下oracle dataguard之nologing怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

管理部分

如果没有启用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_NAMENO      TESTcreate 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;

以上是"oracle dataguard之nologing怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0