一、数据库准备
-
查询数据库表空间存储位置
-
sql执行
select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id;
-
结果示例
-
创建空间及用户
例如上方查询结果,得到存储位置:/home/oracle/app/oracle/oradata/helowin/
-
创建大表空间
create bigfile tablespace tablespacename datafile '/home/oracle/app/oracle/oradata/helowin/youname.dbf' SIZE 100M AUTOEXTEND ON NEXT 50M ;
tablespacename、 youname.dbf 根据需要换成自己需求名字
-
创建临时空间
create temporary tablespace tablespaceTEMP tempfile '/home/oracle/app/oracle/oradata/helowin/younameTEMP.DBF' size 100M autoextend on NEXT 50M ;
tablespaceTEMP 、younameTEMP根据需要换成自己需求名字
-
创建用户绑定空间
create user myuser identified by mypassword default tablespace tablespacename temporary tablespace tablespaceTEMP profile DEFAULT;
-
用户赋权
grant connect,resource,dba to myuser;
二、dmp文件准备
- 上传dmp文件到服务器目录下:/workspace/oarcle/oradata/
- oracle增加dmp文件读取地址
update dba_directories set DIRECTORY_PATH='/home/oracle/app/oracle/admin/orac/dpdump/' where directory_name='DATA_PUMP_DIR';
- 查询docker 中oracle实例名称
- 等待第一步dmp文件上传结束,把文件复制进docker容器中oracle读取dmp文件路径中
docker cp /workspace/oarcle/oradata/2023-07-15.DMP oracle11g:/home/oracle/app/oracle/admin/helowin/dpdump/
三、开始导入
-
开始导入
impdp myuser/mypassword full=y file="2023-07-14.DMP" DIRECTORY=DATA_PUMP_DIR exclude=grant
等待导入结果。。。。。。。。