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
视图来查询数据库中所有模式对象的信息。