在 Linux + Oracle 环境下,“导数据”通常指 数据导出/导入,Oracle 最常用的是 exp / imp(传统) 和 expdp / impdp(数据泵,推荐)。下面按常见场景说明。
以 sys 或具有 DBA 权限用户登录:
sqlplus / as sysdba
创建目录对象(指向 Linux 目录):
CREATE OR REPLACE DIRECTORY dp_dir AS '/u01/oracle/dpdump';
GRANT READ, WRITE ON DIRECTORY dp_dir TO scott;
Linux 上创建目录并赋权:
mkdir -p /u01/oracle/dpdump
chown oracle:oinstall /u01/oracle/dpdump
expdp scott/tiger@orcl \
DIRECTORY=dp_dir \
DUMPFILE=scott_full.dmp \
LOG=scott_exp.log \
SCHEMAS=scott
expdp system/system@orcl \
DIRECTORY=dp_dir \
DUMPFILE=full.dmp \
LOG=full_exp.log \
FULL=Y
expdp scott/tiger@orcl \
DIRECTORY=dp_dir \
DUMPFILE=emp.dmp \
TABLES=emp
impdp scott/tiger@orcl \
DIRECTORY=dp_dir \
DUMPFILE=scott_full.dmp \
LOG=scott_imp.log \
SCHEMAS=scott
impdp system/system@orcl \
DIRECTORY=dp_dir \
DUMPFILE=scott_full.dmp \
REMAP_SCHEMA=scott:newuser
REMAP_TABLESPACE=old_ts:new_ts
exp scott/tiger@orcl file=/u01/oracle/dpdump/scott.dmp owner=scott
imp scott/tiger@orcl file=/u01/oracle/dpdump/scott.dmp full=y
⚠️ 新版本 Oracle 已不推荐,仅用于老系统。
expdp scott/tiger CONTENT=METADATA_ONLY
expdp scott/tiger CONTENT=DATA_ONLY
expdp system/system FULL=Y PARALLEL=4
EXP_FULL_DATABASE / IMP_FULL_DATABASEDIRECTORY 和 Linux 路径REMAP_TABLESPACE如果你能说明:
我可以给你 精确命令模板。