docker 静默安装oracle11g centos-7

2020-03-01  本文已影响0人  QTong

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

    
    
        
上一篇下一篇

猜你喜欢

热点阅读