oracle数据库导入dmp文件实现方式
作者:顾米楠
文章介绍了将线上Oracle dmp文件导入本地数据库的步骤:创建用户并授权,建立表空间(指定数据文件路径、大小及自动扩展),绑定表空间与用户,注册用户后启动监听,检查监听状态为READY,最后用指定用户执行导入,强调文件夹权限需设置为777以避免报错
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/oracle@127.0.0.1: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 后的。
- 否则会报错。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。