安装

docker 安装oracle11g
整个教程的截图备份
根据此教程可以完整安装oracle, 接下来是持久化

持久化


# 删除测试镜像
# docker rm oracle11g
# 新建docker卷
docker volume create oracle-helowin
# 查看docker卷
docker volume ls
# 卷路径
find -name oracle-helowin
#cd ./var/lib/docker/volumes/oracle-helowin

# 创建持久化容器 ioracle 
docker run -d -p 1521:1521 -v oracle-helowin:/home/oracle/app/oracle/oradata/helowin --name ioracle registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

重新配置oracle

runcreate+start命令,创建后容器是运行的
在这里插入图片描述

直接进入容器

命令docker exec -it ioracle bash

切换root用户
su root
helowin   //密码

在这里插入图片描述

编辑配置文件

命令 vi /etc/profile
i切换编辑模式
Exc退出编辑模式, 输入:wq退出文本
在末尾加上如下配置

# oracle
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH

文件立刻生效source /etc/profile

创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
切换用户
su - oracle //中间的连接符要加上
sqlplus / as sysdba  //dba连接数据库

在这里插入图片描述

登录初始化
alter user system identified by system;
alter user sys identified by sys;
#也可以创建用户,并给用户赋予权限  
create user test identified by test;
grant connect,resource,dba to test; 
# 刷新
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

完成,可以远程连接了
在这里插入图片描述

退出

在这里插入图片描述

远程连接

在这里插入图片描述

sys
sys
192.168.232.130:1521/helowin    //192.168.232.130-虚拟机或服务器ip

在这里插入图片描述

以下为探索记录, 不做任何参考

花了10个工作日的午休,没有成功探索出oracle配置持久化的方法,等以后再说

放弃参考
查看启动参数
命令runlike -p oracle11g

在这里插入图片描述

进入容器

命令docker exec -it oracle11g bash

查看实例

helowin 的实例安装在:/home/oracle/app/oracle/oradata/helowin 目录下

拷贝数据到本地,并修改拥有者
exit
mkdir /usr/local/docker
mkdir /usr/local/docker/oracle
docker cp oracle11g:/home/oracle/app/oracle/oradata/helowin /usr/local/docker/oracle/helowin
cd /usr/local/docker/oracle
chown -R 500.500 ./helowin  # 500 500 是容器内 oracle 组合用户的 id 

开机启动 docker update --restart=always oracle11g
持久化 docker update --v=/home/oracle/app/oracle/oradata/helowin :/usr/local/docker/oracle/helowin

#docker rm oracle11g
docker run -d -p 1521:1521 -v /home/oracle/app/oracle/oradata/helowin:/usr/local/docker/oracle/helowin --name oracle11 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

直接安装

## 弃用
docker run -d -p 1521:1521 -v /usr/local/docker/oracle:/home/oracle --name oracle registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
/home/oracle/app/oraInventory 
/home/oracle/app/oracle/oradata/helowin
docker start oracle
docker exec -it oracle bash
# chown -R 500.500 ./helowin

# docker run -d -p 1521:1521 -v /home/docker/oracle/helowin:/home/oracle/app/oracle/oradata/helowin --name oracle11 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g


docker volume create oracle-helowin
docker volume ls
find -name oracle-helowin
#cd ./var/lib/docker/volumes/oracle-helowin

docker run -d -p 1521:1521 -v oracle-helowin:/home/oracle/app/oracle/oradata/helowin --name ioracle registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

清理

docker system df
# 删除所有关闭的容器:
docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm
# 删除所有dangling镜像(即无tag的镜像):
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
# 删除所有dangling数据卷(即无用的Volume):
docker volume rm $(docker volume ls -qf dangling=true)
# 删除自定义数据卷
docker volume rm edc-nginx-vol

在这里插入图片描述

cp /home/oracle/app/oracle/oradata/helowin/control01.ctl /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl

在这里插入图片描述

find -name alert_helowin.log

chown -R oracle.oinstall oradata
权限
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