原 【DB宝7】Oracle 19c asm+db的安装配置
Tags: Oracle原创LinuxDocker安装部署ASMOCPSELinux
[toc]
一、安装Docker软件
CentOS 7安装Docker: https://docs.docker.com/engine/install/centos/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | --1、卸载掉旧版本的 Docker: yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine --2、执行以下安装命令去安装依赖包: yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum -y install docker-ce docker-ce-cli containerd.io # 若执行报错,则配置yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo --或一键安装: curl -fsSL get.docker.com -o get-docker.sh sh get-docker.sh --启动Docker软件 systemctl start docker systemctl status docker --3、检查版本 docker version docker info |
二、创建CentOS7.6的容器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | --CentOS镜像 https://hub.docker.com/_/centos?tab=tags --拉取镜像 docker pull centos:7.6.1810 --创建容器 docker run -d --name lhr2019ocpasm -h lhr2019ocpasm -p 5500-5510:5500-5510 -p 1521:1521 -p 222:22 --privileged=true centos:7.6.1810 /usr/sbin/init --修改时区 docker cp /usr/share/zoneinfo/Asia/Shanghai lhr2019ocpasm:/etc/localtime --进入容器 docker exec -it lhr2019ocpasm /bin/bash --安装一些必要的系统包 yum install -y openssh-clients openssh-server initscripts net-tools telnet which wget passwd e4fsprogs lrzsz sudo unzip lvm2 tree traceroute bridge-utils dos2unix rlwrap yum -y install vim redhat-lsb --解决agetty进程cpu占用率100%,宿主机和容器都需要执行 systemctl stop getty@tty1.service systemctl mask getty@tty1.service --启动ssh进程 systemctl restart sshd --修改root用户密码 echo "root:lhr" | chpasswd --远程登录 ssh root@192.168.1.35 -p222 -- 配置容器内的yum源:阿里云 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum clean all rpm --rebuilddb |
三、操作系统配置部分
3.1、关闭防火墙(Docker中一般不需要)
1 2 3 4 5 6 7 | --关闭防火墙: systemctl disable firewalld systemctl stop firewalld systemctl stop firewalld.service systemctl disable firewalld.service --验证: systemctl list-unit-files | grep fire |
3.2、禁用selinux(Docker中一般不需要)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | --临时关闭(不用重启机器): setenforce 0 --查看SELinux状态: 1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态 SELinux status: enabled 2、getenforce ##也可以用这个命令检查 # 示例 [root@lhr2019ocpasm ~] /usr/sbin/sestatus -v SELinux status: disabled [root@lhr2019ocpasm ~] getenforce Disabled [root@lhr2019ocpasm ~] --手工修改/etc/selinux/config中SELINUX=disabled,或使用下面命令: sed -i '/^SELINUX=.*/ s//SELINUX=disabled/' /etc/selinux/config |
3.3、添加组和用户
3.3.1、添加oracle和grid用户
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | --创建组 groupadd -g 54321 oinstall groupadd -g 54322 dba groupadd -g 54323 oper groupadd -g 54324 backupdba groupadd -g 54325 dgdba groupadd -g 54326 kmdba groupadd -g 54327 asmdba groupadd -g 54328 asmoper groupadd -g 54329 asmadmin groupadd -g 54330 racdba -- 创建用户并添加用户到组 useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle useradd -u 54322 -g oinstall -G asmadmin,asmdba,asmoper,dba,racdba grid -- 修改oracle和grid用户的密码为lhr echo "oracle:lhr" | chpasswd echo "grid:lhr" | chpasswd |
3.3.2、创建安装目录
1 2 3 4 5 6 7 8 9 10 11 12 | # root用户创建目录并赋权: mkdir -p /u01/app/19.3.0/grid mkdir -p /u01/app/grid mkdir -p /u01/app/oracle mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1 chown -R grid:oinstall /u01 chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01/ mkdir -p /u01/app/oraInventory chown -R grid:oinstall /u01/app/oraInventory chmod -R 775 /u01/app/oraInventory |
3.3.3、配置grid和oracle用户的环境变量文件
修改grid、oracle用户的.bash_profile文件,直接使用root用户执行。
1、配置oracle用户的环境变量:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | cat >> /home/oracle/.bash_profile <<"EOF" umask 022 export ORACLE_SID=lhr19cdb export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH export TNS_ADMIN=$ORACLE_HOME/network/admin export ORACLE_PATH=.:$ORACLE_BASE/dba_scripts/sql:$ORACLE_HOME/rdbms/admin export SQLPATH=$ORACLE_HOME/sqlplus/admin #export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" #AL32UTF8 SELECT userenv('LANGUAGE') db_NLS_LANG FROM DUAL; export NLS_LANG="AMERICAN_CHINA.ZHS16GBK" alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' alias asmcmd='rlwrap asmcmd' alias dgmgrl='rlwrap dgmgrl' alias sas='sqlplus / as sysdba' EOF |
2、配置oracle用户的glogin.sql文件,用于修改SQL提示符:
1 2 3 4 5 6 | cat >>/u01/app/oracle/product/19.3.0/dbhome_1/sqlplus/admin/glogin.sql << "EOF" set linesize 9999 pagesize 9999 set sqlprompt "_USER'@'_CONNECT_IDENTIFIER> " EOF |
3、配置grid用户的环境变量:
已测试,若容器重启,oracleasm init还是初始化失败,可以在宿主机安装ASM包,容器就可以oracleasm init初始化成功。
步骤清晰,内容翔实,感谢麦老师分享。