I

impdb利用dblink远程导入

椰子ya Linux 2023-12-01

最近有个oracle数据库迁移的项目,数据量不大,所以采用impdb远程导入的方式进行

1、创建dblink

CREATE DATABASE LINK your_dblink
  CONNECT TO your_username IDENTIFIED BY your_password
  USING 'your_tns_entry';

2、创建表空间

CREATE TABLESPACE your_tablespace
  DATAFILE '/path/to/your_tablespace.dbf' SIZE 100M
  AUTOEXTEND ON NEXT 10M
  MAXSIZE UNLIMITED;

3、创建用户并授权

CREATE USER your_username
  IDENTIFIED BY your_password
  DEFAULT TABLESPACE your_tablespace
  TEMPORARY TABLESPACE temp_tablespace
  QUOTA unlimited ON your_tablespace;

grant exp_full_database to RFN;
grant imp_full_database to RFN; 
grant resource,connect to RFN;

3、导入

impdp User/Pass network_link=dblink_name schemas=schemas_name cluster=no exclude=statistics,grant parallel=5 TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y remap_schema=xxx:xxx remap_tablespace=xxx:xxx
  • User/Pass:指定连接到目标数据库的用户名和密码。
  • network_link=dblink_name:指定要用于导入的数据库链接名(dblink_name)。数据将通过此链接从源数据库导入。
  • schemas=schemas_name:指定要从源数据库导入的模式。
  • cluster=no:禁用导入到聚簇表。NO选项表示不将数据加载到聚簇表中。
  • exclude=statistics,grant:在导入过程中排除统计信息和授权的导入。
  • parallel=5:指定导入操作的并行度。在这种情况下,设置为5,这意味着导入将使用最多5个并行进程。
  • TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y:将导入转换为禁用导入对象的归档日志记录。Y表示“是”,启用此转换。
  • remap_schema=xxx:xxx:在导入期间指定模式的重新映射。属于源模式xxx的对象将被重新映射到目标模式xxx
  • remap_tablespace=xxx:xxx:在导入期间指定表空间的重新映射。原本位于源表空间xxx的对象将被重新映射到目标表空间xxx

4、更新统计数据

EXEC DBMS_STATS.GATHER_SCHEMA_STATS(ownname => 'XXX');
PREV
VDO的安装与使用
NEXT
通过RMAN清理断档归档日志