启动docker
docker run -d -p 1521:1521 -e ORACLE_ALLOW_REMOTE=true -e ORACLE_PWD=Aa123456 oracleinanutshell/oracle-xe-11g
进入容器
docker exec -it containerId /bin/bash
切换用户+创建表空间存储位置
su - oracle
cd /u01/app/oracle
mkdir newTableSpace
chmod 777 newTableSpace
(如果多个,创建多个文件夹)
进入DBA,创建表空间,创建用户,授权
sqlplus / as sysdba
create tablespace newTableSpace datafile ‘/u01/app/oracle/newTableSpace/newTableSpace.dbf’ size 100M; (创建表空间)
create user raymond identified by Aa123456; (创建用户)
create user testUser identified by Aa123456 default tablespace newTableSpace; (创建用户指定表空间)
grant connect,resource to testUser; (授权)
grant dba to raymond;
conn raymond/Aa123456; (测试)
导出
expdp test/test123qwe@XXX.XXX.XXX.XXX:1521/dbsrv2 directory=data_pump_dir dumpfile=test6666888.DMP schemas=test
1、命令对应:用户/密码@IP:端口/SID
2、shemas=test切换表空间
导入
docker cp test6666888.DMP containerId:/u01/app/oracle/admin/XE/dpdump/ (复制dmp文件到容器内)
cd /u01/app/oracle/admin/XE/dpdump/ (容器内路径)
chmod 777 *
impdp test/Aa123456@XXX.XXX.XXX.XXX/xe dumpfile=test6666888.DMP