数据库


Oracle11g静默安装

<p>在CentOS7下静默安装Oracle11g,步骤如下:</p> <h3>1、修改主机配置</h3> <p>安装前先配置IP、主机名等相关信息。Oracle默认会自动安装在/data目录。请保持 / 目录空间足够。</p> <pre><code class="language-bash">cat /etc/hosts 172.16.3.59 AutomtcTs.localdomain cat /etc/hostname AutomtcTs.localdomain</code></pre> <h3>2.更新系统</h3> <pre><code class="language-bash">yum update -y</code></pre> <h3>3.Oracle静默安装前依赖包安装及配置</h3> <pre><code class="language-bash">source ./orainstall-data.sh</code></pre> <pre><code class="language-bash">#!/bin/bash ## DB: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production ## OS: CentOS7.6 ## 如何执行这个脚本: source orainstall-data.sh yum -y install gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel echo "kernel.shmmni = 4096" &gt;&gt; /etc/sysctl.conf echo "kernel.sem = 250 32000 100 128" &gt;&gt; /etc/sysctl.conf echo "fs.file-max = 6815744" &gt;&gt; /etc/sysctl.conf echo "net.ipv4.ip_local_port_range = 9000 65500" &gt;&gt; /etc/sysctl.conf echo "net.core.rmem_default = 262144" &gt;&gt; /etc/sysctl.conf echo "net.core.rmem_max = 4194304" &gt;&gt; /etc/sysctl.conf echo "net.core.wmem_default = 262144" &gt;&gt; /etc/sysctl.conf echo "net.core.wmem_max = 1048576" &gt;&gt; /etc/sysctl.conf echo "fs.aio-max-nr = 1048576" &gt;&gt; /etc/sysctl.conf sysctl -p echo "oracle soft nproc 2047" &gt;&gt; /etc/security/limits.conf echo "oracle hard nproc 16384" &gt;&gt; /etc/security/limits.conf echo "oracle soft nofile 1024" &gt;&gt; /etc/security/limits.conf echo "oracle hard nofile 65536" &gt;&gt; /etc/security/limits.conf echo "session required pam_limits.so" &gt;&gt;/etc/pam.d/login groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba,oper oracle echo 'oracle' | passwd --stdin oracle mkdir -pv /data/app/oracle mkdir -pv /data/app/oraInventory chown -R oracle:oinstall /data/app chown -R oracle:oinstall /opt/database mkdir /oradata chown -R oracle:oinstall /oradata cp /home/oracle/.bash_profile /home/oracle/.bash_profile.org echo "ORACLE_SID=easytongdb; export ORACLE_SID" &gt;&gt; /home/oracle/.bash_profile echo "ORACLE_BASE=/data/app/oracle; export ORACLE_BASE" &gt;&gt; /home/oracle/.bash_profile echo "ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/dbhome_1;export ORACLE_HOME " &gt;&gt; /home/oracle/.bash_profile echo "ORACLE_PATH=/data/app/common/oracle/sql;export ORACLE_PATH" &gt;&gt; /home/oracle/.bash_profile echo "ORACLE_TERM=xterm; export ORACLE_TERM" &gt;&gt; /home/oracle/.bash_profile echo "TNS_ADMIN=\$ORACLE_HOME/network/admin; export TNS_ADMIN" &gt;&gt; /home/oracle/.bash_profile echo "ORA_NLS11=\$ORACLE_HOME/nls/data; export ORA_NLS11" &gt;&gt; /home/oracle/.bash_profile echo "PATH=.:\${JAVA_HOME}/bin:\${PATH}:\$ORACLE_HOME/bin" &gt;&gt; /home/oracle/.bash_profile echo "PATH=\${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin" &gt;&gt; /home/oracle/.bash_profile echo "export PATH" &gt;&gt; /home/oracle/.bash_profile echo "export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK" &gt;&gt; /home/oracle/.bash_profile echo "LD_LIBRARY_PATH=\$ORACLE_HOME/lib" &gt;&gt; /home/oracle/.bash_profile echo "LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:\$ORACLE_HOME/oracm/lib" &gt;&gt; /home/oracle/.bash_profile echo "LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib" &gt;&gt; /home/oracle/.bash_profile echo "export LD_LIBRARY_PATH" &gt;&gt; /home/oracle/.bash_profile echo "CLASSPATH=\$ORACLE_HOME/JRE" &gt;&gt; /home/oracle/.bash_profile echo "CLASSPATH=\${CLASSPATH}:\$ORACLE_HOME/jlib" &gt;&gt; /home/oracle/.bash_profile echo "CLASSPATH=\${CLASSPATH}:\$ORACLE_HOME/rdbms/jlib" &gt;&gt; /home/oracle/.bash_profile echo "CLASSPATH=\${CLASSPATH}:\$ORACLE_HOME/network/jlib" &gt;&gt; /home/oracle/.bash_profile echo "export CLASSPATH" &gt;&gt; /home/oracle/.bash_profile echo "THREADS_FLAG=native; export THREADS_FLAG" &gt;&gt; /home/oracle/.bash_profile echo "nls_date_format='yyyy-mm-dd hh24:mi:ss'" &gt;&gt; /home/oracle/.bash_profile echo "export TEMP=/tmp" &gt;&gt; /home/oracle/.bash_profile echo "export TMPDIR=/tmp" &gt;&gt; /home/oracle/.bash_profile echo "umask 022" &gt;&gt; /home/oracle/.bash_profile sed -i 's/oracle.install.option=/oracle.install.option=INSTALL_DB_SWONLY/g' /opt/database/response/db_install.rsp sed -i 's/ORACLE_HOSTNAME=/ORACLE_HOSTNAME='`hostname`'/g' /opt/database/response/db_install.rsp sed -i 's/UNIX_GROUP_NAME=/UNIX_GROUP_NAME=oinstall/g' /opt/database/response/db_install.rsp sed -i 's/INVENTORY_LOCATION=/INVENTORY_LOCATION=\/data\/app\/oraInventory/g' /opt/database/response/db_install.rsp sed -i 's/SELECTED_LANGUAGES=en/SELECTED_LANGUAGES=en,zh_CN/g' /opt/database/response/db_install.rsp sed -i 's/ORACLE_HOME=/ORACLE_HOME=\/data\/app\/oracle\/product\/11.2.0\/dbhome_1/g' /opt/database/response/db_install.rsp sed -i 's/ORACLE_BASE=/ORACLE_BASE=\/data\/app\/oracle/g' /opt/database/response/db_install.rsp sed -i 's/oracle.install.db.InstallEdition=/oracle.install.db.InstallEdition=EE/g' /opt/database/response/db_install.rsp sed -i 's/oracle.install.db.DBA_GROUP=/oracle.install.db.DBA_GROUP=dba/g' /opt/database/response/db_install.rsp sed -i 's/oracle.install.db.OPER_GROUP=/oracle.install.db.OPER_GROUP=oper/g' /opt/database/response/db_install.rsp sed -i 's/DECLINE_SECURITY_UPDATES=/DECLINE_SECURITY_UPDATES=true/g' /opt/database/response/db_install.rsp sed -i 's/GDBNAME = "orcl11g.us.oracle.com"/GDBNAME ="easytongdb"/g' /opt/database/response/dbca.rsp sed -i 's/SID = "orcl11g"/SID = "easytongdb"/g' /opt/database/response/dbca.rsp sed -i 's/#SYSPASSWORD = "password"/SYSPASSWORD = "hz310012"/g' /opt/database/response/dbca.rsp sed -i 's/#SYSTEMPASSWORD = "password"/SYSTEMPASSWORD = "hz310012"/g' /opt/database/response/dbca.rsp sed -i 's/#DATAFILEDESTINATION =/DATAFILEDESTINATION = \/oradata/g' /opt/database/response/dbca.rsp sed -i 's/#RECOVERYAREADESTINATION=/RECOVERYAREADESTINATION= \/data\/app\/oracle\/flash_recovery_area/g' /opt/database/response/dbca.rsp sed -i 's/#CHARACTERSET = "US7ASCII"/CHARACTERSET = "ZHS16GBK"/g' /opt/database/response/dbca.rsp sed -i 's/#TOTALMEMORY = "800"/TOTALMEMORY = "5120"/g' /opt/database/response/dbca.rsp echo "Complete !!! And Enter Next Step." echo "The next step is to do it manually."</code></pre> <h3>4、按如下步骤,手工执行</h3> <p>在Oracle安装脚本执行完成之后,按下面步骤手工操作。</p> <h5>(1)切换oracle用户,并进入oracle程序包目录</h5> <pre><code class="language-bash">su - oracle cd /opt/database</code></pre> <h5>(2)安装数据库</h5> <pre><code class="language-bash">./runInstaller -silent -responseFile /opt/database/response/db_install.rsp 此步骤安装需要一点时间,根据服务器不同配置,时长不同,请耐心等候。 根据安装提示,以root执行 /data/app/oraInventory/orainstRoot.sh 根据安装提示,以root执行 /data/app/oracle/product/11.2.0/dbhome_1/root.sh</code></pre> <h5>(3)创建数据库</h5> <pre><code class="language-bash">dbca -silent -responseFile /opt/database/response/dbca.rsp</code></pre> <h5>(4)配置监控</h5> <pre><code class="language-bash">netca -silent -responsefile /opt/database/response/netca.rsp</code></pre> <h5>(5)Oracle监听服务的启动/停止/状态查看</h5> <pre><code class="language-bash">lsnrctl status 查看Oracle监听服务状态 lsnrctl start 启动Oracle监听服务 lsnrctl stop 停止Oracle监听服务</code></pre> <h5>(6)设置Oracle随机启动</h5> <p>需切换至root用户或用sudo执行</p> <pre><code class="language-bash">sed -i 's/dbhome_1:N/dbhome_1:Y/g' /etc/oratab echo 'su oracle -lc "/data/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"' &gt;&gt; /etc/rc.d/rc.local echo 'su oracle -lc "/data/app/oracle/product/11.2.0/dbhome_1/bin/dbstart"' &gt;&gt; /etc/rc.d/rc.local chmod +x /etc/rc.d/rc.local</code></pre> <h3>5、开启Oracle端口/关闭防火墙</h3> <p>开启Oracle端口</p> <pre><code class="language-bash">firewall-cmd --zone=public --add-port=1521/tcp --permanent firewall-cmd --reload firewall-cmd --list-port</code></pre> <p>关闭防火墙</p> <pre><code class="language-bash">systemctl stop firewalld systemctl disable firewalld</code></pre>

页面列表

ITEM_HTML