共计 1368 个字符,预计需要花费 4 分钟才能阅读完成。
丸趣 TV 小编给大家分享一下 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_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;
以上是“oracle dataguard 之 nologing 怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!