oracle创建逻辑standby数据库.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
oracle创建逻辑standby数据库

oracle创建逻辑standby数据库 1 第一步:确定主数据库中是否包含逻辑standby数据库不支持的数据类型和表。 以下是逻辑standby数据库支持的类型: CHAR NCHAR VARCHAR2 and VARCHAR NVARCHAR2 NUMBER DATE TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE INTERVAL YEAR TO MONTH INTERVAL DAY TO SECOND RAW CLOB BLOB 逻辑standby数据库不支持的类型包括: NCLOB,LONG,LONG RAW, BFILE, ROWID和UROWID,以及用户自定义的类型,包括对象类型,REF类型,varray和嵌套表。如果存在表含有这些类型的字段,当逻辑standby数据库对这张表应用DML操作时就会报错。 逻辑standby数据库不支持的表和序列: SYS用户的表和序列; 含有不支持数据类型的表; 建有函数索引的表; 建有物化视图的表; 全局临时表(Global Temporary Table)。 可以通过查询视图DBA_LOGSTDBY_UNSUPPORTED来确定主数据库中是否含有不支持的对象: SQL SELECT * FROM DBA_LOGSTDBY_UNSUPPORTED; 如果主数据库中含有不支持的对象,日志实施服务进程(Log Apply Service)在向standby数据库实施redo log时会自动排除这些对象。 1.2 第二步:确定主数据库中表的所有数据记录是否都能被唯一定位 为了维护standby数据库,SQL实施操作进程必须能够为一定位到主数据库上更新的每一条记录。为了能使主数据库上的变化数据能高效和正确的实施到standby数据库上,Oracle建议对每张表都建立主键。 大多数表都必须有了主键或者没有空值的唯一约束,否则,补充日志(supplemental logging 在第四步会激活)会自动收集定位在主数据库上更新的记录的信息。通过补充日志,那些能够唯一定位记录的信息会加到归档redo日志中的每一个更新事务中,这样,日志实施服务进程就能维护standby数据库了。 可以通过以下步骤来确保SQL实施操作进程能唯一定位表的记录: 1、 查询视图DBA_LOGSTDBY_NOT_UNIQUE来定位哪些表没有主键货无空值的唯一约束: SQL SELECT OWNER, TABLE_NAME, BAD_COLUMN FROM DBA_LOGSTDBY_NOT_UNIQUE; 以上查询会返回用户名、表名以及通过Y和N来标识的字段BAD_COLUMN: ? 如果BAD_COLUMN的值为Y,表示这张表的字段使用一个极大的数据类型,如LONG。如果有两条这样的记录存在表中(除LOB字段外),这张表就无法被正确维护。 ? 值为N表示表含有足够的信息来维护standby数据库上的表(但是却没有主键或无空值约束)。然而,如果你增加了主键,日志传输服务进程(Log Transport Service)和SQL实施操作进程将会更高效。 2、 在必要的情况下增加主键以提高效率 为了维护standby数据库上的表,补充日志功能会自动为redo日志中的每一个更新表操作增加字段数据,具体如下: ? 如果表已经有主键或者无空值的唯一索引,向redo日志中添加的信息将最少。 ? 如果表没有主键或无空值的唯一索引,补充日志功能会通过向redo日志中的所有行都添加相应的值为它增加唯一健值。然而,这个自动增加的键值会增加写入到redo日志中的信息。 3、 在必要的情况下,在表上创建非激活依赖的约束。 如果表在视图DBA_LOGSTDBY_NOT_UNIQUE中可以查到,它又是一张会被频繁更新的表。可以通过创建一个非激活依赖的约束在表上来避免通过主键维护表,以提高redo日志的性能。一个非激活依赖的约束可以为SQL实施操作进程提供更多的信息,而不会增加在主数据库上的索引成本。 确保主数据库是运行在归档模式并且归档已经激活,可以通archive log list命令确认归档是否激活: SQL ARCHIVE LOG LIST; Database log mode No Archive Mode Automatic archival Disabled Archive destination /oracle/dbs/arch Oldes

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档