Mr. Cappuccino的第68杯咖啡——基于Docker安装Oracle11g

基于Docker安装Oracle11g

拉取镜像

bash 复制代码
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

docker images

以持久化的方式启动容器

bash 复制代码
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的具体位置

bash 复制代码
docker volume inspect oracle_vol

修改配置文件

bash 复制代码
docker exec -it -u root oracle11g /bin/bash

vi /etc/profile

使用I键进入编辑模式,添加以下配置信息,再使用Esc键退出编辑模式,输入:wq保存配置信息。

bash 复制代码
# 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"

检查配置信息是否保存成功

bash 复制代码
cat /etc/profile

加载配置文件

bash 复制代码
source /etc/profile

创建软连接

bash 复制代码
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

连接Oracle

bash 复制代码
# 切换用户
su - oracle
# 登录Oracle
sqlplus /nolog
# 连接Oracle
conn /as sysdba

修改相关信息

sql 复制代码
# 修改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

查看原镜像中设置的SID

sql 复制代码
select instance from v$thread;
bash 复制代码
# 关闭数据库
shutdown immediate
# 退出sqlplus
exit
修改oracle用户的环境变量
bash 复制代码
vi /home/oracle/.bash_profile
bash 复制代码
cat /home/oracle/.bash_profile
bash 复制代码
source /home/oracle/.bash_profile
修改/etc/oratab文件
bash 复制代码
vi /etc/oratab
进入$ORACLE_HOME/dbs目录,修改文件名
bash 复制代码
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
启动数据库,检查SID
sql 复制代码
sqlplus / as sysdba
# 启动数据库
startup
# 检查SID
select instance from v$thread;

连接Oracle


相关推荐
March.s14 小时前
Docker 容器技术完全指南:从生态到架构的深度解析
docker
wdfk_prog16 小时前
ROS教程:01 搭建 ROS1 Noetic Docker 开发环境
运维·缓存·docker·容器·ros
szephyr16 小时前
Docker + Compose 实战:把本地项目一键搬到云服务器,附完整配置
运维·docker·容器·部署·云服务器
wdfk_prog17 小时前
ros教程02:创建 catkin Workspace、Package 与第一个 ROS1 C++ Node
运维·缓存·docker·容器·ros
名字还没想好☜20 小时前
Docker 网络实战:bridge/host/none/自定义网络、容器互通与端口映射踩坑
运维·docker·kubernetes
chaoyuanl21 小时前
超元力主题乐园飞行影院:把景区文化做成可持续更新的沉浸体验
大数据·3d·xr·娱乐·mr
March.s1 天前
Docker 容器与网络深度指南:从入门到精通
docker
探索云原生1 天前
KubeClipper 1.7.0 发布:Operation 优化与 Kubernetes 1.37 支持
linux·docker·云原生·kubernetes·go
fengkai45451 天前
八、Docker详解1-3
运维·docker·容器
一技安身1 天前
【信创】银河麒麟V10(ARM64,无GPU纯CPU)内网隔离离线部署Deepseek+openWebUI完整方案
docker