平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“oracle数据库导入dmp文件实现方法方式”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
oracle数据库导入dmp文件
从线上正式环境导出的 dmp 文件,导入到本地 oracle 数据库。
1. 新建用户
CREATE USER hf_chip IDENTIFIED BY hf_chip;
2. 授予 CONNECT 和 RESOURCE 基本权限给新用户
GRANT CONNECT, RESOURCE TO hf_chip;
3. 新建表空间
CREATE TABLESPACE topprod DATAFILE '/home/oracle/datafile/hf_chip/hf_chip_datafile.dbf' SIZE 500M AUTOEXTEND ON;
从实现思路看,这里 topprod 是新表空间的名称,datafile.dbf 是数据文件的路径和名称,500M是初始大小,AUTOEXTEND ON表示数据文件能够自动扩展。
4. 将表空间和用户关联
GRANT UNLIMITED TABLESPACE TO hf_chip;
5. 用户注册
alter system register;
只有用户注册之后,才能用这个用户去导入,注册成功之后启动.
另起一个窗口:
cd /db/app/oracle/product/11.2.0/db_1/bin/
查看状态:
lsnrctl status
打开状态:
lsnrctl start
正确的情况,如下所示图:

status READY 是正确状态, UNKNOW是错误状态.
随后执行导入,另起一个窗口,用 oracle 用户,执行:
imp system/[email protected]:1521/orcl file=/u6/Back_hf_chip_20240606topprod.dmp TABLESPACES=topprod log=/u6/log/imp_topprod.log full=y ignore=y indexes=n
注意:
- 从实现思路看,我这里给了 /u6 文件夹和 /u6/log/ 都是 chmod 777 后的。
- 否则会报错。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多兼容脚本之家。
- Oracle导入导出dmp文件的方法对比及示例
- Oracle导入导出dmp文件具体示例
- navicat导入oracle导出的dmp文件
- oracle覆盖导入dmp文件的2种方法
- oracle用imp导入dmp文件的方法
- Linux下Oracle如何导入导出dmp文件详解