Oracle的dataguard提供了远程容灾能力,有二种可用方式,逻辑备用数据库、物理备用数据库。物理模式谁都可以建,采用的redo apply工作方式。而逻辑数据库则不一定,一些特定的数据类型并不支持。所以,在做逻辑数据库时,首先需要检查数据库中是否存在逻辑备用数据库不支持的数据类型。

 

数据类型(不支持):

BFILE

Collections (including VARRAYS and nested tables)

Encrypted columns

Multimedia data types (including Spatial, Image, and Context)

ROWID, UROWID

User-defined types

XMLType

 

存储类型(不支持):

the segment compression storage type

PL/SQL包(不支持):

DBMS_JAVA, DBMS_REGISTRY,

DBMS_ALERT, DBMS_SPACE_ADMIN,

DBMS_REFRESH, DBMS_REDEFINITION,

DBMS_SCHEDULER, and DBMS_AQ

 

方法很简单,通过下面的查询,即可查询不支持的表、视图、序列:

SELECT OWNER FROM DBA_LOGSTDBY_SKIP WHERE

STATEMENT_OPT = 'INTERNAL SCHEMA';

SELECT DISTINCT OWNER,TABLE_NAME FROM

DBA_LOGSTDBY_UNSUPPORTED ORDER BY OWNER,TABLE_NAME;