数据库


Oracle19C静默安装on CentOS8

<p>Oracle19C下载URL:<a href="https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html">https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html</a></p> <p>目录 1.在CentOS8下静默安装Oracle19C 脚本Oracle19C_silent_installation_LINUX.X64_193000_db_home.sh 2.Oracle19C 响应文件 easytongDB_dbca.rsp 3.随机启动脚本oracle</p> <h3>1.在CentOS8下静默安装Oracle19C 脚本</h3> <pre><code class="language-bash">#! /bin/bash HTNAME=ora19Cdb.Svc ## ## ############################################################################## ## ## ## 说明: ## ## 1、上传安装文件到指定目录 ## ## 2、运行脚本即可完成Oracle19C数据库安装、建库等配置操作。 ## ## ## ############################################################################## ## ## ## Oracle Database 19c Installation On CentOS 8 ## ## 目录:安装步骤 ## ##---------------------------------------------------------------------------- ## 1.上传安装包等文件至/opt目录 ## 2.修改主机名和IP ## 3.编辑内核参数 ## 3.1.编辑 vim /etc/sysctl.conf 添加以下行 ## 3.2.执行命令 sysctl -p 刷新 ## 4.资源限制limits.conf ## 5.定义本地YUM源 ## 6.升级系统、安装unzip、安装依赖包 ## 7.用户与组/文件夹及权限 ## 8.Oracle环境变量 ## 9.解压文件 ## 10.数据库软件安装 ## 10.1图形安装 ## 10.1.数据库软件安装 ## 10.2.静默安装 ## 10.3.安装完成最后,以root去执行脚本 ## 11.创建监听 ## 11.1.图形创建 ## 11.2.静默创建监听 ## 12.创建数据库 ## 12.1.图形创建 ## 12.2.静默创建数据库 ## 13.PLSQL连接时提示:协议不存在 ## 14.修改oracle启动配置文件 ## 15.修改oracle管理员密码 ## 16.设置随机启动 ## 17.配置防火墙允许放行1521端口 ## 18. Oracle基本操作说明 ## 18.1 登录数据库 提醒:切换至oracle用户 ## 18.2 Oracle数据库操作 ## 19.Oracle数据库启停等操作 ##*****************************************************************************************## ## 1.上传安装包等文件至/opt目录 ## 上传Oracle 19C安装包LINUX.X64_193000_db_home.zip,随机启动文件oracle和响应文件easytongDB_dbca.rsp及安装脚本文件 ## Oracle19C_silent_installation_LINUX.X64_193000_db_home-CentOS7.sh至/opt目录下,并给脚本添加执行权限。 ## 如果服务器不能上网,离线安装的话,还需要上传CentOS7的ISO配置本地源进行安装。 ## 2.修改主机名和IP ## 只适合单网卡 echo `ifconfig | grep 'inet' | awk '{print $2}' | head -1` $HTNAME &gt;&gt; /etc/hosts hostnamectl set-hostname $HTNAME echo 'Successfully set hostname &amp; IP !!!' ## 3.编辑内核参数 ## 3.1.编辑 vim /etc/sysctl.conf 添加以下行 echo "fs.file-max = 6815744" &gt;&gt; /etc/sysctl.conf echo "kernel.sem = 250 32000 100 128" &gt;&gt; /etc/sysctl.conf echo "kernel.shmmni = 4096" &gt;&gt; /etc/sysctl.conf echo "kernel.shmall = 1887436" &gt;&gt; /etc/sysctl.conf echo "kernel.shmmax = 7730941132" &gt;&gt; /etc/sysctl.conf echo "kernel.panic_on_oops = 1" &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 "net.ipv4.conf.all.rp_filter = 2" &gt;&gt; /etc/sysctl.conf echo "net.ipv4.conf.default.rp_filter = 2" &gt;&gt; /etc/sysctl.conf echo "fs.aio-max-nr = 1048576" &gt;&gt; /etc/sysctl.conf echo "net.ipv4.ip_local_port_range = 9000 65500" &gt;&gt; /etc/sysctl.conf echo 'Successfully set sysctl.conf !!!' ## 3.2.执行命令 sysctl -p 刷新 sysctl -p ## 4.资源限制 ## 编辑文件 vim /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 "oracle soft nproc 16384"   &gt;&gt; /etc/security/limits.conf echo "oracle hard nproc 16384"   &gt;&gt; /etc/security/limits.conf echo "oracle soft stack 10240"   &gt;&gt; /etc/security/limits.conf echo "oracle hard stack 32768"   &gt;&gt; /etc/security/limits.conf echo "oracle hard memlock 7549747" &gt;&gt; /etc/security/limits.conf echo "oracle soft memlock 7549747" &gt;&gt; /etc/security/limits.conf echo 'Successfully set limits.conf !!!' ## 5.定义本地YUM源 ## mount /opt/CentOS-8-x86_64-1905-dvd1.iso /mnt ### 或加载光驱,VM上光驱设备状态勾选已连接+打开电源时连接 # mount /dev/cdrom /mnt # mkdir /repobak # mv /etc/yum.repos.d/* /repobak # echo "[ora19c_baseos]" &gt;&gt; /etc/yum.repos.d/ora19c.repo # echo "name=19cbaseos" &gt;&gt; /etc/yum.repos.d/ora19c.repo # echo "baseurl=file:///mnt/BaseOS/" &gt;&gt; /etc/yum.repos.d/ora19c.repo # echo "enabled=1" &gt;&gt; /etc/yum.repos.d/ora19c.repo # echo "gpgcheck=0" &gt;&gt; /etc/yum.repos.d/ora19c.repo # echo "[henry_appstream]" &gt;&gt; /etc/yum.repos.d/ora19c.repo # echo "name=19cappstream" &gt;&gt; /etc/yum.repos.d/ora19c.repo # echo "baseurl=file:///mnt/AppStream/" &gt;&gt; /etc/yum.repos.d/ora19c.repo # echo "enabled=1" &gt;&gt; /etc/yum.repos.d/ora19c.repo # echo "gpgcheck=0" &gt;&gt; /etc/yum.repos.d/ora19c.repo # yum repolist all ## 6.升级系统、安装unzip、安装依赖包 dnf update -y dnf install -y unzip dnf install -y bc dnf install -y binutils dnf install -y compat-libstdc++-33 dnf install -y elfutils-libelf dnf install -y elfutils-libelf-devel dnf install -y fontconfig-devel dnf install -y glibc dnf install -y glibc-devel dnf install -y ksh dnf install -y libaio dnf install -y libaio-devel dnf install -y libXrender dnf install -y libXrender-devel dnf install -y libX11 dnf install -y libXau dnf install -y libXi dnf install -y libXtst dnf install -y libgcc dnf install -y librdmacm-devel dnf install -y libstdc++ dnf install -y libstdc++-devel dnf install -y libxcb dnf install -y make dnf install -y net-tools # Clusterware dnf install -y nfs-utils # ACFS dnf install -y python # ACFS dnf install -y python-configshell # ACFS dnf install -y python-rtslib # ACFS dnf install -y python-six # ACFS dnf install -y targetcli # ACFS dnf install -y smartmontools dnf install -y sysstat dnf install -y unixODBC dnf install -y libnsl2 dnf install -y libnsl2.i686 dnf install -y tigervnc* dnf install -y libnsl* echo 'Successfully set dnf Dependency package !!!' ## 7.用户与组/文件夹及权限 groupadd -g 54321 oinstall groupadd -g 54322 dba groupadd -g 54323 oper useradd -u 54321 -g oinstall -G dba,oper oracle echo 'oracle' | passwd --stdin oracle mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1 mkdir -p /u01/app/oraInventory chown -R oracle:oinstall /u01 chmod -R 775 /u01 echo 'Successfully add user &amp; group !!!' ## 8. Oracle环境变量 mkdir /home/oracle/scripts cat &gt; /home/oracle/scripts/setEnv.sh &lt;&lt;EOF # Oracle Settings export TMP=/tmp export TMPDIR=\$TMP export ORACLE_HOSTNAME=`hostname` export ORACLE_UNQNAME=easytongDB export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=\$ORACLE_BASE/product/19.0.0/dbhome_1 export ORA_INVENTORY=/u01/app/oraInventory export ORACLE_SID=easytongDB export PDB_NAME=ORDERS export PATH=/usr/sbin:/usr/local/bin:\$PATH export PATH=\$ORACLE_HOME/bin:\$PATH export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib EOF export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib echo ". /home/oracle/scripts/setEnv.sh" &gt;&gt; /home/oracle/.bash_profile chown -R oracle:oinstall /home/oracle/scripts/setEnv.sh echo 'Successfully set oracle Environment variable !!!' ## 9.解压文件 chown -R oracle:oinstall /opt/* chmod -R 775 /opt/* su - oracle &lt;&lt; EOF #cd $ORACLE_HOME cd /u01/app/oracle/product/19.0.0/dbhome_1 echo 'unziping LINUX.X64_193000_db_home.zip......' unzip -oq /opt/LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1/ export CV_ASSUME_DISTID=RHEL7.6 echo 'Successfully unzip LINUX.X64_193000_db_home.zip !!!' ## 10.数据库软件安装 ## 10.1图形安装 ## ./runInstaller ## 10.2.静默安装 ./runInstaller -ignorePrereq -waitforcompletion -silent \ -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_install.rsp \ oracle.install.option=INSTALL_DB_SWONLY \ ORACLE_HOSTNAME=henry \ UNIX_GROUP_NAME=oinstall \ INVENTORY_LOCATION=/u01/app/oraInventory \ SELECTED_LANGUAGES=en,en_GB \ ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 \ ORACLE_BASE=/u01/app/oracle \ oracle.install.db.InstallEdition=EE \ oracle.install.db.OSDBA_GROUP=dba \ oracle.install.db.OSOPER_GROUP=oper \ oracle.install.db.OSBACKUPDBA_GROUP=dba \ oracle.install.db.OSDGDBA_GROUP=dba \ oracle.install.db.OSKMDBA_GROUP=dba \ oracle.install.db.OSRACDBA_GROUP=dba \ SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \ DECLINE_SECURITY_UPDATES=true EOF echo 'Successfully Install Oracle Software !!!' ## 10.3.安装完成最后,以root去执行脚本 /u01/app/oraInventory/orainstRoot.sh echo '/u01/app/oraInventory/orainstRoot.sh Execute Complete !!!' /u01/app/oracle/product/19.0.0/dbhome_1/root.sh echo '/u01/app/oracle/product/19.0.0/dbhome_1/root.sh Execute Complete !!!' ## 11.创建监听 ## 11.1.图形创建 ## netca ## 11.2.静默创建监听 su - oracle &lt;&lt;EOF # cd /u01/app/oracle/product/19.0.0/dbhome_1 export CV_ASSUME_DISTID=RHEL7.6 netca -silent -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/assistants/netca/netca.rsp echo 'netca.rps Execute complete !!!' ## 12.创建数据库 ## 12.1.图形创建 ##dbca ## 12.2.静默创建数据库 ## 根据响应文件创建数据库 #chown -R oracle:oinstall /opt/2easytongDB_dbca #dbca -silent -createDatabase -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/2easytongDB_dbca.rsp dbca -silent -createDatabase -responseFile /opt/easytongDB_dbca.rsp echo 'easytongDB_dbca.rsp Successfully Execute !!!' EOF ## 13.PLSQL连接时提示:协议不存在 echo 'SQLNET.ALLOWED_LOGON_VERSION=8' &gt;&gt; /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/sqlnet.ora ##echo 'SQLNET.ALLOWED_LOGON_CLIENT=8' &gt;&gt; /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/sqlnet.ora echo 'Successfully Setup sqlnet.ora !!!' ## 14.修改oracle启动配置文件 sed -i 's/easytongDB:\/u01\/app\/oracle\/product\/19.0.0\/dbhome_1:N/easytongDB:\/u01\/app\/oracle\/product\/19.0.0\/dbhome_1:Y/g' /etc/oratab echo 'Successfully Setup /etc/oratab !!!' ## 15.修改oracle管理员密码 su - oracle &lt;&lt;EOF sqlplus / as sysdba alter user system identified by hz310012; alter user sys identified by hz310012; EOF ## 16.设置随机启动 echo 'su oracle -lc "/u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl start"' &gt;&gt; /etc/rc.d/rc.local echo 'su oracle -lc "/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbstart"' &gt;&gt; /etc/rc.d/rc.local chmod +x /etc/rc.d/rc.local cp /opt/oracle /etc/init.d/ chmod +x /etc/init.d/oracle ln -s /etc/rc.d/init.d/oracle /etc/rc0.d/K61oracle ln -s /etc/rc.d/init.d/oracle /etc/rc2.d/S61oracle ln -s /etc/rc.d/init.d/oracle /etc/rc3.d/S61oracle ln -s /etc/rc.d/init.d/oracle /etc/rc4.d/S61oracle ln -s /etc/rc.d/init.d/oracle /etc/rc6.d/K61oracle echo 'Set random boot to complete !!!' ## 17.配置防火墙允许放行1521端口 firewall-cmd --zone=public --add-port=1521/tcp --permanent firewall-cmd --reload echo 'Oracle19C successfully installed and set all configuration items !!!' ## 18. Oracle基本操作说明 ## 18.1 登录数据库 提醒:切换至oracle用户 ## su - oracle ## sqlplus / as sysdba ## SQL&gt; select open_mode from v$database; ## SQL&gt; select status from v$instance; ## ## 18.2 Oracle数据库操作 ## sqlplus / as sysdba //登录数据库 ## alter user sys identified by oracle; //改sys超级管理员密码 ## alter user system identified by oracle; //改system管理员密码 ## exit //退出数据库 ## sqlplus sys/oracle as sysdba //使用sys超级管理员登录数据库 ## startup //启动数据库 ## Select name from v$database; //查看数据库 ## Shutdown abort //关闭数据库 ## Conn system/oracle //切换用户conn后面直接跟用户名和密码就可以 ## ## 19.Oracle数据库启停等操作 ## service oracle start ## service oracle stop ## service oracle reload ## </code></pre> <h3>2.Oracle19C 响应文件 easytongDB_dbca.rsp</h3> <pre><code class="language-bash">responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0 gdbName=easytongDB sid=easytongDB databaseConfigType=SI policyManaged=false createServerPool=false createAsContainerDatabase=false numberOfPDBs=1 pdbName= useLocalUndoForPDBs=true pdbAdminPassword=hz310012 templateName=/u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc sysPassword=Hz310012 systemPassword=Hz310012 emExpressPort=5500 runCVUChecks=false omsPort=0 dvConfiguration=false olsConfiguration=false datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates datafileDestination={ORACLE_HOME}/oradata/{DB_UNIQUE_NAME} recoveryAreaDestination={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME} storageType=FS characterSet=ZHS16GBK nationalCharacterSet=AL16UTF16 registerWithDirService=false listeners=LISTENER variables=DB_UNIQUE_NAME=easytongDB,ORACLE_BASE=/u01/app/oracle,PDB_NAME=,DB_NAME=easytongDB,ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1,SID=easytongDB sampleSchema=false memoryPercentage=40 databaseType=DATA_WAREHOUSING automaticMemoryManagement= totalMemory=2048</code></pre> <h3>3.随机启动脚本oracle</h3> <pre><code class="language-bash">#!/bin/sh # chkconfig: 345 61 61 # description: Oracle 11g R2 AutoRun Servimces # /etc/init.d/oracle # # Run-level Startup script for the Oracle Instance, Listener, and # Web Interface export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1 export ORACLE_SID=EasyTongDB export PATH=$PATH:$ORACLE_HOME/bin ORA_OWNR="oracle" # if the executables do not exist -- display error if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ] then echo "Oracle startup: cannot start" #exit 1 fi # depending on parameter -- startup, shutdown, restart # of the instance and listener or usage display case "$1" in start) # Oracle listener and instance startup su $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart echo "Oracle Start Succesful!OK." ;; stop) # Oracle listener and instance shutdown su $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut echo "Oracle Stop Succesful!OK." ;; reload|restart) $0 stop $0 start ;; *) echo $"Usage: `basename $0` {start|stop|reload|reload}" exit 1 esac exit 0</code></pre>

页面列表

ITEM_HTML