暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle数据泵导入及报错处理:ORA-31684: Object USER:"FUELMS" already exist

巴韭特锁螺丝 2023-08-15
891

1、一、报错信息:

    ORA-31684: Object type USER:"FUELMS" already exists
    ORA-31684: Object type SEQUENCE:"FUELMS"."SEQ_SYS_ENUM" already exists

    2、导入语句

    • impdp
      : 表示使用Oracle数据泵进行数据导入导出操作。

    • fuelMS/fuelMS@ORCL
      : 指定源数据库和目标数据库的连接信息,其中fuelMS
      是要导入的表空间名称,ORCL
      是目标数据库的实例名。

    • full=y
      : 表示完全导入模式,即导入所有数据和对象。

    • directory=dump_dir
      : 指定导出文件所在的目录,其中dump_dir
      是一个文件夹名称。

    • dumpfile=FUELMS_20230803160039.DMP
      : 指定导出文件的名称,其中FUELMS_20230803160039.DMP
      是一个日期时间戳加上文件扩展名的组合。

    • logfile=FUELMS_20230803160039.log
      : 指定日志文件的名称,其中FUELMS_20230803160039.log
      是一个日期时间戳加上文件扩展名的组合。

    • table_exists_action=replace
      : 指定当目标数据库中已存在同名表时的操作方式,此处为替换原有表。

    • exclude=user
      : 排除名为“user”的对象不被导入。

    • IGNORE=Y
      : 在导入过程中忽略错误。

    • REMAP_SCHEMA=old_schema:new_schema
      : 将源数据库中的旧模式映射到目标数据库中的新模式,其中“old_schema”是源模式的名称,“new_schema”是目标模式的名称。

      请注意,该命令需要在具有足够权限的用户下执行,并且需要确保目标数据库已经创建了相应的表空间和用户对象。

    这个命令将使用指定的转储文件进行完整导入,并将旧模式中

       排除用户及角色相关对象:exclude=user
      impdp fuelMS/fuelMS@ORCL full=y directory=dump_dir dumpfile=FUELMS_20230803160039.DMP logfile=FUELMS_20230803160039.log table_exists_action=replace exclude=user
        忽略报错并继续:
        impdp fuelMS/fuelMS@ORCL full=y directory=dump_dir dumpfile=FUELMS_20230803160039.DMP logfile=FUELMS_20230803160039.log table_exists_action=replace exclude=user IGNORE=Y
          重新映射模式:REMAP_SCHEMA=old_schema:new_schema
          impdp fuelMS/fuelMS@ORCL full=y directory=dump_dir dumpfile=FUELMS_20230803160039.DMP logfile=FUELMS_20230803160039.log table_exists_action=replace exclude=user IGNORE=Y REMAP_SCHEMA=old_schema:new_schema

          3、查询数据库的模式信息

            SELECT sys_context('USERENV', 'CURRENT_SCHEMA') FROM dual;

            在 Oracle 数据库中,模式(schema)是一个数据库用户拥有的一组逻辑数据结构或模式对象的集合。模式对象包括表、视图、索引、序列、过程、函数、包、触发器等。一个数据库用户拥有一个与其用户名相同的模式。

            您可以使用数据字典视图来查询有关模式的信息。例如,您可以使用 USER_OBJECTS
             视图来查询当前用户拥有的所有模式对象:


              SELECT object_name, object_type
              FROM user_objects;

              复制

              上述语句将返回当前用户拥有的所有模式对象的名称和类型。

              您还可以使用 ALL_OBJECTS
               视图来查询当前用户可以访问的所有模式对象,或使用 DBA_OBJECTS
               视图来查询数据库中所有模式对象的信息。

              文章转载自巴韭特锁螺丝,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论