dockerfile安装Oracle 19.3企业版
Tags: 19.3DockerdockerfileOracle
下载文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | cd / git clone https://github.com/oracle/docker-images.git cd ./docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0/ wget https://download.oracle.com/otn/linux/oracle19c/190000/LINUX.X64_193000_db_home.zip?AuthParam=1585643275_8ef5dad33171ee0e1708ea00f4b54328 wget https://download.oracle.com/otn/linux/oracle19c/190000/LINUX.X64_193000_grid_home.zip?AuthParam=1585878329_da25808eb8f05583514de26b65e2484f wget http://rpmfind.net/linux/epel/6/x86_64/Packages/r/rlwrap-0.42-1.el6.x86_64.rpm cd docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0/ vi Dockerfile #FROM oraclelinux:7-slim as base FROM centos:7.6.1810 as base .... # Copy files needed during both installation and runtime # ------------- COPY $SETUP_LINUX_FILE $CHECK_SPACE_FILE $INSTALL_DIR/ COPY oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm $INSTALL_DIR/ COPY rlwrap-0.42-1.el6.x86_64.rpm $INSTALL_DIR/ COPY $RUN_FILE $START_FILE $CREATE_DB_FILE $CONFIG_RSP $PWD_FILE $CHECK_DB_FILE $USER_SCRIPTS_FILE $ORACLE_BASE/ .... |
修改文件
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 | ## 修改文件 vi setupLinuxEnv.sh mkdir -p $ORACLE_BASE/scripts/setup && \ mkdir -p $ORACLE_BASE/scripts/startup && \ mkdir -p $ORACLE_BASE/oradata && \ mkdir -p $ORACLE_HOME && \ ln -s $ORACLE_BASE/scripts /docker-entrypoint-initdb.d && \ chmod ug+x $ORACLE_BASE/*.sh && \ yum -y install oracle-database-preinstall-19c openssl && \ yum -y localinstall /opt/install/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm && \ yum -y localinstall /opt/install/rlwrap-0.42-1.el6.x86_64.rpm && \ yum -y install openssl && \ yum -y install openssl-devel && \ yum -y install lsof && \ yum -y install iproute && \ yum -y install net-tools && \ yum -y install rsyslog && \ yum -y install bash-completion && \ yum -y install tmux && \ yum -y install lrzsz && \ yum -y install telnet && \ rm -rf /var/cache/yum && \ ln -s $ORACLE_BASE/$PWD_FILE /home/oracle/ && \ echo oracle:lhr | chpasswd && \ echo root:lhr | chpasswd && \ chown -R oracle:dba $ORACLE_BASE vi installDBBinaries.sh … # Temp location #rm -rf /tmp/* && \ … |
创建dockerfile
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 | ./buildDockerImage.sh -v 19.3.0 -e groupadd -g 1300 dba groupadd -g 1301 oper groupadd -g 1302 oinstall useradd -u 54321 -g oinstall -G dba,oper -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle echo "lhr" | passwd --stdin oracle mkdir -p /oracle/oradata chown oracle:oinstall /oracle/oradata docker run -e TZ="Asia/Shanghai" -itd -h oracle19clhr --name oracle19clhr \ -p 1521:1521 -p 5500:5500 \ -e ORACLE_SID=DCLHR \ -e ORACLE_PDB=LHRPDB1 \ -e ORACLE_PWD=lhr \ -e ORACLE_CHARACTERSET=AL32UTF8 \ -v /oracle/oradata:/opt/oracle/oradata \ oracle/database:19.3.0-ee docker logs -f oracle19clhr -- 修改密码 docker exec <container name> ./setPassword.sh <your password> |
使用
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 38 39 40 41 42 43 44 45 46 47 48 49 50 | docker exec -it oracle19clhr /bin/bash export ORACLE_SID=DCLHR sqlplus / as sysdba sqlplus sys/lhr@192.168.1.35/DCLHR AS sysdba sqlplus sys/<your password>@//localhost:1521/<your SID> as sysdba sqlplus system/<your password>@//localhost:1521/<your SID> sqlplus pdbadmin/<your password>@//localhost:1521/<Your PDB name> https://192.168.1.35:5500/em/ vi ~/.bashrc export ORACLE_SID=DCLHR export ORACLE_BASE=/opt/oracle export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 export PATH=$PATH:$ORACLE_HOME/bin export EDITOR=vi stty erase ^H alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' alias sas='sqlplus / as sysdba' source ~/.bashrc vi /etc/pam.d/su -- 注释:#session include system-auth vi $ORACLE_HOME/sqlplus/admin/glogin.sql set linesize 1000 pagesize 1000 set sqlprompt "_USER'@'_CONNECT_IDENTIFIER> " vi $ORACLE_HOME/network/admin/listener.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /opt/oracle/product/19c/dbhome_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = DCLHR) (SID_NAME = DCLHR) (ORACLE_HOME = /opt/oracle/product/19c/dbhome_1) ) ) lsnrctl reload |