# Docker Hub 拉取
docker pull qzh3578/oracle:19.3.0
docker run --name <container name> \
-p <host port>:1521 -p <host port>:5500 \
-e ORACLE_SID=<your SID> \
-e ORACLE_PDB=<your PDB name> \
-e ORACLE_PWD=<your database passwords> \
-e INIT_SGA_SIZE=<your database SGA memory in MB> \
-e INIT_PGA_SIZE=<your database PGA memory in MB> \
-e ORACLE_EDITION=<your database edition> \
-e ORACLE_CHARACTERSET=<your character set> \
-v [<host mount point>:]/opt/oracle/oradata \
oracle:19.3.0
docker run --name oracle -p 1521:1521 -p 5500:5500 -d -e ORACLE_SID=orcl -e ORACLE_PDB=orclp -e ORACLE_PWD=qin -e INIT_SGA_SIZE=2048 -e INIT_PGA_SIZE=512 -e ORACLE_EDITION=standard -v oracle-data:/opt/oracle/oradata qzh3578/oracle:19.3.0
e ORACLE_SIDOracle SID,默认为 ORCLCDB
e ORACLE_PDBOracle PDB 名称,默认为 ORCLPDB1。相关参见:容器数据库`
e ORACLE_PWDSYS、SYSTEM 和 PDB_ADMIN的密码,默认会在创建窗口时随机生成并打印在控制台
e INIT_SGA_SIZESGA 内存大小,单位为 MB,参数为数值(可选)
如 -e INIT_SGA_SIZE=1536,不要带单位
仅在初次创建数据库时有效,否则即使传入参数也会被无视
以下的 PGA 相同,不再赘述
e INIT_PGA_SIZEPGA 内存大小,单位为 MB,参数为数值(可选)
e ORACLE_EDITIONOracle 版本:enterprise / standard
e ORACLE_CHARACTERSET数据库字符集,默认为 AL32UTF8
v/opt/oracle/oradata:用于数据库的数据量;必须由容器内的Unix“ oracle”(uid:54321)用户可写;如果如果不配置该选项,数据库将不会持久化,即在关闭之后数据将清空。/opt/oracle/scripts/startup :数据库启动之后执行的自定义脚本目录(可选)/opt/oracle/scripts/setup:在数据库 setup 之后执行的脚本目录(可选)psqlplus sys/<your password>@//localhost:1521/<your SID> as sysdba
sqlplus system/<your password>@//localhost:1521/<your SID>
sqlplus pdbadmin/<your password>@//localhost:1521/<Your PDB name>
第一次如果没有传入密码,会生成并输出在控制台。也可以使用脚本在之后修改密码:
docker exec <container name> ./setPassword.sh <your password>
先将 dump 文件拷贝到 DATA_PUMP_DIR /opt/oracle/admin/ORCL/dpdump
docker cp XXX.DMP <container_name>:/opt/oracle/admin/ORCL/dpdump
然后进入容器,再执行导入命令
docker exec -it <container_name> bash
impdp system/qin@//localhost:1521/orcl directory=DATA_PUMP_DIR dumpfile=XXX.DMP log=imp_XXX.log
Content type
Image
Digest
Size
2.7 GB
Last updated
over 5 years ago
docker pull qzh3578/oracle:19.3.0