CentOS静默安装Oracle 11g R2

静默安装能减少安装出错的可能性, 也能大大加快安装速度.
 # 后跟命令表示以操作系统下root用户操作; 
 $ 后跟命令表示以操作系统下oracle用户操作; 
1.1 上传软件 假如放在/root
 1.2 Package安装检查
yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh numactl-devel glibc-headers
 # rpm -q  binutils   compat-libstdc++-33   elfutils-libelf   elfutils-libelf-devel   expat   gcc   gcc-c++   glibc   glibc-common   glibc-devel   glibc-headers   libaio   libaio-devel   libgcc   libstdc++   libstdc++-devel   make   pdksh   sysstat   unixODBC   unixODBC-devel | grep "not installed" 
 1.3 增加数据库组和用户
# id oracle (确认oracle用户是否存在)
 # /usr/sbin/groupadd oinstall (建立产品清单管理组)
 # /usr/sbin/groupadd dba (建立数据库安装组)
 # /usr/sbin/groupadd asmadmin (建立ASM管理组)
 # /usr/sbin/groupadd asmdba (建立Grid管理组)
 # /usr/sbin/useradd -g oinstall -G dba,asmdba oracle -d /home/oracle (oinstall为主要组,确保/home/oracle原不存在)
 # id oracle (记住oracle用户的uid和gid)
 uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba),504(asmdba)
 # passwd oracle
 1.4 调整OS内核参数
 设置原则:
kernel.shmmax 为 4GB-1byte或一半的物理内存, 哪个值更低用哪个;
fs.file-max 为512 * PROCESSES.
 # vi /etc/sysctl.conf (增加或修改以下参数, 参考值为最小需求, kernel.shmmax默认即可无需设置 )
fs.aio-max-nr = 1048576
 fs.file-max = 6815744
 kernel.shmall = 2097152
 #kernel.shmmax = 536870912
 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 = 1048586
 # /sbin/sysctl -p (设置参数立即生效)
1.5 增加shell限制
 为了提升性能增加oracle用户的shell限制.
 # vi /etc/security/limits.conf  (在文件最后增加或修改以下参数)
oracle    soft    nproc   2047
 oracle    hard    nproc   16384
 oracle    soft    nofile  1024
 oracle    hard    nofile  65536

# vi /etc/pam.d/login  (在文件最后增加或修改以下参数)
session    required     pam_limits.so

# vi /etc/profile  (在文件最后增加或修改以下脚本)
if [ $USER = "oracle" ]; then
         if [ $SHELL = "/bin/sh" ]; then
               ulimit -p 16384
               ulimit -n 65536
         else
               ulimit -u 16384 -n 65536
         fi
 fi

1.6 建立必需目录
# more /etc/oratab (确认原来是否存在Oracle主目录)
 # more /etc/oraInst.loc (确认原来是否存在Oracle产品清单目录)
 # mkdir -p /u01/app/oracle/ (Oracle基础目录, 一般为/mount_point/app/oracle_owner)
 # chown -R oracle:oinstall /home/oracle
 # chown -R oracle:oinstall /u01
 # chmod -R 775 /home/oracle
 # chmod -R 775 /u01

1.7 设置oracle用户环境变量
 如果服务器有多网卡, 注意设置ORACLE_HOSTNAME为某网卡IP对应的主机名, 参照/etc/hosts文件.
 # su - oracle
 $ vi ~/.bash_profile
 umask 022
 export ORACLE_HOSTNAME=rhel5
 export ORACLE_BASE=/u01/app/oracle
 export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
 export ORACLE_SID=ORCL
 export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
 export LC_ALL="en_US"
 export LANG="en_US"
 export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
 export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
 $ . ~/.bash_profile

1.8 解压Oracle安装文件
$ cd /root
 $ unzip linux*_11gR2_database_1of2.zip -d /u01 (解压到/u01目录下,可选目录)
 $ unzip linux*_11gR2_database_2of2.zip -d /u01
 $ cd /u01/database
 $ export DISTRIB=`pwd`

在解压后oracle软件的response目录里有各种响应文件的模版.

1.9 生成响应文件模板
1) 方法一(推荐)
 $ vi $DISTRIB/db_swonly.rsp
 #以下参数不要更改
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
 oracle.install.option=INSTALL_DB_SWONLY
 DECLINE_SECURITY_UPDATES=true
 #以下参数根据实际情况更改,一般也无需更改
UNIX_GROUP_NAME=oinstall
 INVENTORY_LOCATION=/u01/app/oracle/oraInventory
 SELECTED_LANGUAGES=en,zh_CN,zh_TW
 ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
 ORACLE_BASE=/u01/app/oracle
 oracle.install.db.InstallEdition=EE
 oracle.install.db.isCustomInstall=true
 oracle.install.db.customComponents=oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
 oracle.install.db.DBA_GROUP=dba
 oracle.install.db.OPER_GROUP=oinstall

