📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10年DBA工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
擅长主流数据Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

前言

Docker部署Oracle 19C及最佳实践,本文做了详细的说明

⛳️ 1. 创建CentOS7.6的容器

✨ 1.1 拉取镜像

[root@jeames ~]# docker pull centos:centos7.6.1810

✨ 1.2 创建容器

-- 查看网络模式
docker network ls
-- 创建一个新的bridge网络
docker network create --driver bridge --subnet=172.18.12.0/16 --gateway=172.18.1.1 mynet
--查看网络信息
docker network inspect mynet

--创建容器
docker run -d --name oracle19C -h oracle19C \
-p 5500-5510:5500-5510 -p 1524:1521 -p 230:22 \
--network=mynet --ip 172.18.12.2 \
--privileged=true \
centos:7.6.1810 /usr/sbin/init

--开机时容器自己启动
docker update --restart=always oracle19C

在这里插入图片描述

✨ 1.3 修改时区

[root@jeames ~]# docker cp /usr/share/zoneinfo/Asia/Shanghai oracle19C:/etc/localtime

✨ 1.4 进入容器

[root@jeames ~]# docker exec -it oracle19C bash

✨ 1.5 yum安装包

yum install -y openssh-clients openssh-server initscripts \
net-tools telnet which wget passwd
yum install -y e4fsprogs lrzsz sudo unzip lvm2 \
tree traceroute bridge-utils dos2unix rlwrap
yum -y install vim redhat-lsb

✨ 1.6 启动ssh进程

systemctl restart sshd
echo “root:root” | chpasswd --修改root用户密码

✨1.7 远程登录

ssh root@192.168.1.54 -p 230 --cmd可以测试登陆

在这里插入图片描述

✨ 1.8 配置容器内的yum源

#阿里云
[root@oracle19C /]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@oracle19C /]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@oracle19C /]# yum clean all
[root@oracle19C /]# rpm --rebuilddb

⛳️ 二、 rpm方式安装Oracle 19C

✨ 2.1 安装database-preinstall包

yum install -y https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

✨ 2.2、下载安装db软件

安装19c数据库软件:
[root@jeames ~]# docker cp oracle-database-ee-19c-1.0-1.x86_64.rpm oracle19C:/
[root@oracle19C /]# yum install -y oracle-database-ee-19c-1.0-1.x86_64.rpm

✨ 2.3 创建数据库实例

[root@oracle19C /]# /etc/init.d/oracledb_ORCLCDB-19c configure

在这里插入图片描述

⛳️ 三、 数据库配置

✨ 3.1 配置用户环境变量

[root@oracle19C /]# su - oracle

cat >> /home/oracle/.bash_profile << "EOF"
export ORACLE_SID=ORCLCDB
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export PATH=$ORACLE_HOME/bin:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
EOF

[oracle@oracle19C ~]$ source .bash_profile

✨ 3.2 修改密码

[oracle@oracle19C ~]$ sqlplus / as sysdba

在这里插入图片描述

#rpm安装,数据库会产生随机密码,所以需要我们自行修改密码
SYS@ORCLCDB> alter user sys identified by oracle;

⛳️ 四、 重启容器后的操作

[root@jeames /]# docker restart oracle19C
[root@jeames /]# docker exec -it oracle19C bash
[root@oracle19C /]# /etc/init.d/oracledb_ORCLCDB-19c start --启动数据库

在这里插入图片描述
SQL> show pdbs

在这里插入图片描述
在这里插入图片描述

[root@rhel74 ~]# su - oracle
[oracle@rhel74 ~]$ sqlplus / as sysdba
SQL> show pdbs
--开PDB库
SQL> alter pluggable database all open; 
--关闭PDB库
SQL> alter pluggable database all close; 
SQL> select name,cdb from v$database;
--CDB切到PDB
SQL> alter session set container = PDB1;
--PDB切到CDB
SQL> conn / as sysdba

在这里插入图片描述

Logo

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

更多推荐