打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
DataGuard - Logical Standby简明配置步骤

Logical Standby配置:

以下数据类型不被支持:

NCLOB

LONG

LONG RAW

BFILE

ROWID

UROWID

 

检查不被支持的表:

SQL> SELECT DISTINCT OWNER,TABLE_NAME FROM DBA_LOGSTDBY_UNSUPPORTED ORDER BY OWNER,TABLE_NAME;

 

以下操作不被支持:

ALTER DATABASE

ALTER SESSION

ALTER SNAPSHOT

ALTER SNAPSHOT LOG

ALTER SYSTEM SWITCH LOG

CREATE CONTROL FILE

CREATE DATABASE

CREATE DATABASE LINK

CREATE PFILE FROM SPFILE

CREATE SCHEMA AUTHORIZATION

CREATE SNAPSHOT

CREATE SNAPSHOT LOG

CREATE SPFILE FROM PFILE

CREATE TABLE AS SELECT FROM A CLUSTER TABLE

DROP DATABASE LINK

DROP SNAPSHOT

DROP SNAPSHOT LOG

EXPLAIN

LOCK TABLE

RENAME

SET CONSTRAINTS

SET ROLE

SET TRANSACTION

 

高级队列的管理和物化视图的刷新不被支持(DBMS_AQADM DBMS_MVIEW_REFRESH

 

Logical Standby要求每张表应该有Primary key 或者Unique index ,如果必须有没有唯一性标示的表,那么可以激活Primary库的supplemental logging属性,但是这样将会在redo log中记录该表中每一条记录的所有字段作为标示,会大大增加redo log的记录量。

 

检查没有唯一性标示的表:

SQL> SELECT OWNER, TABLE_NAME,BAD_COLUMN FROM DBA_LOGSTDBY_NOT_UNIQUE WHERE TABLE_NAME NOT IN (SELECT TABLE_NAME FROM DBA_LOGSTDBY_UNSUPPORTED);

 

如果可以确认表中有唯一标示的字段,但是又不想真正创建主键或者索引来增加更新的开销,那么可以创建disabled RELY类型的约束,比如:

SQL> ALTER TABLE mytab ADD PRIMARY KEY (id, name) RELY DISABLE;

 

检查supplemental logging是否已经被激活。

SQL> SELECT SUPPLEMENTAL_LOG_DATA_PK, SUPPLEMENTAL_LOG_DATA_UI FROM V$DATABASE;

 

用以下方法激活Primary库的supplemental logging属性:

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE INDEX) COLUMNS;

 

激活supplemental logging属性以后,作一次日志切换,保证当前日志中不包含非追加日志数据(nonsupplemental log)。

SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;

 

创建一个新的表空间,用于LogMiner,否则Logical Standby需要的对象将默认创建在SYSTEM表空间中。

SQL> CREATE TABLESPACE logmnrts DATAFILE ‘/disk1/oracle/dbs/logmnrts.dbf‘ SIZE 25M AUTOEXTEND ON MAXSIZE UNLIMITED;

SQL> EXECUTE DBMS_LOGMNR_D.SET_TABLESPACE(‘logmnrts‘);

 

关闭Primary,备份所有数据文件,传到Standby

 

启动Primary,创建logical standby database的数据字典

SQL> EXECUTE DBMS_LOGSTDBY.BUILD;

 

检查需要上传到Standby上的归档日志信息

SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;

SQL> SELECT NAME FROM V$ARCHIVED_LOG WHERE (SEQUENCE#=(SELECT MAX(SEQUENCE#) FROM V$ARCHIVED_LOG WHERE DICTIONARY_BEGIN = ‘YES‘ AND STANDBY_DEST= ‘NO‘));

 

NAME

--------------------------------------------------------------------------------

/opt/oracle/oradata/orcl/archive/1_29.dbf

 

修改PrimaryStandby上的tnsnames.oralistener.ora,配置方法跟Physical Standby中一样。

 

修改Standby上初始化参数中的fal_serverfal_client值。

 

设置Standby数据库

SQL> STARTUP MOUNT;

SQL> ALTER DATABASE GUARD ALL;

SQL> ALTER DATABASE REGISTER LOGICAL LOGFILE ‘/opt/oracle/oradata/orcl/archive/1_29.dbf‘;

SQL> ALTER DATABASE START LOGICAL STANDBY APPLY INITIAL;

 

初次启动Standby需要APPLY INITIAL,以后直接运行以下SQL启动和关闭Standby日志应用。

SQL> ALTER DATABASE STOP LOGICAL STANDBY APPLY;

SQL> ALTER DATABASE START LOGICAL STANDBY APPLY;

 

Primary作日志归档,测试整个环境是否设置成功。

 

检查Standby的日志应用情况:

SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME, DICT_BEGIN, DICT_END FROM DBA_LOGSTDBY_LOG ORDER BY SEQUENCE#;

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=59323

[点击此处收藏本文]   Kamus发表于 2004年08月03日 03:24:00
 
jaguarcts 发表于2004-10-28 17:45:00  IP: 218.20.57.*
设置Standby数据库

SQL> STARTUP MOUNT;

SQL> ALTER DATABASE GUARD ALL;

SQL> ALTER DATABASE REGISTER LOGICAL LOGFILE ‘/opt/oracle/oradata/orcl/archive/1_29.dbf‘;


执行这步时出错:
SQL> ALTER DATABASE GUARD ALL;
Database altered.

SQL> ALTER DATABASE REGISTER LOGICAL LOGFILE ‘/home/oracle/oradata/esal/archive/1_84.dbf‘;
ALTER DATABASE REGISTER LOGICAL LOGFILE ‘/home/oracle/oradata/esal/archive/1_84.dbf‘
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-01219: database not open: queries allowed on fixed tables/views only

知道什么原因吗?

 
lunar 发表于2004-11-30 11:50:00  IP: 61.141.158.*
逻辑standby,从性能和稳定上讲,还是不太成熟,目前国内只有某省移动用户一家在使用,如果使用quest的shareflex实现逻辑standby会比较好,国内有些客户反映还是可以的,另外虽然shareflex产品本身不支持lob对象,但是他们使用在standby节点重新执行主接点的变化(一些来自主接点的sql文本),所以有变通的方法解决,具体的可以参考quest的文档,呵呵

 
kamus 发表于2004-12-01 23:27:00  IP: 61.51.70.*
只用logical standby来作HA自然是不够的
但是用logical standby辅助physical standby来作查询服务器
倒是不错的手段

至于shareplex,因为就是基于redolog中的SQL
其实所有的实现都可以变通地去作
这个产品应该是比较有前途的
可惜就是太贵了
架不住dataguard是免费的啊:-)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Oracle Streams技术介绍&搭建
Oracle12c传统数据库模式 OGG
DG备库上做备库,并延迟应用日志
Oracle11g DataGuard配置与管理
DataGuard physical standby创建与维护
ORACLE 19.3 (DG 配置)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服