centos7 静默安装orcle 亦凉 2021-09-14 23:50 325阅读 0赞 http://www.mamicode.com/info-detail-1647762.html ## 一、安装前环境准备 ## 1、 VMware Workstation 10 搭建 CentOS 7 x64位虚拟机,CentOS7操作系统最小化安装,2G内存,20G磁盘空间,1核CPU,已配置好网络IP:192.168.1.30 [![技术分享][wKiom1hSTbvA5DSaAABvxQDYKtU733.png-wh_500x0-wm_3-wmp_4-s_487836225.png]][wKiom1hSTbvA5DSaAABvxQDYKtU733.png-wh_500x0-wm_3-wmp_4-s_487836225.png] 2、 已下载Oracle 11gLinux安装文件:linux.x64\_11gR2\_database\_1of2.zip和linux.x64\_11gR2\_database\_2of2.zip [![技术分享][wKioL1hSTfTgTWWwAAAU3DdQ-sU675.png-wh_500x0-wm_3-wmp_4-s_2818151975.png]][wKioL1hSTfTgTWWwAAAU3DdQ-sU675.png-wh_500x0-wm_3-wmp_4-s_2818151975.png] 3、 通过XmanagerXftp上传到虚拟机/tmp目录中。 [![技术分享][wKiom1hSTgLzIrkcAAE_pnNkX6I449.png-wh_500x0-wm_3-wmp_4-s_895070800.png]][wKiom1hSTgLzIrkcAAE_pnNkX6I449.png-wh_500x0-wm_3-wmp_4-s_895070800.png] ## 二、操作系统准备工作 ## 1. 使用root用户登录操作系统 2. yum 安装 unzip 软件,用来解压上传的Oracle安装文件。 \[root@CentOS ~\]\#yum install unzip –y 1. 解压Oracle 安装程序 \[root@CentOS~\]\#cd /data/oracle/oraclesetup \[root@CentOS tmp\]\#unzip linux.x64\_11gR2\_database\_1of2.zip && unziplinux.x64\_11gR2\_database\_2of2.zip 等待解压完成后,会在/data/oracle/oraclesetup目录下生产一个database文件夹,里面就Oracle11g安装文件。 [![技术分享][wKioL1hSTg7zNwyLAAAg-Ehebrc980.png-wh_500x0-wm_3-wmp_4-s_1566743131.png]][wKioL1hSTg7zNwyLAAAg-Ehebrc980.png-wh_500x0-wm_3-wmp_4-s_1566743131.png] 1. Yum 安装vim软件,用于编辑配置文件(个人习惯,不安装vim,使用vi也可以)。 \[root@CentOStmp\]\#yum install vim -y 1. 在/etc/hosts文件中添加主机名 \[root@CentOS tmp\]\# vim /etc/hosts 添加192.168.206.135 CentOS [![技术分享][wKioL1hSTkGz8yiZAAAL-wyaf2E791.png]][wKioL1hSTkGz8yiZAAAL-wyaf2E791.png] 1. 关闭selinux \[root@CentOS tmp\]\# vim /etc/selinux/config 设置SELINUX=disabled [![技术分享][wKiom1hSTimTz72ZAAAsp40Pq0Y303.png]][wKiom1hSTimTz72ZAAAsp40Pq0Y303.png] \[root@CentOS tmp\]\# setenforce 0 1. 关闭防火墙 \[root@CentOS tmp\]\# service iptables stop \[root@CentOS ~\]\# systemctl stop firewalld \[root@CentOS ~\]\# systemctl disable firewalld 1. 安装Oracle 11g依赖包 \[root@CentOS tmp\]\# yum install gcc make binutils gcc-c++ compat-libstdc++-33elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel –y 1. 添加安装用户和用户组 \[root@CentOS tmp\]\# groupadd oinstall \[root@CentOS tmp\]\# groupadd dba \[root@CentOS tmp\]\# useradd -g oinstall -G dba oracle \[root@CentOS tmp\]\# passwd oracle \[root@CentOS tmp\]\# id oracle uid=1001(oracle) gid=1001(oinstall) 组=1001(oinstall),1002(dba) 1. 修改内核参数配置文件 \[root@CentOS ~\]\# vim /etc/sysctl.conf 添加以下内容 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 1073741824 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 \[root@CentOS ~\]\# sysctl -p 其中kernel.shmmax = 1073741824为本机物理内存(2G)的一半,单位为byte。 1. 修改用户的限制文件 \[root@CentOS ~\]\# vim /etc/security/limits.conf 添加以下内容 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 修改/etc/pam.d/login文件: \[root@CentOS ~\]\# vim /etc/pam.d/login 添加以下内容: session required /lib64/security/pam\_limits.so session required pam\_limits.so 修改/etc/profile文件: \[root@CentOS ~\]\# vim /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 1. 创建安装目录和设置文件权限 \[root@CentOS ~\]\# mkdir -p /data/oracle/product/11.2.0 \[root@CentOS ~\]\# mkdir /data/oracle/oradata \[root@CentOS ~\]\# mkdir /data/oracle/inventory \[root@CentOS ~\]\# mkdir /data/oracle/fast\_recovery\_area \[root@CentOS ~\]\# chown -R oracle:oinstall /data/oracle \[root@CentOS ~\]\# chmod -R 775 /data/oracle 1. 设置oracle用户环境变量 \[root@CentOS ~\]\# su - oracle \[oracle@CentOS ~\]$ vim .bash\_profile 添加如下内容: ORACLE\_BASE=/data/oracle ORACLE\_HOME=$ORACLE\_BASE/product/11.2.0 ORACLE\_SID=ora11 PATH=$PATH:$ORACLE\_HOME/bin export ORACLE\_BASE ORACLE\_HOME ORACLE\_SIDPATH 注意,标红处必须与创建的数据库实例名称一致,否则数据库启动后无法访问。 1. 编辑静默安装响应文件 \[oracle@CentOS ~\]$ cp -R /data/oracle/oraclesetup/database/response/ . \[oracle@CentOS ~\]$ cd response/ \[oracle@CentOS response\]$ vim db\_install.rsp 需要设置的选项如下: oracle.install.option=INSTALL\_DB\_SWONLY ORACLE\_HOSTNAME=CentOS UNIX\_GROUP\_NAME=oinstall INVENTORY\_LOCATION=/data/oracle/inventory SELECTED\_LANGUAGES=en,zh\_CN ORACLE\_HOME=/data/oracle/product/11.2.0 ORACLE\_BASE=/data/oracle oracle.install.db.InstallEdition=EE oracle.install.db.DBA\_GROUP=dba oracle.install.db.OPER\_GROUP=dba DECLINE\_SECURITY\_UPDATES=true ## 三、根据响应文件静默安装Oracle11g ## \[oracle@CentOS response\]$ cd /data/oracle/oraclesetup/database/ \[oracle@iZwz93mxkrdvotp49mmzfjZ database\]$ ./runInstaller -silent -responseFile/data/oracle/response/db\_install.rsp -ignorePrereq 如果执行以上命令出错,会提示有参数格式,按照提示参数格式修改修改即可,一般是由于word中的字体、符号格式复制到客户端命令行后不一致引起,修改即可 [![技术分享][wKioL1hSTl_i_daTAABm9x0MaNA805.png]][wKioL1hSTl_i_daTAABm9x0MaNA805.png] 开始Oracle在后台静默安装。安装过程中,如果提示\[WARNING\]不必理会,此时安装程序仍在后台进行,如果出现\[FATAL\],则安装程序已经停止了。 可以在以下位置找到本次安装会话的日志: /data/oracle/inventory/logs/installActions2015-06-08\_04-00-25PM.log 可以切换终端执行top命令查看后台进程一直是在安装的,/u01目录也在不断增大, 当出现以下提示时,代表安装成功: [![技术分享][wKiom1hSTm7THxJLAAApwLmNv8M792.png]][wKiom1hSTm7THxJLAAApwLmNv8M792.png] 按照要求执行脚本。 打开终端,以root身份登录,执行脚本: \[root@CentOS~\]\# sh /data/oracle/inventory/db\_1/orainstRoot.sh \[root@CentOS~\]\# sh /data/oracle/product/11.2.0/db\_1/root.sh [![技术分享][wKioL1hSTn_B_Pb9AAAuJktZojU617.png]][wKioL1hSTn_B_Pb9AAAuJktZojU617.png] ## 四、以静默方式配置监听 ## 重新使用oracle用户登录 \[oracle@iZwz93mxkrdvotp49mmzfjZ~\]$ netca /silent /responseFile /data/oracle/response/netca.rsp 注意此处,必须使用/silent /responseFile格式,而不是\-silent -responseFile,因为是静默安装 [![技术分享][wKiom1hSTqrwg_h3AAA3we3dP2U247.png]][wKiom1hSTqrwg_h3AAA3we3dP2U247.png] 成功运行后,在/data/oracle/product/11.2.0/db\_1/network/admin/中生成listener.ora和sqlnet.ora 通过netstat命令可以查看1521端口正在监听。 Yum安装netstat软件,软件包是在net-tools中。 \[root@CentOS~\]\# yum install net-tools \[root@CentOS~\]\# netstat -tnulp | grep 1521 [![技术分享][wKiom1hSTpHCq6HtAAAK-7xQJoY696.png]][wKiom1hSTpHCq6HtAAAK-7xQJoY696.png] ## 五、以静默方式建立新库,同时也建立一个对应的实例。 ## \[oracle@CentOS~\]$ vim /data/oracle/response/dbca.rsp 设置以下参数: GDBNAME= "ora11" SID =" ora11" SYSPASSWORD= " system@2016" SYSTEMPASSWORD= "system@2016" SYSMANPASSWORD= " system@2016" DBSNMPPASSWORD= " system@2016" DATAFILEDESTINATION=/data/oracle/oradata RECOVERYAREADESTINATION=/data/oracle/fast\_recovery\_area CHARACTERSET= "ZHS16GBK" TOTALMEMORY= "1638" 其中TOTALMEMORY ="1638" 为1638MB,物理内存2G\*80%。 进行静默配置: \[oracle@CentOS~\]$ dbca -silent -responseFile /data/oracle/response/dbca.rsp [![技术分享][wKiom1hSTrzSBovFAAAydzaMDnk396.png]][wKiom1hSTrzSBovFAAAydzaMDnk396.png] 建库后进行实例进程检查: \[oracle@CentOS~\]$ ps -ef | grep ora\_ | grep -v grep [![技术分享][wKiom1hSTszgAvy-AABNH41336w085.png]][wKiom1hSTszgAvy-AABNH41336w085.png] 查看监听状态: \[oracle@CentOS~\]$ lsnrctl status [![技术分享][wKiom1hSTtrgXbDTAABhkDuV37s121.png]][wKiom1hSTtrgXbDTAABhkDuV37s121.png] 登录查看实例状态: \[oracle@CentOS~\]$ sqlplus / as sysdba SQL> select status from v$instance; [![技术分享][wKioL1hSTuaTBcxwAAAlQoJ-E48378.png]][wKioL1hSTuaTBcxwAAAlQoJ-E48378.png] ## 六、Oracle开机自启动设置 ## 1. 修改/data/oracle/product/11.2.0/bin/dbstart \[oracle@CentOS~\]$ vim /data/oracle/product/11.2.0/bin/dbstart 将ORACLE\_HOME\_LISTNER=$1修改为ORACLE\_HOME\_LISTNER=$ORACLE\_HOME 1. 修改/data/oracle/product/11.2.0/bin/dbshut \[oracle@CentOS~\]$ vim /data/oracle/product/11.2.0/bin/dbshut 将ORACLE\_HOME\_LISTNER=$1修改为ORACLE\_HOME\_LISTNER=$ORACLE\_HOME 1. 修改/etc/oratab文件 \[oracle@CentOS~\]$ vim /etc/oratab 将orcl:/data/oracle/product/11.2.0:N中最后的N改为Y,成为orcl:/data/oracle/product/11.2.0:Y 1. 输入命令dbshut和dbstart测试 \[oracle@CentOS~\]$ dbshut [![技术分享][wKiom1hSTvHSngC3AABFgCrxMm8774.png]][wKiom1hSTvHSngC3AABFgCrxMm8774.png] Oracle监听停止,进程消失。 \[oracle@CentOS~\]$ dbstart [![技术分享][wKioL1hSTvyigm1XAAB0pkhchBc974.png]][wKioL1hSTvyigm1XAAB0pkhchBc974.png] Oracle监听启动,进程启动。 1. 切换到root账户建立自启动脚本 \[oracle@CentOS~\]$ su - \[root@CentOS~\]\# vim /etc/rc.d/init.d/oracle 添加以下内容(有些值如ORACLE\_HOME和ORACLE\_USER等根据实际情况可以修改): \#!/bin/bash \#oracle: Start/Stop Oracle Database 11g R2 \#chkconfig: 345 90 10 \#description: The Oracle Database is an Object-Relational Database ManagementSystem. \# ./etc/rc.d/init.d/functions LOCKFILE=/var/lock/subsys/oracle ORACLE\_HOME=/data/oracle/product/11.2.0/db\_1 ORACLE\_USER=oracle case"$1" in ‘start‘) if \[ -f $LOCKFILE \];then echo $0 already running. else echo -n $"StartingOracle Database:" su - $ORACLE\_USER -c"$ORACLE\_HOME/bin/lsnrctl start" su - $ORACLE\_USER -c"$ORACLE\_HOME/bin/dbstart $ORACLE\_HOME" su - $ORACLE\_USER -c"$ORACLE\_HOME/bin/emctl start dbconsole" touch $LOCKFILE fi ;; ‘stop‘) if \[ ! -f $LOCKFILE \]; then echo $0 already stopping. else echo -n $"StoppingOracle Database:" su - $ORACLE\_USER -c"$ORACLE\_HOME/bin/lsnrctl stop" su - $ORACLE\_USER -c"$ORACLE\_HOME/bin/dbshut" su - $ORACLE\_USER -c"$ORACLE\_HOME/bin/emctl stop dbconsole" rm -f $LOCKFILE fi ;; ‘restart‘) $0 stop sleep 5 $0 start ;; ‘status‘) if \[ -f $LOCKFILE \]; then echo $0 started. else echo $0 stopped. fi ;; \*) echo "Usage: $0\[start|stop|status\]" exit 1 esac exit 0 1. 修改/etc/init.d/oracle服务文件权限 \[root@CentOSinit.d\]\# chmod 755 /etc/init.d/oracle 1. 设置为开机启动 \[root@CentOS~\]\# chkconfig oracle on [![技术分享][wKiom1hSTw-gmgVgAAApyBGlIxc317.png]][wKiom1hSTw-gmgVgAAApyBGlIxc317.png] 1. 进行service oracle start/stop/restart测试 [![技术分享][wKioL1hSTxvTWZ0_AAAggGEzPyo931.png]][wKioL1hSTxvTWZ0_AAAggGEzPyo931.png] [![技术分享][wKiom1hSTyqiCRPfAAAR7NIT5hk552.png]][wKiom1hSTyqiCRPfAAAR7NIT5hk552.png] 1. Reboot重启查看Oracle监听和实例进程均能自动启动 2. 3. 原文地址:http://canonind.blog.51cto.com/8239025/1883066 \#安装其它依赖 yum -y install binutils compat-libcap1 compat-libstdc++ gcc gcc-c++ glibc glibc-devel libgcc libstdc++ libstdc++-devel libaio sysstat libaio-devel elfutils-libelf-devel unixODBC unixODBC-devel 增加交换空间有两种方法: 严格的说,在系统安装完后只有一种方法可以增加swap,那就是本文的第二种方法, 至于第一种方法应该是安装系统时设置交换区。 1、使用分区: 在安装OS时划分出专门的交换分区,空间大小要事先规划好,启动系统时自动进行mount。 这种方法只能在安装OS时设定,一旦设定好不容易改变,除非重装系统。 2、使用swapfile:(或者是整个空闲分区) 新建临时swapfile或者是空闲分区,在需要的时候设定为交换空间,最多可以增加8个swapfile。 交换空间的大小,与CPU密切相关,在i386系中,最多可以使用2GB的空间。 在系统启动后根据需要在2G的总容量下进行增减。 这种方法比较灵活,也比较方便,缺点是启动系统后需要手工设置。 下面是运用swapfile增加交换空间的步骤: 涉及到的命令: free ---查看内存状态命令,可以显示memory,swap,buffer cache等的大小及使用状况; dd ---读取,转换并输出数据命令; mkswap ---设置交换区 swapon ---启用交换区,相当于mount swapoff ---关闭交换区,相当于umount 步骤: 1、创建swapfile: root权限下,创建swapfile,假设当前目录为"/",执行如下命令: \# dd if=/dev/zero of=swapfile bs=1024 count=500000 则在根目录下创建了一个swapfile,名称为“swapfile”,大小为500M,也可以把文件输出到自己想要的任何目录中, 个人觉得还是直接放在根目录下比较好,一目了然,不容易误破坏,放在其他目录下则不然了; 命令中选项解释: ---of:输出的交换文件的路径及名称; ---bs:块大小,单位byte,一般为1k即1024个byte; ---count:总块数即空间总大小,单位为块即k; ---if:读取的源空闲空间,为什么是zero,不清楚,先固定这么写吧; 2、将swapfile设置为swap空间 \# mkswap swapfile 3、启用交换空间,这个操作有点类似于mount操作(个人理解): \# swapon swapfile 至此增加交换空间的操作结束了,可以使用free命令查看swap空间大小是否发生变化; 4、如果不再使用空间可以选择关闭交换空间,这个操作有点类似于umount操作(个人理解):: \# swapoff swapfile 使用这种方法在每次系统启动时都需要手动设置、开启swapfile,比较麻烦,解决方法: 在 /etc/rc.d/rc.local 文件的末行下追加加以下内容:(编辑这个文件当然是用vi了~) /sbin/swapon /swapfile 保存后退出,这样在系统启动后,swap空间就会自动加载了; 总结:在安装OS时一定要规划好swap大小,通常为内存的2倍,但是要考虑到以后增加内存的可能,所以可以考虑设的稍大一些, 不过在我们目前普遍使用的i386 PC机上,最大也不能超过2G。 ./ /data/oracle/inventory/orainstRoot.sh /data/oracle/product/11.2.0/root.sh [wKiom1hSTbvA5DSaAABvxQDYKtU733.png-wh_500x0-wm_3-wmp_4-s_487836225.png]: /images/20210813/ba045e8fb34946abb283c0f393d66082.png [wKioL1hSTfTgTWWwAAAU3DdQ-sU675.png-wh_500x0-wm_3-wmp_4-s_2818151975.png]: /images/20210813/c7e7cd1b1a2d4b60b3b4302ec2925706.png [wKiom1hSTgLzIrkcAAE_pnNkX6I449.png-wh_500x0-wm_3-wmp_4-s_895070800.png]: /images/20210813/02ead7b17ebc493a9ce8dc7d1cfe315b.png [wKioL1hSTg7zNwyLAAAg-Ehebrc980.png-wh_500x0-wm_3-wmp_4-s_1566743131.png]: /images/20210813/c172910287c0415690a73279c03ccafb.png [wKioL1hSTkGz8yiZAAAL-wyaf2E791.png]: /images/20210813/96590f70a2e74c70a31ab35f50f6223d.png [wKiom1hSTimTz72ZAAAsp40Pq0Y303.png]: http://s1.51cto.com/wyfs02/M00/8B/9B/wKiom1hSTimTz72ZAAAsp40Pq0Y303.png [wKioL1hSTl_i_daTAABm9x0MaNA805.png]: http://s1.51cto.com/wyfs02/M01/8B/97/wKioL1hSTl_i_daTAABm9x0MaNA805.png [wKiom1hSTm7THxJLAAApwLmNv8M792.png]: /images/20210813/ffda3e751ad7445cb4ba2808d40d1a06.png [wKioL1hSTn_B_Pb9AAAuJktZojU617.png]: /images/20210813/890a2e5d36164034b4b29fe70de96124.png [wKiom1hSTqrwg_h3AAA3we3dP2U247.png]: /images/20210813/238661d5bd1f409e8abddd408f88432e.png [wKiom1hSTpHCq6HtAAAK-7xQJoY696.png]: /images/20210813/abd5e241c8c74bb4a7de5fe276548fad.png [wKiom1hSTrzSBovFAAAydzaMDnk396.png]: /images/20210813/87b1aa80a6b84f3486da0efc4ce0809a.png [wKiom1hSTszgAvy-AABNH41336w085.png]: /images/20210813/f7e9093557844f1c9149098acab042d3.png [wKiom1hSTtrgXbDTAABhkDuV37s121.png]: /images/20210813/bb3d892a14534b46adbeb2f7b30ff13b.png [wKioL1hSTuaTBcxwAAAlQoJ-E48378.png]: http://s1.51cto.com/wyfs02/M01/8B/98/wKioL1hSTuaTBcxwAAAlQoJ-E48378.png [wKiom1hSTvHSngC3AABFgCrxMm8774.png]: http://s1.51cto.com/wyfs02/M02/8B/9B/wKiom1hSTvHSngC3AABFgCrxMm8774.png [wKioL1hSTvyigm1XAAB0pkhchBc974.png]: http://s1.51cto.com/wyfs02/M02/8B/98/wKioL1hSTvyigm1XAAB0pkhchBc974.png [wKiom1hSTw-gmgVgAAApyBGlIxc317.png]: /images/20210813/3c7d504c073140b1b1f793ec3d90d5e5.png [wKioL1hSTxvTWZ0_AAAggGEzPyo931.png]: http://s1.51cto.com/wyfs02/M00/8B/98/wKioL1hSTxvTWZ0_AAAggGEzPyo931.png [wKiom1hSTyqiCRPfAAAR7NIT5hk552.png]: /images/20210813/cc2f49aa23774d7f939161035bc40b56.png
还没有评论,来说两句吧...