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;