前提:已经在docker中安装好Oracle
1.启动docker:
docker run --name oracle11 -p 1521:1521 -e ORACLE_ALLOW_REMOTE=true -e ORACLE_PWD=oracle -d oracleinanutshell/oracle-xe-11g
出现问题,请查看:Exited 139解决Window下docker启动oracle11g失败
2.进入容器:
docker exec -it [containerId] /bin/bash
[containerId]为你的容器名或者id
3.切换用户 以及 创建表空间存储位置:
su - oracle
cd ./app/oracle
mkdir newTableSpace
chmod 777 newTableSpace
(如果多个,创建多个文件夹)
4.进入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; (测试)
5.其他拓展:
导出
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