docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker images
mkdir -p /home/data/oracle/app/oracle/oradata
docker run -d -p 1521:1521 --name oracle11g --restart=always \
--mount source=oracle_vol,target=/home/data/oracle/app/oracle/oradata \
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker ps
关于持久化,source=oracle_vol指的是容器中的数据卷路径,target指的是容器外需要被挂载的目录路径。
查看volume的具体位置
docker volume inspect oracle_vol
docker exec -it -u root oracle11g /bin/bash
vi /etc/profile
使用I键进入编辑模式,添加以下配置信息,再使用Esc键退出编辑模式,输入:wq保存配置信息。
# oracle home目录
export ORACLE_HOME=/home/oracle/app/oracle/prouct/11.2.0/dbhome_2
# oracle 服务名或者SID名
export ORACLE_SID=helowin
# oracle 环境变量
export PATH=$ORACLE_HOME/bin:$PATH
# 字符集和中文乱码问题
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
检查配置信息是否保存成功
cat /etc/profile
加载配置文件
source /etc/profile
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
# 切换用户
su - oracle
# 登录Oracle
sqlplus /nolog
# 连接Oracle
conn /as sysdba
# 修改system用户的密码为system
alter user system identified by system;
# 修改sys用户的密码为sys
alter user sys identified by sys;
# 修改密码规则策略为密码永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
查看原镜像中设置的SID
select instance from v$thread;
# 关闭数据库
shutdown immediate
# 退出sqlplus
exit
vi /home/oracle/.bash_profile
cat /home/oracle/.bash_profile
source /home/oracle/.bash_profile
vi /etc/oratab
cd $ORACLE_HOME/dbs
mv hc_helowin.dat hc_honey.dat
mv lkHELOWIN lkhoney
mv orapwhelowin orapwhoney
mv spfilehelowin.ora spfilehoney.ora
mv inithelowin.ora inithoney.ora
sqlplus / as sysdba
# 启动数据库
startup
# 检查SID
select instance from v$thread;