Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选

首页 / 数据库 / MySQL / Oracle 11g基于CentOS 6.4静默安装

1 安装前环境:操作系统:CetnOS6.4x64 最小化安装,已配置好网络IP:172.18.10.213,物理内存4GB,硬盘100GB。已下载: linux.x64_11gR2_database_1of2.ziplinux.x64_11gR2_database_2of2.zip位于目录: /sharedisk/11G/ 2 准备工作root用户登录后# yum install unzip     //下载unzip,用来解压上述两个压缩文件# cd /sharedisk/11G       //切换当前目录到Oracle压缩文件所在目录# unzip linux.x64_11gR2_database_1of2.zip //解压# unzip linux.x64_11gR2_database_2of2.zip解压后新增一个/sharedisk/11G/database目录,里面是解压后的所有oracle安装文件。在/etc/hosts文件中增加主机名(通过hostname获得)到回环IP的映射如下:# vi /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1       localhost localhost.localdomain localhost6 localhost6.localdomain6172.18.10.213 ora11g # vi /etc/selinux/confg  设置 SELINUX=disabled# setenforce 0 //关闭selinux# service iptables stop //临时关闭防火墙3 安装必须的包# yum install nfs-utils    //可以挂载nfs server#yum 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-devel4 准备安装用户及用户组# groupadd oinstall# groupadd dba# useradd -g oinstall -G dba oracle# passwd oracle          //设置oracle密码5 修改内核参数配置文件# vi /etc/sysctl.conf 在文件最后增加(根据文档要求kernel.shmmax设成物理内存的一半最合理)fs.aio-max-nr = 1048576fs.file-max = 6553600kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 1024 65000net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048586保存文件。# /sbin/sysctl -p          //让参数生效6 修改用户的限制文件# vi /etc/security/limits.conf 在文件后增加oracle         soft    nproc         2047oracle         hard    nproc         16384oracle         soft    nofile          1024oracle         hard    nofile          65536oracle         soft    stack         10240保存文件。修改/etc/pam.d/login文件,增加如下:session  required /lib64/security/pam_limits.so  //64位系统时,千万别写成错/lib/security/pam_limits.so  //否则导致无法登录session   required      pam_limits.so修改/etc/profile,增加:if [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fifi7 创建安装目录和设置文件权限#mkdir -p /u01/app/oracle/product/11.2.0  //数据库系统安装目录#mkdir /u01/app/oracle/oradata //数据库数据安装目录#mkdir /u01/app/oracle/inventory#mkdir /u01/app/oracle/fast_recovery_area#chown -R oracle:oinstall /u01/app/oracle#chmod -R 775 /u01/app/oracle设置环境变量: 修改/home/oracle/.bash_profile文件,增加如下# su - oracleORACLE_BASE=/u01/app/oracleORACLE_HOME=$ORACLE_BASE/product/11.2.0ORACLE_SID=ora11PATH=$PATH:$ORACLE_HOME/binexport ORACLE_BASE ORACLE_HOME ORACLE_SID PATH8 编辑静默安装响应文件# su - oracle$ cp -R /sharedisk/11G/database/response /home/oracle  //复制一份模板$ cd /home/oracle/response$ vi db_install.rsp   //开始修改这个安装响应文件,此文件只是安装数据库软件需要设置的选项如下:oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0  //系统生成的,不要修改oracle.install.option=INSTALL_DB_SWONLY             //只安装软件,不安装启动数据库ORACLE_HOSTNAME=ora11g           //通过hostname命令获得UNIX_GROUP_NAME=oinstallINVENTORY_LOCATION=/u01/app/oracle/inventorySELECTED_LANGUAGES=en,zh_CNORACLE_HOME=/u01/app/oracle/product/11.2.0ORACLE_BASE=/u01/app/oracleoracle.install.db.InstallEdition=EEoracle.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.0oracle.install.db.DBA_GROUP=dbaoracle.install.db.OPER_GROUP=dbaDECLINE_SECURITY_UPDATES=true               //一定要设置为true9 根据响应文件安装oracle$cd /sharedisk/11G/database$./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。打开另一个终端,执行#tail -100f /u01/app/oracle/inventory/logs/installActions......log可以实时跟踪查看安装日志,了解安装的进度。当出现如下提示,既安装成功:be executed as the "root" user.#!/bin/sh#Root scripts to run/u01/app/oracle/inventory/orainstRoot.sh/u01/app/oracle/product/11.2.0/root.shTo execute the configuration scripts:1. Open a terminal window2. Log in as "root"3. Run the scripts4. Return to this window and hit "Enter" key to continueSuccessfully Setup Software.表示安装成功了。按照其提示操作。$exit  //退回到root# sh /u01/app/oracle/inventory/orainstRoot.sh# sh /u01/app/oracle/product/11.2.0/root.sh10 静默配置监听$netca /silent /responsefile /home/oracle/response/netca.rspParsing command line arguments:Parameter "silent" = trueParameter "responsefile" = /home/oracle/response/netca.rspDone parsing command line arguments.Oracle Net Services Configuration:Profile configuration complete.Oracle Net Listener Startup:Running Listener Control: /u01/app/oracle/product/11.2.0/bin/lsnrctl start LISTENERListener Control complete.Listener started successfully.Listener configuration complete.Oracle Net Services configuration successful. The exit code is 0成功运行后,在/u01/app/oracle/11.2.0/network/admin目录下生成sqlnet.ora和listener.ora两个文件。通过netstat –tlnp  命令,看到tcp 0    0 :::1521 :::* LISTEN      10760/tnslsnr   说明监听器已经在1521端口上开始工作了。11 静默建立新库(同时也建立一个对应的实例)修改/home/oracle/response/dbca.rsp,设置如下:[GENERAL]RESPONSEFILE_VERSION = "11.2.0"  //不能更改OPERATION_TYPE = " createDatabase "[CREATEDATABASE]GDBNAME = "ora11"  //数据库的名字SID = "ora11"    //对应的实例名字TEMPLATENAME = "General_Purpose.dbc" //建库用的模板文件SYSPASSWORD = "oracle" //SYS管理员密码SYSTEMPASSWORD = "oracle"  //SYSTEM管理员密码DATAFILEDESTINATION = /u01/app/oracle/oradata      //数据文件存放目录RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area //恢复数据存放目录CHARACTERSET = "ZHS16GBK" //字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。TOTALMEMORY = "3276"    //oracle内存3276MB(allmem*80%)静默建库命令如下$dbca -silent -responseFile /home/oracle/response/dbca.rspCopying database files1% complete3% complete11% complete18% complete26% complete37% completeCreating and starting Oracle instance40% complete45% complete50% complete55% complete56% complete60% complete62% completeCompleting Database Creation66% complete70% complete73% complete85% complete96% complete100% completeLook at the log file "/u01/app/oracle/cfgtoollogs/dbca/ora11/ora11.log" for further details.查看日志文件$ cat /u01/app/oracle/cfgtoollogs/dbca/ora11/ora11.logCopying database filesDBCA_PROGRESS : 1%DBCA_PROGRESS : 3%DBCA_PROGRESS : 11%DBCA_PROGRESS : 18%DBCA_PROGRESS : 26%DBCA_PROGRESS : 37%Creating and starting Oracle instanceDBCA_PROGRESS : 40%DBCA_PROGRESS : 45%DBCA_PROGRESS : 50%DBCA_PROGRESS : 55%DBCA_PROGRESS : 56%DBCA_PROGRESS : 60%DBCA_PROGRESS : 62%Completing Database CreationDBCA_PROGRESS : 66%DBCA_PROGRESS : 70%DBCA_PROGRESS : 73%DBCA_PROGRESS : 85%DBCA_PROGRESS : 96%DBCA_PROGRESS : 100%Database creation complete. For details check the logfiles at:/u01/app/oracle/cfgtoollogs/dbca/ora11.Database Information:Global Database Name:ora11System Identifier(SID):ora11建库后实例检查:$ ps -ef | grep ora_ | grep -v greporacle 11279   1  0 12:04 ?        00:00:00 ora_pmon_ora11oracle 11281   1  1 12:04 ?        00:00:02 ora_vktm_ora11oracle 11285   1  0 12:04 ?        00:00:00 ora_gen0_ora11oracle 11287   1  0 12:04 ?        00:00:00 ora_diag_ora11oracle 11289   1  0 12:04 ?        00:00:00 ora_dbrm_ora11oracle 11291   1  0 12:04 ?        00:00:00 ora_psp0_ora11oracle 11293   1  0 12:04 ?        00:00:00 ora_dia0_ora11oracle 11295   1  0 12:04 ?        00:00:00 ora_mman_ora11oracle 11297   1  0 12:04 ?        00:00:00 ora_dbw0_ora11oracle 11299   1  0 12:04 ?        00:00:00 ora_lgwr_ora11oracle 11301   1  0 12:04 ?        00:00:01 ora_ckpt_ora11oracle 11303   1  0 12:04 ?        00:00:00 ora_smon_ora11oracle 11305   1  0 12:04 ?        00:00:00 ora_reco_ora11oracle 11307   1  1 12:04 ?        00:00:02 ora_mmon_ora11oracle 11309   1  0 12:04 ?        00:00:01 ora_mmnl_ora11oracle 11311   1  0 12:04 ?        00:00:00 ora_d000_ora11oracle 11313   1  0 12:04 ?        00:00:00 ora_s000_ora11oracle 11323   1  0 12:04 ?        00:00:01 ora_qmnc_ora11oracle 11340   1  0 12:04 ?        00:00:01 ora_cjq0_ora11oracle 11342   1  0 12:04 ?        00:00:01 ora_q000_ora11oracle 11344   1  0 12:04 ?        00:00:00 ora_q001_ora11查看监听状态$ lsnrctl statusLSNRCTL for Linux: Version 11.2.0.1.0 - Production on 26-AUG-2014 12:07:54Copyright (c) 1991, 2009, Oracle.  All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))STATUS of the LISTENER------------------------Alias                   LISTENERVersion                 TNSLSNR for Linux: Version 11.2.0.1.0 - ProductionStart Date                26-AUG-2014 11:11:10Uptime                    0 days 0 hr. 56 min. 44 secTrace Level             offSecurity                  ON: Local OS AuthenticationSNMP                      OFFListener Parameter File /u01/app/oracle/product/11.2.0/network/admin/listener.oraListener Log File       /u01/app/oracle/diag/tnslsnr/ora11g/listener/alert/log.xmlListening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora11g)(PORT=1521)))Services Summary...Service "ora11" has 1 instance(s).Instance "ora11", status READY, has 1 handler(s) for this service...Service "ora11XDB" has 1 instance(s).Instance "ora11", status READY, has 1 handler(s) for this service...The command completed successfully 12 修改数据库为归档模式(归档模式才能热备份,增量备份)$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on Tue Aug 26 13:37:34 2014Copyright (c) 1982, 2009, Oracle.  All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> startup mountORACLE instance started.Total System Global Area 1603411968 bytesFixed Size                  2213776 bytesVariable Size           402655344 bytesDatabase Buffers       1191182336 bytesRedo Buffers                7360512 bytesDatabase mounted.SQL> alter database archivelog;Database altered.SQL> alter database flashback on;Database altered.SQL> alter database open;Database altered.SQL> execute utl_recomp.recomp_serial();PL/SQL procedure successfully completed.SQL> alter system archive log current;System altered.SQL> exit13 修改oracle启动配置文件$vi /etc/oratabora11:/u01/app/oracle/product/11.2.0:Y这样就可以通过dbstart 启动此实例,也可以通过dbshut关闭此实例了。$ dbshut /u01/app/oracle/product/11.2.0Processing Database instance "ora11": log file /u01/app/oracle/product/11.2.0/shutdown.log此时所有oracle的进程关闭,监听器也停止。$dbstart /u01/app/oracle/product/11.2.0Processing Database instance "ora11": log file /u01/app/oracle/product/11.2.0/startup.log此时监听器工作,hello实例运行,再次查看监听器状态。$ lsnrctl status开机启动方法:方法1:要想让oracle服务随着系统启动而自动启动,需要在/etc/rc.local文件中增加如下:su - oracle -c "/u01/app/oracle/product/11.2.0/bin/dbstart /u01/app/oracle/product/11.2.0"方法2:建立启动脚本# vi /etc/rc.d/init.d/oracle#!/bin/bash# oracle: Start/Stop Oracle Database 11g R2## chkconfig: 345 90 10# description: The Oracle Database is an Object-Relational Database Management System.## processname: oracle. /etc/rc.d/init.d/functionsLOCKFILE=/var/lock/subsys/oracleORACLE_HOME=/u01/app/oracle/product/11.2ORACLE_USER=oraclecase "$1" in"start")if [ -f $LOCKFILE ]; thenecho $0 already running.exit 1fiecho -n $"Starting Oracle 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;;"stop")if [ ! -f $LOCKFILE ]; thenecho $0 already stopping.exit 1fiecho -n $"Stopping Oracle 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;;"restart")$0 stop$0 start;;"status")if [ -f $LOCKFILE ]; thenecho $0 started.elseecho $0 stopped.fi;;*)echo "Usage: $0 [start|stop|status]"exit 1esacexit 0#service oracle on更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址