天天看點

猿創征文|Docker部署Oracle 19C及最佳實踐

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人稱10年DBA工作經驗

一位上進心十足的【大資料領域部落客】!😜😜😜

中國DBA聯盟(ACDU)成員,目前從事DBA及程式程式設計

擅長主流資料Oracle、MySQL、PG 運維開發,備份恢複,安裝遷移,性能優化、故障應急處理等。

✨ 如果有對【資料庫】感興趣的【小可愛】,歡迎關注【IT邦德】💞💞💞

❤️❤️❤️感謝各位大可愛小可愛!❤️❤️❤️

文章目錄

  • ​​前言​​
  • ​​⛳️ 1. 建立CentOS7.6的容器​​
  • ​​✨ 1.1 拉取鏡像​​
  • ​​✨ 1.2 建立容器​​
  • ​​✨ 1.3 修改時區​​
  • ​​✨ 1.4 進入容器​​
  • ​​✨ 1.5 yum安裝包​​
  • ​​✨ 1.6 啟動ssh程序​​
  • ​​✨1.7 遠端登入​​
  • ​​✨ 1.8 配置容器内的yum源​​
  • ​​⛳️ 二、 rpm方式安裝Oracle 19C​​
  • ​​✨ 2.1 安裝database-preinstall包​​
  • ​​✨ 2.2、下載下傳安裝db軟體​​
  • ​​✨ 2.3 建立資料庫執行個體​​
  • ​​⛳️ 三、 資料庫配置​​
  • ​​✨ 3.1 配置使用者環境變量​​
  • ​​✨ 3.2 修改密碼​​
  • ​​⛳️ 四、 重新開機容器後的操作​​

前言

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      
猿創征文|Docker部署Oracle 19C及最佳實踐

✨ 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      

✨ 1.6 啟動ssh程序

systemctl restart sshd

echo “root:root” | chpasswd --修改root使用者密碼

✨1.7 遠端登入

ssh [email protected] -p 230 --cmd可以測試登陸
猿創征文|Docker部署Oracle 19C及最佳實踐

✨ 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
猿創征文|Docker部署Oracle 19C及最佳實踐

⛳️ 三、 資料庫配置

✨ 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      

✨ 3.2 修改密碼

[oracle@oracle19C ~]$ sqlplus / as sysdba
猿創征文|Docker部署Oracle 19C及最佳實踐

#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 --啟動資料庫

猿創征文|Docker部署Oracle 19C及最佳實踐

SQL> show pdbs

猿創征文|Docker部署Oracle 19C及最佳實踐
猿創征文|Docker部署Oracle 19C及最佳實踐
[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