zoukankan      html  css  js  c++  java
  • Object type TYPE failed to create with error

    ORA-39083: Object type TYPE failed to create with error:
    ORA-02304: invalid object identifier literal
    Failing sql is:
    CREATE TYPE "PIVAS_TAIZHOU"."OBJECTIDLIST"   OID '55D573CC891E36AFE05011AC1D7F1C93' IS TABLE OF INTEGER;
    ORA-39083: Object type TYPE failed to create with error:
    ORA-02304: invalid object identifier literal
    Failing sql is:
    CREATE TYPE "PIVAS_TAIZHOU"."MIGR_REPORT_SUM_ROW"   OID '55D573CC890336AFE05011AC1D7F1C93' AS OBJECT
           (LABEL           VARCHAR2(50),
                SCHEMA_SUM      NUMBER,
            TABLE_SUM       NUMBER,
                    INDEX_SUM       NUMBER,
                    CONSTRAINT_SUM  NUMBER,
                    VIEW_SUM        NUMBER,
                    TRIGGER_SUM     NUMBER,
                    SP_SUM          NUMBER
            );

    对于create type失败,可在导入命令中末尾加上 transform=OID:N

    impdp test/test directory=dump_dir dumpfile=TZ_PIVAS_20190220.dmp logfile=TZ_PIVAS_20190220.log remap_schema=pivas:pivas_taizhou remap_tablespace=pivas:PIVAS_TAIZHOU table_exists_action=replace transform=OID:N

    可以参考下面的说明。

    大意就是说如果TRANSFORM参数设置成OID=N,表示在imp的时候,新创建的表或这个类型会赋予新的OID,而不是dmp文件中包含的OID的值。但是这个参数的默认值是OID=Y,因此在进行Imp的时候,新创建的表或者type会赋予同样的OID,如果是位于同一个数据库上的不同schema,那就会造成OID冲突的问题,因此解决这个问题也很简单,只需要在impdp的时候,显示设置transform 参数为OID=N既可以了。

  • 相关阅读:
    JEECG 不同(角色的)人对同样的字段数据,使用不同的字段验证规则
    CRM系统设计方案
    MySql concat与字符转义
    MYSQL 三元 函数
    Linux watchdog
    Prometheus & SoundCloud
    Docker存储驱动Device Mapper,Overlay,AUFS
    linux的nohup命令
    Eclipse Todo Tasks 任务试图
    Mysql drop function xxxx ERROR 1305 (42000): FUNCTION (UDF) xxxx does not exist
  • 原文地址:https://www.cnblogs.com/vipsoft/p/10405188.html
Copyright © 2011-2022 走看看