Category复制

impdp报错ORA-39083 ORA-02304 Object type TYPE failed to create

impdp报错ORA-39083 ORA-02304 Object type TYPE failed to create

环境
Red Hat Enterprise Linux Server release 5.8 (Tikanga)
ORACLE Release 11.2.0.3.0 Production

我用expdp,impdp复制一个shema,在impdp导入的时候报错
ORA-39083: Object type TYPE failed to create with error:
ORA-02304: invalid object identifier literal
Failing sql is:
CREATE TYPE “GENIDCDEV2”.”ARRAY_TYPE2″ OID ‘0367306C82464BF1E0534E092D0A4AB5′ is array(48) of varchar2(255)

查看官方文档的impdp章节,搜索OID,发现了如下有用的内容
查看impdp help=y 可以使用一个参数:transform

TRANSFORM
Enables you to alter object creation DDL for objects being imported.

OID – If the value is specified as n, the assignment of the exported OID during the
creation of object tables and types is inhibited. Instead, a new OID is assigned.
This can be useful for cloning schemas, but does not affect referenced objects. The
default value is y.

这个参数默认是Y,如果改成N,那么导入的时候会把各个对象重新赋予新的OID。
transform=oid:n
这样,再用impdp导入的时候就不会出现
ORA-39083,ORA-02304
注意:exp/imp不支持oid转换,又是一个使用数据泵的优势。

因此我想到了两种方法可以解决问题
1.用下面impdp语句重新导入
impdp system/’*****’ directory=dir_lisx REMAP_SCHEMA=WMSUAT:GENIDCDEV2 dumpfile=wmsuat20150304.dump include=TYPE transform=oid:n logfile=impdp_wmsuat20150304_2.log

Import: Release 11.2.0.3.0 – Production on Wed Mar 4 14:55:40 2015

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Master table “SYSTEM”.”SYS_IMPORT_FULL_01″ successfully loaded/unloaded
Starting “SYSTEM”.”SYS_IMPORT_FULL_01″: system/******** directory=dir_lisx REMAP_SCHEMA=WMSUAT:GENIDCDEV2 dumpfile=wmsuat20150304.dump include=TYPE transform=oid:n logfile=impdp_wmsuat20150304_2.log
Processing object type SCHEMA_EXPORT/TYPE/TYPE_SPEC
Job “SYSTEM”.”SYS_IMPORT_FULL_01″ successfully completed at 14:55:45
2.手工重建刚才导入失败的type
核查type的ddl语句
SELECT dbms_metadata.get_ddl(‘TYPE’,’ARRAY_TYPE2′,’WMSUAT’) from dual ;

CREATE OR REPLACE TYPE “WMSUAT”.”ARRAY_TYPE2″ is array(48) of varchar2(255) ;

记得重新编译一下新clone的schema
EXEC DBMS_UTILITY.compile_schema(schema => ‘GENIDCDEV2’);

DataGuard的cascading standby(1拖N的模式)

在Oracle11.2.0.2版本后,dataguard支持级联模式传输日志,即日志传输可以从A到B,B到C,B到D,等等,无穷无尽

cascading standby可以分担主库传输日志到多个备库的压力。

一个cascading standby可以传输日志到多达30个standby库,这些库可以使物理standby,逻辑standby,快照standby中的任意一种。

cascading standby会有一定的延迟,因为cascading的动作并不是主库发出的,而是cascading standby库收到主库日志后,本地归档了standby日志,日志才能级联发送到其他standby库,对于前面提到的日志可以从A到B,B到C,B到D,这个cascading standby库就是B库,cascade standby库指C,D。

Continue reading

利用快照(物化视图)同步数据

为了维护整个系统应用表的一致性,可能客户会提出了这样的业务需求,对于系统的应用表采用统一维护,即在一台服务器上维护。例如在位置1(数据库rptdw,用户kr)上维护应用表,其他位置(数据库etldb1,用户etlmon和数据库etldb2,用户etlmon)可以直接使用这些应用表,也就是说在位置1具有对应用表插入、删除和更新的能力,而在其他地方只能有查询的能力。

snapshot快照正好满足此要求,注意此快照非ORA-01555报错里的快照过旧的快照
而是SNAPSHOT,9i以后叫物化视图
Continue reading

GoldenGate数据迁移+flashback_scn

OGG数据迁移+flaSHback_scn

GoldenGate是一种基于于日志的结构化数据复制方式,它通过解析源数据库在线日志或归档日志获得数据的
增删改变化(数据量只有日志的四分之一左右),再将这些变化应用到目标数据库,实现源数据库与目标数据库同步、双活。
GoldenGate公司的领先技术就是逐渐为大家所知的交易数据管理Transactional Data Management (TDM),
可以在异构的IT基础结构之间实现大量数据的秒一级的数据捕捉、转换和投递。GoldenGate可以支持几乎所有常用操作系统如和数据库平台

原理图:
goldengate1

下面的记录是一个简单的单项复制的配置,基于flashback_scn
迁移对象,两个schema: HR,SH
Continue reading

© 2019 Init dba

Theme by Anders NorenUp ↑