Oracle 11g 静默安装
说明:
系统:centos 6.x
安装目录: /data/oracle是$ORACLE_BASE目录
主机名: oracle
oracle版本: 11.2.0.1.0 EE
第一步:一键准备环境脚本
脚本可以多次运行,有设置aliyun的epel源和yum源,内容如下:
#!/bin/bash
# create a auto-install oracle_11g-db
# Author: clc
# create data: 2017-04-28
# OS: CENTOS 6
# set hostname is oracle
function env_prepare(){
# stop iptables and selinux
/etc/init.d/iptables stop && chkconfig --level 35 iptables off
setenforce 0 && sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config 
#change hostname
hostname oracle
a=`grep -c  "HOSTNAME=oracle" /etc/sysconfig/network`
if [ $a -lt 1 ]
    then
		echo "HOSTNAME=oracle">>/etc/sysconfig/network
fi
#add hostname to hosts
a_ip=`ifconfig |awk -F "[: ]+" '{if(NR==2)print $4}'`
bb=`grep -c "oracle" /etc/hosts`
if [ $bb -lt 1 ]
	then
	echo "${a_ip}  oracle" >>/etc/hosts
fi
#change repo and epel yum
ee=`ls /etc/yum.repos.d/|grep epel.repo|wc -l`
if [ $ee -lt 1 ]
	then
	mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup\
	&& wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo\
	&& wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
fi
#software install
yum install gcc make binutils gcc-c++ compat-libstdc++-33 \
elfutils-libelf-devel elfutils-libelf  libaio libaio-devel \
numactl-devel sysstat unixODBC unixODBC-devel  glibc  \
glibc-common  glibc-devel glibc-headers   libgcc libgomp\
libstdc++ libstdc++-devel pdksh unzip -y
cc=`rpm -aq|grep pdksh|wc -l`
dd=`ls |grep "pdksh"|wc -l`
if [ $cc -lt 1 -a $dd -lt 1 ]
	then
	wget ftp://ftp.linux.ro/centos/5.11/os/i386/CentOS/pdksh-5.2.14-37.el5_8.1.i386.rpm \
	&& rpm -ivh pdksh-5.2.14-37.el5_8.1.i386.rpm
fi
#create user
b=`grep -c "oinstall" /etc/group`
c=`grep -c "dba" /etc/group`
d=`grep -c "oracle" /etc/passwd`
if [ $b -lt 1 ]
	then
	groupadd oinstall 
fi
if [ $c -lt 1 ]
	then
	groupadd dba
fi
if [ $d -lt 1 ]
	then
	useradd -G dba,oinstall -g dba oracle
fi
#mkdir directory
mkdir /data/oracle/product/11.2.0/db_1/ -p
mkdir /data/oraInventory -p
#change directory privileges 
chown -R oracle:oinstall /data
#enviroment prepare
e=`egrep -c  "2047|16384|1024|65536" /etc/security/limits.conf `
if [ $e -lt 4 ]
	then
	echo "oracle soft nproc 2047" >>/etc/security/limits.conf
	echo "oracle hard nproc 16384" >>/etc/security/limits.conf
	echo "oracle soft nofile 1024" >>/etc/security/limits.conf
	echo "oracle hard nofile  65536" >>/etc/security/limits.conf
fi
#kernel set
f=`egrep -c  "1048576|6815744|2097152|4096|9000|32000|262144|\
4194304|262144|1048576" /etc/sysctl.conf`
if [ $f -lt 10 ]
	then
	echo -e  "fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824 
#!!!this is half of physical memory 
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" >>/etc/sysctl.conf && \
sysctl -p
fi
#oracle env 
g=`egrep -c "ORACLE_HOME|ORACLE_BASE"  /home/oracle/.bash_profile` 
if [ $g -lt 2 ]
	then
	echo 'export ORACLE_BASE=/data/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 LANG=C' >/tmp/oracle_env && \
	su - oracle -c -l "cat /tmp/oracle_env >>/home/oracle/.bash_profile"
fi
#add swap space
ff=`ls /home|grep "swapfile"|wc -l `
if [ $ff -lt 1 ]
	then
	dd if=/dev/zero of=/home/swapfile bs=1M count=2048 && \
	mkswap /home/swapfile && \
	swapon /home/swapfile 
fi
}
function main(){
env_prepare
}
main
第二步:上传oracle软件
上传软件之后,解压:unzip 1.zip && unzip 2.zip
可以把解压后的安装软件放在/tmp目录或在/data/目录下,要更改一下属主,chown -R oracle ./database
第三步:安装
进入到软件database目录,安装的命令如下:
./runInstaller -silent -responseFile /home/oracle/db_install.rsp -ignorePrereq
rsp文件在软件下的./database/response/目录下有,我们可以根据那个更改,而且也有参数的说明。
db_install.rsp文件如下:
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=oracle UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/data/oraInventory SELECTED_LANGUAGES=en,zh_CN,zh_TW ORACLE_HOME=/data/oracle/product/11.2.0/db_1 ORACLE_BASE=/data/oracle oracle.install.db.InstallEdition=EE oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=oracle UNIX_GROUP_NAME=oinstall SELECTED_LANGUAGES=en,zh_CN,zh_TW ORACLE_HOME=/data/oracle/product/11.2.0/db_1 ORACLE_BASE=/data/oracle oracle.install.db.InstallEdition=EE oracle.install.db.isCustomInstall=false oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0 oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=dba oracle.install.db.CLUSTER_NODES= oracle.install.db.config.starterdb.type= oracle.install.db.config.starterdb.globalDBName= oracle.install.db.config.starterdb.SID= oracle.install.db.config.starterdb.characterSet=AL32UTF8 oracle.install.db.config.starterdb.memoryOption=true oracle.install.db.config.starterdb.memoryLimit= oracle.install.db.config.starterdb.installExampleSchemas=false oracle.install.db.config.starterdb.enableSecuritySettings=true oracle.install.db.config.starterdb.password.ALL= oracle.install.db.config.starterdb.password.SYS= oracle.install.db.config.starterdb.password.SYSTEM= oracle.install.db.config.starterdb.password.SYSMAN= oracle.install.db.config.starterdb.password.DBSNMP= oracle.install.db.config.starterdb.control=DB_CONTROL oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL= oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false oracle.install.db.config.starterdb.dbcontrol.emailAddress= oracle.install.db.config.starterdb.dbcontrol.SMTPServer= oracle.install.db.config.starterdb.automatedBackup.enable=false oracle.install.db.config.starterdb.automatedBackup.osuid= oracle.install.db.config.starterdb.automatedBackup.ospwd= oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE oracle.install.db.config.starterdb.fileSystemStorage.dataLocation= oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation= oracle.install.db.config.asm.diskGroup= oracle.install.db.config.asm.ASMSNMPPassword= MYORACLESUPPORT_USERNAME= MYORACLESUPPORT_PASSWORD= SECURITY_UPDATES_VIA_MYORACLESUPPORT= DECLINE_SECURITY_UPDATES=true PROXY_HOST= PROXY_PORT= PROXY_USER= PROXY_PWD=
安装是在后台完成的,最后安装成功之后会叫你用root执行两个脚本,你可以查看安装目录的大小,应该是不断增加的,如下:
#Root scripts to run
/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/db_1/root.sh
To execute the configuration scripts:
        1. Open a terminal window
        2. Log in as "root"
        3. Run the scripts
        4. Return to this window and hit "Enter" key to continue
