美文网首页
docker 静默安装oracle11g centos-7

docker 静默安装oracle11g centos-7

作者: QTong | 来源:发表于2020-03-01 21:22 被阅读0次

    docker centos7 环境静默安装11g
    1 宿主机swap 150m+
    2 /etc/redhat-release 改为redhat-7
    https://blog.csdn.net/watermelonbig/article/details/100085946
    3 echo "tmpfs /dev/shm tmpfs defaults,size=1g 0 0" >> /etc/fstab
    mount -o remount /dev/shm
    4静默安装
    https://www.cnblogs.com/it1992/p/9468124.html
    dbca看下边的
    https://blog.csdn.net/chenghuikai/article/details/85776622

    docker run --privileged -d -p 1521:1521 -v /root/qst/db:/yuntu/db registry.cn-beijing.aliyuncs.com/gxhl/base-wapped-image 
    
    echo "tmpfs /dev/shm tmpfs defaults,size=1g 0 0" >> /etc/fstab
    mount -o remount /dev/shm 
    yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
    groupadd oinstall 
    groupadd dba 
    useradd -g oinstall -G dba -m oracle
    passwd oracle
    
    /etc/sysctl.conf
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 2097152
    kernel.shmmax = 4294967295
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
    
    /sbin/sysctl -p
    
    vi /etc/security/limits.conf
    #在末尾添加
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft stack 10240
    oracle hard stack 10240
    
    
    echo "session required /lib64/security/pam_limits.so" >> /etc/pam.d/login
    echo "session required pam_limits.so" >> /etc/pam.d/login
    
    vi /etc/profile
    
    if [ $USER = "oracle" ]; then
       if [ $SHELL = "/bin/ksh" ]; then
           ulimit -p 16384
           ulimit -n 65536
        else
           ulimit -u 16384 -n 65536
       fi
    fi
    
    source /etc/profile
    mkdir -p /ora/oraInventory/
    mkdir /ora/oracle
    
    chown -R oracle:oinstall /ora
    
    vi /home/oracle/.bash_profile
    
    export ORACLE_BASE=/ora/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    export ORACLE_SID=orcl
    export ORACLE_TERM=xterm
    export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    
    chmod 755 -R /ora/database/
    /ora/database/runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq
    
    oracle.install.option=INSTALL_DB_SWONLY     // 安装类型
    ORACLE_HOSTNAME=docker        // 主机名称(hostname查询)
    UNIX_GROUP_NAME=oinstall     // 安装组
    INVENTORY_LOCATION=/ora/oraInventory   //INVENTORY目录(不填就是默认值)
    SELECTED_LANGUAGES=en,zh_CN // 选择语言
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1    //oracle_home
    ORACLE_BASE=/u01/app/oracle     //oracle_base
    oracle.install.db.InstallEdition=EE     // oracle版本
    oracle.install.db.EEOptionsSelection=false   //自定义安装,否,使用默认组件
    oracle.install.db.DBA_GROUP=dba /  / dba用户组
    oracle.install.db.OPER_GROUP=oinstall // oper用户组
    oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //数据库类型
    oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName
    oracle.install.db.config.starterdb.SID=orcl     //SID
    oracle.install.db.config.starterdb.password.ALL=oracle //设定所有数据库用户使用同一个密码
    SECURITY_UPDATES_VIA_MYORACLESUPPORT=false         //(手动写了false)
    DECLINE_SECURITY_UPDATES=true   //设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)
    
    /ora/oraInventory/orainstRoot.sh
    /ora/oracle/product/11.2.0/db_1/root.sh
    
    netca /silent /responsefile /home/oracle/etc/netca.rsp
    
    
    dbca -silent -responseFile /home/oracle/etc/dbca.rsp
    
    [GENERAL]
    RESPONSEFILE_VERSION = "11.2.0"
    OPERATION_TYPE = "createDatabase"
    [CREATEDATABASE]
    GDBNAME = "orcl"
    SID = "orcl"
    SYSPASSWORD = "oracle"
    SYSTEMPASSWORD = "oracle"
    SYSMANPASSWORD = "oracle"
    DBSNMPPASSWORD = "oracle"
    DATAFILEDESTINATION =/data/app/oracle/oradata
    RECOVERYAREADESTINATION=/data/app/oracle/fast_recovery_area
    CHARACTERSET = "AL32UTF8"
    

    create user yun121 identified by
    grant dba,connect to yun121
    docker commit -m="base-wapped+oracle11g" 06225aef1716 registry.cn-beijing.aliyuncs.com/qst/base-wapped-oracle-image:v0

    链接: https://pan.baidu.com/s/16E0QwEfBb7tr18HYv2zx7g 提取码: 3y9v
    yum -y install rlwrap
    更改oracle家目录
    vi .bash_profile
    alias sqlplus='rlwrap sqlplus'
    su - oracle

    其他

    sed -i "s%06225aef1716%`hostname`%g" /ora/oracle/product/11.2.0/db_1/network/admin/listener.ora
    0 由于是docker环境 所以需要做如下特殊操作
    echo "tmpfs /dev/shm tmpfs defaults,size=1g 0 0" >> /etc/fstab
    mount -o remount /dev/shm
    alter system set open_cursors = 2000
    alter system set optimizer_index_cost_adj = 40
    alter system set optimizer_dymanic_sampling = 4
    
    alter system set memory_target = 50G scope=spfile
    
    1 linux静默安装oracle--配置基础环境
     1.1 安装相应的包 (有部分已经安装所以会报no thing todo不用管他)
    yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33i686 compat-libstdc++-33.devel compat-libstdc++-33 compat-libstdc++-33.devel gcc gcc-c++ glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.devel libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.devel libXi libXi.i686 libXtst libXtst.i686 make sysstat unixODBC unixODBC.i686 unixODBC-devel unixODBC-devel.i686
     1.2 创建用户及相应目录并赋权
    groupadd oinstall
    groupadd dba
    useradd -g oinstall -G dba -m oracle
    passwd oracle
    mkdir -p /ora/oraInventory
    mkdir /ora/oracle
    chown -R oracle:oinstall /ora/oracle
    chown -R oracle:oinstall /ora/oraInventory
    
     1.3 修改系统参数及环境变量
        vi /etc/sysctl.conf 最后添加
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 2097152
    kernel.shmmax = 4294967295
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
     再执行 /sbin/sysctl -p (报错不用管)
    
    vi /etc/security/limits.conf  最后添加
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    
    echo "session required /lib64/security/pam_limits.so" >> /etc/pam.d/login
    echo "session required pam_limits.so" >> /etc/pam.d/login
    
    vi /etc/profile   最后添加
    #oracle
    export ORACLE_HOME=/ora/oracle/product/11.2.0/db_1
    export ORACLE_SID=orcl
    if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
    else
    ulimit -u 16384 -n 65536
    fi
    fi
     再执行 source /etc/profile
    
    vi /home/oracle/.bash_profile 在最后添加
    export ORACLE_BASE=/ora/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    export ORACLE_SID=orcl
    export ORACLE_TERM=xterm
    export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
    
     1.4安装介质及配置文件
    chmod 755 -R /ora/database/
    mkdir /home/oracle/etc/
    cp /yuntu/db/dbca.rsp  /yuntu/db/db_install.rsp  /yuntu/db/netca.rsp /home/oracle/etc/
    chmod 755 -R /home/oracle/etc
        
        vi /home/oracle/etc/db_install.rsp 
        修改 ORACLE_HOSTNAME=4a2cba5cf3d2  中的4a2cba5cf3d2 改为自己服务器的主机名 (用hostname查询出来)
        
    2 数据库、监听、实例静默安装
     2.1静默安装数据库软件:
        su - oracle
        /ora/database/runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq
        等待成功后
        exit 或重新开一个命令窗口或su - yuntu 再执行以下命令
        /ora/oraInventory/orainstRoot.sh
        /ora/oracle/product/11.2.0/db_1/root.sh
        安装oracle完毕
        
     2.2静默创建监听
        netca /silent /responsefile /home/oracle/etc/netca.rsp
     2.3 静默安装实例(时间比较长)
        dbca -silent -responseFile /home/oracle/etc/dbca.rsp 
    
    3oracle常用命令
    
    sqlplus / as sysdba
    create user abc identified by 1;
    grant dba to abc;
    
    sqlplus abc/1@127.0.0.1:1521/orcl
    
    startup
    shutdown immediate
    
    lsnrctl status
    lsnrctl stop
    lsnrctl start
    
        
        
            
    

    相关文章

      网友评论

          本文标题:docker 静默安装oracle11g centos-7

          本文链接:https://www.haomeiwen.com/subject/gbrlkhtx.html