各参数含义如下:
-silent 表示以静默方式安装,不会有任何提示
-force 允许安装到一个非空目录
-noconfig 表示不运行配置助手netca
-responseFile 表示使用哪个响应文件,必需使用绝对路径
oracle.install.responseFileVersion 响应文件模板的版本,该参数不要更改
oracle.install.option 安装选项,本例只安装oracle软件,该参数不要更改
DECLINE_SECURITY_UPDATES 是否需要在线安全更新,设置为false,该参数不要更改
ORACLE_HOSTNAME 安装主机名
UNIX_GROUP_NAME oracle用户用于安装软件的组名
INVENTORY_LOCATION oracle产品清单目录
SELECTED_LANGUAGES oracle运行语言环境,一般包括引文和简繁体中文
ORACLE_HOME Oracle安装目录
ORACLE_BASE oracle基础目录
oracle.install.db.InstallEdition 安装版本类型,一般是企业版
oracle.install.db.isCustomInstall 是否定制安装,默认Partitioning,OLAP,RAT都选上了
oracle.install.db.customComponents 定制安装组件列表:除了以上默认的,可加上Label Security和Database Vault
 oracle.install.db.DBA_GROUP oracle用户用于授予OSDBA权限的组名
oracle.install.db.OPER_GROUP oracle用户用于授予OSOPER权限的组名
2) 方法二(图形界面)
 $ ./runInstaller &
一步步设置到Summary页, 然后点击Save Response File按钮, 选择合适的存放路径并Finish后, 回到Summary页, 点击Cancel退出OUI.
 1.10 开始安装oracle软件
1) 通过response文件静默安装, 大概2-3分钟:
 $ ./runInstaller -silent -force -noconfig -responseFile $DISTRIB/db_swonly.rsp
控制台直到出现以下提示则表示安装完成:

/u01/app/oracle/oraInventory/orainstRoot.sh
 /u01/app/oracle/product/11.2.0/dbhome_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.

2) 安装期间查看安装日志信息了解安装进度:
 $ cd $ORACLE_BASE/oraInventory/logs
 $ tail -100f installActions*.log
 3) 安装的软件信息会写入inventory.xml文件, 如果需重运行则把该文件的对应安装条目信息删除即可:
 $ vi $ORACLE_BASE/oraInventory/ContentsXML/inventory.xml
 1.11 运行orainstRoot.sh和root.sh
若本机第一次安装oracle软件, 则执行orainstRoot.sh来建立oraInst.loc文件和修改权限:
 $ su -
# /u01/app/oracle/oraInventory/orainstRoot.sh
 # more /etc/oraInst.loc
执行$ORACLE_HOME下的root.sh来建立oratab,dbhome,oraenv,coraenv文件, 如果提示则一直回车:
 # /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
 # more /etc/oratab

开机启动设置 
1)vi /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
 ORACLE_HOME_LISTNER=$1
修改为:
ORACLE_HOME_LISTNER=$ORACLE_HOME
 2)vi /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut
 ORACLE_HOME_LISTNER=$1
修改为:
ORACLE_HOME_LISTNER=$ORACLE_HOME
 3)编写开机启动文件
#vi /etc/init.d/oracle
添加以下内容:
#!/bin/sh
 # chkconfig: 345 61 61
 # description: Oracle 11g AutoRun Services
 # /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/11.2.0/dbhome_1
 export ORACLE_SID=ORCL
 export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
 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


 #  chmod 750 /etc/init.d/oracle
 #  ln -s /etc/init.d/oracle /etc/rc1.d/K61oracle
 #  ln -s /etc/init.d/oracle /etc/rc3.d/S61oracle
 #  chkconfig --level 345 oracle on
 #  chkconfig --add oracle
 [root@localhost ~]#  service oracle start
 Oracle Start Succesful!OK.
 [root@localhost ~]#  service oracle stop
 Oracle Stop Succesful!OK.

安装readline [root@rhel6 ~]# yum -y install readline*
安装rlwrap  下载rlwrap-0.37.tar.gz
 [root@rhel6 ~]# tar -zxvf rlwrap-0.37.tar.gz
 [root@rhel6 ~]# cd rlwrap-0.37
 [root@rhel6 rlwrap-0.37]# ./configure
 [root@rhel6 rlwrap-0.37]# make
 [root@rhel6 rlwrap-0.37]# make install

[root@rhel6 rlwrap-0.37]# vi /etc/bashrc
#添加
alias sqlplus='/usr/local/bin/rlwrap sqlplus'
alias rman='/usr/local/bin/rlwrap rman'

 

你可能感兴趣的:(oracle,安装,操作系统,软件,静默)