Successfully Setup Software.
第三步:配置监听程序
netca.rsp可以直接使用./database/response目录下的netca.rsp文件,配置命令如下:
netca /silent /responsefile /data/database/response/netca.rsp
有没有成功可以查看输出,安装之后会有1521端口,而且是已经启动的。
第四步:静默安装数据库
命令如下:
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname orcl -sid orcl -responseFile NO_VALUE -characterSet ZHS16GBK -memoryPercentage 30 -syspassword 123456 -systempassword 123456 -dbsnmppassword 123456 -emConfiguration LOCAL
第五步:增加一个表空间和用户,用PL/SQL developer测试连接
增加一个clctest1的临时表空间和表空间,用户是clc1,增加的命令如下:
create temporary tablespace clctest1_temp tempfile '/data/oracle/oradata/orcl/clctest1_temp.dbf' size 32m autoextend on next 32m maxsize unlimited; create tablespace clctest1 logging datafile '/data/oracle/oradata/orcl/clctest1.dbf' size 32m autoextend on next 32m maxsize unlimited extent management local; create user clc1 identified by 123456 account unlock default tablespace clctest1 temporary tablespace clctest1_temp; grant connect,resource,dba to clc1;
然后在客户端的tnsname.ora设置如下:
# tnsnames.ora Network Configuration File: D:\app\Adnimitrator\product\11.2.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
CLC =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.180 )(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = clc)
    )
  )
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.183 )(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
图形安装报错
安装到68%的时候会报错:error in invoking target install of makefile /u01/xxxxxx/ins_cts.mk see
处理方法:
修改/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk,将 ctxhx: $(CTXHXOBJ) $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) 修改为: ctxhx: $(CTXHXOBJ) -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a 点击继续安装。接着又提示”Error in invoking target ‘agent nmhs’ of makefile ‘/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk.’ ,解决方法:在makefile中添加链接libnnz11库的参数 修改/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk,将 $(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11 点击继续安装。
弹框竖条
安装的时候弹出对话框看不到或者一个竖条,可以在安装的时候加上以下参数:
./runInstaller -jreLoc /etc/alternatives/jre_1.8.0 (这个jre你把基础环境弄好就会有的,不需要安装jdk环境)
原文链接:Oracle 11g 静默安装及图形安装错误及竖条,转载请注明来源!
