【Docker】docker启动oracle11g并初始化数据,部署和使用

前提:已经在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
(如果多个,创建多个文件夹)

【Docker】docker启动oracle11g并初始化数据,部署和使用_第1张图片

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; (测试)

【Docker】docker启动oracle11g并初始化数据,部署和使用_第2张图片

5.其他拓展:

导出

expdp test/[email protected]: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/[email protected]/xe dumpfile=test6666888.DMP

你可能感兴趣的:(数据库,部署&Linux运维,docker,oracle,数据库)