在 Ubuntu 上使用 Oracle 数据库 导入数据,常见方式取决于你的数据格式和 Oracle 版本。下面按最常用场景给你一个清晰指引。
impdp(数据泵导入,推荐 ✅)oracle 用户sudo su - oracle
sqlplus / as sysdba
CREATE OR REPLACE DIRECTORY imp_dir AS '/u01/oradata/imp';
GRANT READ, WRITE ON DIRECTORY imp_dir TO your_user;
EXIT;
把数据文件放到:
/u01/oradata/imp/
impdp your_user/your_password \
DIRECTORY=imp_dir \
DUMPFILE=export.dmp \
LOGFILE=import.log
常见参数:
REMAP_SCHEMA=old_user:new_user
REMAP_TABLESPACE=old_ts:new_ts
TABLE_EXISTS_ACTION=REPLACE
imp(传统导入,老版本)imp your_user/your_password \
FILE=export.dmp \
FROMUSER=old_user \
TOUSER=new_user \
LOG=import.log
⚠️ 新版本 Oracle 已不推荐
sqlplus your_user/your_password @data.sql
sqlplus your_user/your_password
@/path/to/data.sql
sqlldr your_user/your_password control=load.ctl
load.ctl 示例:
LOAD DATA
INFILE 'data.csv'
INTO TABLE emp
FIELDS TERMINATED BY ','
( id, name, salary )
CREATE TABLE ext_emp
ORGANIZATION EXTERNAL (...)
| 问题 | 解决 |
|---|---|
| ORA-12162 | 设置 ORACLE_SID |
| ORA-39002 | Directory 权限问题 |
| 中文乱码 | 设置 NLS_LANG |
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
你可以告诉我:
.dmp / .sql / .csv)我可以给你精确命令模板。