为什么在FORCELOGGING参数为TRUE的情况下,LOGGING参数还能为NOLOGGING呢,这两个参数有联系麽,分别什么作用?

解决方案 »

  1.   

    表空间、表上都有LOGGING的选择,其中表的可以覆盖表空间的。
      

  2.   

    if FORCE LOGGING mode is in effect for the database, it takes precedence over the tablespace setting. If it is not in effect for the database, then the individual tablespace settings are enforced. Oracle recommends that either the entire database is placed into FORCE LOGGING mode, or individual tablespaces be placed into FORCE LOGGING mode, but not both.
    上面的文字摘自oracle文档,意思是说:当dababase设置为force logging模式时,是优先于表空间的设置的。如果在数据库上设置了force logging,那么将忽略表空间上的logging状态设置。所以他建议你将整个库设置为force logging,或者个别表空间设置为force logging,担不是同时都设。
    logging实际上是对象的一个属性,用来表示在创建对象时是否记录redo日志,包括在做dml时是否记录redo日志。一般表上不建议使用nologging,在创建索引或做大量数据导入时,可以使用nologging
      

  3.   

    通常来说data guard环境下是必须设置为force logging的。否则会出现 block corruption的情况。
      

  4.   

    通常来说data guard环境下是必须设置为force logging的。否则会出现 block corruption的情况。
      

  5.   

    通常来说data guard环境下是必须设置为force logging的。否则会出现 block corruption的情况。