首页 / 数据库 / MySQL / CentOS 6.5上Oracle 11g R2静默安装
一、环境准备环境
操作系统:CentOS release 6.5 (Final)内核版本:2.6.32-431.el6.x86_64物理内存:2G(必须大于1G)swap分区:3G(必须大于3G)硬盘空间:100G(必须大于100G)Oracle版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production说明:物理内存如果小于2G,硬盘如果小于100G,oracle安装前环境监测的时候会有错误提示二、安装前准备
1、添加一块120G的硬盘,并挂载到了/oracle/目录下2、上传oracle的软件包并解压3、在/etc/hosts文件中的回环IP中添加主机名127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 master.fansik.com::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 master.fansik.com4、关闭selinux5、关闭防火墙6、安装依赖的包# yum install gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio.i686 libaio-devel.i686 numactl-devel sysstat unixODBC.i686 unixODBC-devel.i686 pcre-devel libstdc++.i686说明:有很多的安装包需要32的安装包,查看安装文件的时候会提示是i386的包,但,实际安装i686的也可以,如果因为包检测不通过,可以通过安装日志查看到底是哪些包没装或版本不对,有些包即 使安装了i686还是会提示缺失i386的包,但是只要不出现error或者FAILED就可以了。7、准备安装用户及用户组# groupadd oinstall# groupadd dba# useradd -g oinstall -G dba -d /home/oracle oracle# passwd oracle8、修改内核参数配置文件# vim /etc/sysctl.conf 在文件最后增加fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 10485866使上面的参数生效# sysctl -p9、修改用户的限制文件# vim /etc/security/limits.conf加入如下内容oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 1024010、修改/etc/pam.d/login文件(32位系统在/lib下)session required /lib64/security/pam_limits.sosession required pam_limits.so11、修改/etc/profile,增加如下内容:if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fifi# source /etc/profile12、创建安装目录和设置文件权限# mkdir /oracle/11.2.0 //数据库安装目录# mkdir /oracle/oradata //数据文件目录# mkdir /oracle/oradata_bak //数据库备份目录# mkdir /home/oracle/inventory //清单目录# chown -R oracle:oinstall /oracle# chown -R oracle:oinstall /home/oracle/inventory# chmod -R 755 /oracle13、编辑静默安装文件# su - oracle$ cp -R /oracle/database/response /home/oracle //复制一份模板$ cd /home/oracle/response$ mv db_install.rsp db_install_swonly.rsp //因为下面的安装是只安装软件不安装启动数据库实例,所以改个名字以提示自己$ vim db_install_swonly.rsp //开始修改这个安装响应文件需要设置的选项如下:oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 //系统生成的,不要修改oracle.install.option=INSTALL_DB_SWONLY //只安装软件,不安装启动数据库ORACLE_HOSTNAME=oracle11gCentOS6.dlxg.gov.cn //通过hostname命令获得UNIX_GROUP_NAME=oinstallINVENTORY_LOCATION=/home/oracle/inventorySELECTED_LANGUAGES=en,zh_CNORACLE_HOME=/opt/oracle/11.2.0ORACLE_BASE=/opt/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.0,oracle.install.db.DBA_GROUP=dba,oracle.install.db.OPER_GROUP=dbaDECLINE_SECURITY_UPDATES=true //一定要设置为true三、安装oracle软件
$ cd /oracle/database$ ./runInstaller -silent -responseFile /home/oracle/response/db_install_swonly.rsp安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。打开另一个终端,执行#tail -f /home/oracle/inventory/logs/installActions......log可以实时跟踪查看安装日志,了解安装的进度。当出现 以下配置脚本需要以 "root" 用户的身份执行。 #!/bin/sh #要运行的 Root 脚本 /home/oracle/inventory/orainstRoot.sh /oracle/11.2.0/root.sh 要执行配置脚本, 请执行以下操作: 1. 打开一个终端窗口 2. 以 "root" 身份登录 3. 运行脚本 4. 返回此窗口并按 "Enter" 键继续 Successfully Setup Software. 表示安装成功了。按照其提示操作。使用root用户执行以上脚本# /home/oracle/inventory/orainstRoot.sh# /oracle/11.2.0/root.sh四、安装数据库实例
1、编辑静默建库响应文件$ cd /home/oracle/response$ mv dbca.rsp dbca_fansik.rsp //改名为dbca_数据库名.rsp2、配置监听注:netca命令是oracle的bin目录下的命令,因此要配置好环境变量后才能使用:将/oracle/11.2.0/bin添加到.bash_profile中,然后重读source ~/bash_profile$ netca /silent /responsefile /home/oracle/response/netca.rsp正在对命令行参数进行语法分析: 参数"silent" = true 参数"responsefile" = /home/oracle/response/netca.rsp 完成对命令行参数进行语法分析。 Oracle Net Services 配置: 完成概要文件配置。 Oracle Net 监听程序启动: 正在运行监听程序控制: /opt/oracle/11.2.0/bin/lsnrctl start LISTENER 监听程序控制完成。 监听程序已成功启动。 监听程序配置完成。 成功完成 Oracle Net Services 配置。退出代码是0成功运行后,在/oracle/11.2.0/network/admin目录下生成sqlnet.ora和listener.ora两个文件。通过netstat -tlnup | grep 1521命令,看到tcp 0 0 :::1521 :::* LISTEN 5477/tnslsnr说明监听器已经在1521端口上开始工作了。3、安装数据库实例修改/home/oracle/response/dbca_fansik.rsp,设置如下:RESPONSEFILE_VERSION = "11.2.0" //不能更改 OPERATION_TYPE = "createDatabase" GDBNAME = "master.fansik.com" //数据库的名字 SID = "fansik" //对应的实例名字 TEMPLATENAME = "General_Purpose.dbc" //建库用的模板文件 SYSPASSWORD = "fanjinbao" //SYS管理员密码 SYSTEMPASSWORD = "fanjinbao" //SYSTEM管理员密码 DATAFILEDESTINATION = /oracle/oradata //数据文件存放目录 RECOVERYAREADESTINATION=/oracle/oradata_back //恢复数据存放目录 CHARACTERSET = "UFT8" //字符集,重要!!! 建库后可以更改。 TOTALMEMORY = "2048" //oracle内存2048MB创建oracle数据库实例: $dbca -silent -responseFile /home/oracle/response/dbca_fansik.rsp执行以上命令后会有以下提示:复制数据库文件1% 已完成3% 已完成11% 已完成18% 已完成26% 已完成37% 已完成正在创建并启动 Oracle 实例40% 已完成45% 已完成50% 已完成55% 已完成56% 已完成60% 已完成62% 已完成正在进行数据库创建66% 已完成70% 已完成73% 已完成85% 已完成96% 已完成100% 已完成有关详细信息, 请参阅日志文件 "/oracle/cfgtoollogs/dbca/master/master.log"。数据库信息: 全局数据库名:master.fansik.com 系统标识符 (SID):fansik五、查看oracle是否启动
查看oracle进程$ ps -ef | grep oracle查看监听状态$ lsnrctl status注意:如果未看到监听信息,是oracle环境变量的问题,去设置一下环境变量:使用root用户去操作# vim /etc/profile.d/oracle.sh加入如下内容:export ORACLE_SID=fansikexport ORACLE_HOME=/oracle/11.2.0export PATH=$ORACLE_HOME/bin:$PATH重读配置文件:# source /etc/profile六、修改数据库为归档模式(归档模式才能热备份,增量备份)
$ sqlplus / as sysdbaSQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut downSQL> startup mountORACLE instance started.Total System Global Area 839282688 bytesFixed Size 2217992 bytesVariable Size 494929912 bytesDatabase Buffers 335544320 bytesRedo Buffers 6590464 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> exitDisconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options七、修改oracle启动配置文件
$ vim /etc/oratabfansik:/oracle/11.2.0:Y修改后边可以通过dbstart启动实例,可以通过dbshut关闭实例了:关闭oracle进程$ dbshut /oracle/11.2.0启动oracle进程$ dbstart /oracle/11.2.0启动oracle后:如果使用:sqlplus / as sysdba登录时提示:ERROR:ORA-01031: insufficient privileges解决办法:$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=fanjinbao entries=5 force=y八、Oracle启动脚本,开机自启动设置
参考:http://www.linuxidc.com/Linux/2017-01/139998.htm
更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址