在 Linux 环境下,Oracle 数据库导入数据常用的方法有以下几种,按使用频率和场景从常见到进阶说明:
前提:数据是通过 EXPDP 导出的(.dmp 文件)
mkdir -p /u01/dump
cp yourfile.dmp /u01/dump/
sqlplus / as sysdba
CREATE OR REPLACE DIRECTORY dp_dir AS '/u01/dump';
GRANT READ, WRITE ON DIRECTORY dp_dir TO your_user;
impdp your_user/your_password \
DIRECTORY=dp_dir \
DUMPFILE=yourfile.dmp \
LOGFILE=import.log
常见参数:
REMAP_SCHEMA=old_user:new_userREMAP_TABLESPACE=old_ts:new_tsTABLES=table1,table2CONTENT=DATA_ONLY适用于老版本 EXP 导出的文件
imp your_user/your_password \
FILE=yourfile.dmp \
LOG=import.log \
FROMUSER=old_user \
TOUSER=new_user
适用于 CSV / TXT 文件
load.ctlLOAD DATA
INFILE '/home/oracle/data.csv'
INTO TABLE test_table
FIELDS TERMINATED BY ','
(id, name, age)
sqlldr your_user/your_password control=load.ctl log=load.log
sqlplus your_user/your_password @script.sql
或:
@/home/oracle/script.sql
REMAP_TABLESPACENLS_LANG 环境变量如果你能告诉我:
我可以给你更精确的导入命令。