zoukankan      html  css  js  c++  java
  • Oracle学习笔记:创建logical standby

    和physical创建类似,此处只标明logical standby特殊的地方。

    logical standby和physical standby最大的不同在于:它是从redo文件中抽取sql应用到logical database上standby数据库和primary、physica数据库在系统结构角度上是不同的,他可以实时处于open状态可以有自己的辅助数据库模式对象!但由于抽过sql的限制使得logical database 和primary库有本质的不同:可以认为logical database只是提供基础的 data 冗余保护,而不是完整的database应用保护!理解了这一点,也就不难理解创建logical standby数据库的诸多限制了!

    创建logical standby database的限制:

    1. 许多oracle的数据类型不被支持:bfile、encryped columns、rowid、urowid、xmltype、object、varrays、nested table、user-defined type
    2. 采用压缩段存储结构的表不被支持:segemnt compression
    3. 需要修改metadata的pls/sql包、过程等等不被支持:如dbms_java、dbms_alert、dbms_redefinition等等......
    4. 许多的sql语句不被支持:alter database、create database link等等......
    5. 表数据需要有唯一性:这里面就涉及下面的具体检测、解决处理
    • 检测数据类型是否支持:select * from dba_logstdby_unsupported
    • 检测表数据是否唯一性:select * from dba_logstdby_not_unique
    • 检测补充日志记录是否打开:selelct *  from v$database,查看sup、sup列
    • 打开supplemental logging 功能:execute dbms_logstdby.build;
    • 打开、关闭 supplemental logging 所有data数据:alter database {add|drop} supplemental log data
    • 打开、关闭 supplemental logging 所有data数据:alter database {add|drop} supplemental log data (all)columns
    • 打开、关闭 supplemental logging 所有唯一性列数据:alter database {add|drop} supplemental log data ({[primary key]  [unique] [foreign key] })columns
    • 打开、关闭 supplemental logging for plsql replication:alter database {add|drop} supplemental log data for procedural replication
    • 为可以定义unique约束的表 创建指示primary key:alter table user_table_name add primary key (column,,) rely disable

    6.在创建logical standby之前必须执行logminer字典信息的初始化动作:execute dbms_logstdby.build;并且该过程会自动启用primary database的supplemental logging功能!

    7.physical standby 只能单向转换为 logical standby ,反之不可以!

     

    创建logical stanby 的基本步骤

    1. 创建physical standby
    2. 在primary上执行: exec dbms_logstdby.build;
    3. 在physica standby上执行:alter database recover to logical standby new_dbname;  --注意必须是新的数据库名。注意该操作可能不成功,应观察standby的alter.log。我就遇到缺失 较早的归档日志 的情况。
    4. 打开logical standby database:使用resetlogs的open操作
  • 相关阅读:
    AxureRP的学习
    http状态码的含义
    10.mongoDB给所有文档添加字段
    ip正则匹配
    express使用socketIO,前后端跨域
    express后端配置,实现跨域
    https带来的express后台部署到服务器所引发的问题
    前台:VueSocketIOExt+socket.io-client,后台socket.io的聊天环境搭载
    即时通讯框架SocketIO
    9.mongoDB新增文档,若文档已存在,则不新增,若文档不存在,则新增
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/1409480.html
Copyright © 2011-2022 走看看