CentOS6.5上Oracle11gR2静默安装

时间:2022-03-30 07:47:28

一、环境准备环境

操作系统: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.com

4、关闭selinux

5、关闭防火墙

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 oracle

8、修改内核参数配置文件

# vim /etc/sysctl.conf 在文件最后增加

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 2147483648

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 = 10485866

使上面的参数生效

# sysctl -p

9、修改用户的限制文件

# 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

10、修改/etc/pam.d/login文件(32位系统在/lib下)

session  required   /lib64/security/pam_limits.so

session  required   pam_limits.so

11、修改/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

# source /etc/profile

12、创建安装目录和设置文件权限

# 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 /oracle

13、编辑静默安装文件

# 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=oinstall

INVENTORY_LOCATION=/home/oracle/inventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/opt/oracle/11.2.0

ORACLE_BASE=/opt/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

DECLINE_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_数据库名.rsp

2、配置监听

注: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=fansik

export ORACLE_HOME=/oracle/11.2.0

export PATH=$ORACLE_HOME/bin:$PATH

重读配置文件:

# source /etc/profile

六、修改数据库为归档模式(归档模式才能热备份,增量备份)

$ sqlplus / as sysdba

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down

SQL> startup mount

ORACLE instance started.

Total System Global Area  839282688 bytes

Fixed Size        2217992 bytes

Variable Size      494929912 bytes

Database Buffers   335544320 bytes

Redo Buffers         6590464 bytes

Database 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> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

七、修改oracle启动配置文件

$ vim /etc/oratab

fansik:/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.cnblogs.com/fansik/p/5904355.html