centos7 docker安装oracle11g

准备

  • cetnos7 6g+128g root权限

安装

1、安装docker

虚拟机联网,安装yum工具

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken

更新本地镜像源

yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast

安装docker

yum install -y docker-ce

启动docker

service docker start

2、拉取oracle镜像

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
     # 大约有6个G

3、下载完成后,查看镜像

 docker images

4、创建docker 卷 ,并挂载 oracle数据文件,创建并启动容器

  ## 创建卷 会在 /var/lib/docker/volumns/ 下创建卷
  docker volume create oracle-helowin
  ## 查看所有卷 
  docker volumn list
  ## 创建容器,挂载卷
  docker run -it -d -p 1521:1521 -v oracle-helowin:/home/oracle/app/oracle/oradata/helowin  --name oracle1 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

5、进入镜像进行配置

 docker exec -it oracle1 bash
 

6、编辑profile文件配置ORACLE环境变量

   ## 切换root
   su root
   密码helowin
  ##
  vi /etc/profile 
  ## 在文件最后写上下面内容:
  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

7、创建软连接

        ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

8、登录sqlplus并修改sys、system用户密码

-- shell
su - oracle
sqlplus /nolog   
  --登录conn /as sysdba
  alter user system identified by pwd;--修改system用户账号密码;
alter user sys identified by pwd;--修改sys用户账号密码;
create user test identified by pwd ; -- 创建内部管理员账号密码;
grant connect,resource,dba to test; --将dba权限授权给内部管理员账号和密码;
-- ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --修改密码规则策略为密码永不过期;(会出现坑,后面讲解)解决办法:
-- alter database mount;
-- alter database open;
-- alter system set processes=1000 scope=spfile; --修改数据库最大连接数据;

9、修改以上信息后,需要重新启动数据库;

conn /as sysdba
shutdown immediate; --关闭数据库
startup; --启动数据库

exit:退出软链接

开机自启

# docker开机自启 
systemctl enable docker.service
# 查看docker 是否开机自启
systemctl is-enabled docker.service

# 容器自启
docker update --restart=always 容器ID(或者容器名)

posted @ 2023-08-15 16:47  赵钱富贵  阅读(221)  评论(0编辑  收藏  举报