CentOS 6.4上安装 oracle 11g R2图文安装教程

来源:互联网 发布:毒丸计划 白衣骑士知乎 编辑:程序博客网 时间:2024/06/05 03:34

“//”后是注释,“#”代表root用户下操作,“$”代表oracle用户下操作。

#chkconfig  iptables off  //永久关闭防火墙或

#service  iptabels stop  //暂时关闭防火墙,重启系统后会自动打开


1.硬件检查:

1.1 内存要求:

内存大于1G(使用虚拟机安装时内存要稍微大一些,否则安装检查不通过)

#cat  /proc/meminfo   //查看内存大小

1.2 交换分区要求:

交换分区是内存的1.5倍,可根据实际情况调整

#grep SwapTotal /proc/meminfo   //查看交换分区大小

1.3 硬盘空间要求

硬盘空间要满足所需软件的大小,要求/tmp 分区不少于 400M ,安装目录应大于4G:

#df –h   //查看磁盘空间使用情况

#du –ch   //查看目录空间大小


2.软件检查:

2.1 检查安装oracle所依赖的组件包是否安装上:

#rpm–qa |grep 软件包名称   //检查软件包是否安装上


1.binutils-2.17.50.0.6

2.compat-libstdc++-33-3.2.3


3.elfutils-libelf-0.125

4.elfutils-libelf-devel-0.125

5.elfutils-libelf-devel-static-0.125


6.gcc-4.1.2

7.gcc-c++-4.1.2


8.glibc-2.5-24

9.glibc-common-2.5

10.glibc-devel-2.5

11.glibc-headers-2.5


12.kernel-headers-2.6.18

13.pdksh-5.2.14


14.libaio-0.3.106

15.libaio-devel-0.3.106


16.libgcc-4.1.2

17.libgomp-4.1.2

18.libstdc++-4.1.2

19.libstdc++-devel-4.1.2


20.make-3.81

21.numactl-devel-0.9.8.i386

22.sysstat-7.0.2

23.unixODBC-2.2.11

24.unixODBC-devel-2.2.11


2.2 安装缺少的软件包:

#rpm –ivh 软件包名称  //使用本地光盘镜像安装软件包

#yum install 软件包名称  //使用yum联网安装


3.配置系统环境

3.1修改内核参数:

#vi /etc/sysctl.conf

fs.file-max= 6815744

fs.aio-max-nr=1048576

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

kernel.sem= 250 32000 100 128

kernel.shmall= 2097152(可以按照系统默认,不修改)

kernel.shmmax= 536870912(可以按照系统默认,不修改)


#sysctl –p   //让内核参数生效



3.2修改进程数和最大会话数

#vi /etc/security/limits.conf

oracle   soft   nproc   2047

oracle   hard   nproc   16384

oracle   soft   nofile  1024

oracle   hard   nofile  65536


3.3关联设置

#vi /etc/pam.d/login

session   required   pam_limits.so


3.4修改/etc/profile

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


4.创建安装用户、组和目录

4.1创建安装用户和组

#groupadd oinstall   //创建oinstall组

#groupadd dba   //创建dba组

#useradd -g oinstall -G dba oracle   //新建用户oracle,设定其主组为oinstall,副组为dba

#id oracle   //检查结果

#passwd oracle   //设置oracle用户密码


4.2创建软件安装目录

#mkdir -p /home/oracle_11/app/   //创建安装根目录

#chown -R oracle:oinstall /home/oracle_11/   //安装根目录所属用户和组为oracle用户和oinstall组

#chmod -R 755 /home/oracle_11/   //修改目录的访问权限为所属用户完全控制,所属组和其他用户可读和执行


4.3设置用户环境变量

#vi /home/oracle/.bash_profile

exportORACLE_BASE=/home/oracle_11/app  //软件安装基目录

exportORACLE_SID=orcl  //实例名

exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1  //软件安装产品目录

exportPATH=$PATH:$HOME/bin:$ORACLE_HOME/bin


#source   /home/oracle/.bash_profile //加载文件使配置生效

#env|more  //查看配置的环境变量是否正确


5.安装oracle

安装过程和在windows上安装一样。

用WinScp上传oracle安装文件到Linux目录下,并解压

#unzip linux_11gR2_database_1of2.zip

#unzip linux_11gR2_database_2of2.zip

#xhost +  //如果没有执行,将无法启动图形安装界面

#su – oracle  //切换到oracle用户,注意加“-”,不然用户环境变量不会改变

$cd /home/database

$./runInstaller




5.1配置安全更新

5.1.1 配置安全更新,选择不接受更新:


5.1.2 提示不用管,点击yes,直接下一步:


5.2 安装选项选择创建和配置数据库:


5.3系统类选择服务器类:


5.4选择安装单实例数据库:


5.5安装类型选择高级安装:


5.6选择产品语言:


5.7数据库版本选择企业版:


5.8 选择安装位置:

把安装基目录更改成前面用户环境变量所配置的基目录,软件产品安装目录更改成前面用户环境变量所配置的软件产品目录,这里软件产品目录没有更改,后面启动oracle出了一些问题,所以一定要改成和用户环境变量配置的一致:


5.9选择资料目录:



5.10配置类型选择一般用途/事务处理:


5.11输入实例名称和全局标识符,和前面用户环境变量配置的一致:


5.12指定配置选项

5.121指定配置选项,启用自动配置内存管理:


5.12.2指定配置选项,字符集使用默认值:


5.12.3指定配置选项,安全性使用断言所有新安全设置:


5.12.4指定配置选项,实例方案不创建具有实例方案的数据库:


5.13管理选项使用DatabaseControl 管理数据库:


5.14数据库存储选项使用默认值:


5.15指定恢复选项,不启用自动备份:


5.16指定方案口令:

5.16指定方案口令,对所有账户使用相同的口令:


5.16.2 如果密码不是复杂密码,会提示不符合推荐的标准,不用管点击yes,直接下一步:


5.17特殊的用户组:


5.18执行先决条件检查

5.181执行先决条件检查,如果检查不通过,点击取消,执行所需条件,然后再重新安装即可:


5.18.2所提示的软件包已经安装过了(因为系统是64位的,所以软件包也只安装了64位的,如果想要检查通过,应该需要把32位的软件包也安装上,影响不大),勾选全部忽略,点击下一步:


5.19概要:


5.20 安装过程

5.20.1 开始安装:


5.20.2安装过程,配置数据库:


5.20.3数据库安装完成,点击ok


5.20.4需要切换到root用户执行2个脚本文件:


5.20.5切换到root用户执行脚本1


5.20.6切换到root用户执行脚本2


5.21安装完成

5.211安装完成,点击关闭:


5.21.2安装完成,终端提示安装日志的保存位置:



安装完成,可以打开https://localhost:1158/em来看看具体的情况,使用CentOS自带的火狐浏览器不能够访问,可以在其他机器上使用IE浏览器登录。

6.服务启动

6.1手动开启服务

Linux下的Oracle在安装结束后是处于运行状态的。重启机器后,Oracle不会像在Windows下那样将Oracle添加到Windows服务,在linux下需要手动启动Orcle服务。


重启之后,以oracle用户登录:

$sqlplus   //进入sqlplus

$lsnrctl start  //启动监听程序

$emctl start dbconsole  //启动EM控制台

运行这些命令都提示没有该命令,应该是用户环境变量出现问题:

6.1.1 启动EM控制台

$echo $ORACLE_SID  //如果没有打印正确的SID,则表明环境变量设置错误或没有加载

$cd /home/oracle   //进入到oracle用户的主目录

$source .bash_profile   //加载oracle的个人属性文件

$echo $ORACLE_SID   //如果还是没有打印,则肯定是没有设置SID变量了,直接vi这个文件,然后设置

$cd  $ORACLE_HOME/bin   //进入到oracle的安装目录下的bin目录

bash:cd:/home/oracle_11/app/oracle/product/11.2.0/db_1/bin:No such file or directory  //提示没有这个文件或者目录,应该是软件安装目录和环境变量里面设置的不一样导致的,先不管,手动输入oracle安装目录下的bin目录

$cd /home/oracle_11/app/product/11.2.0/dbhome_1/bin   //手动输入oracle安装目录下的bin目录

$./emctlstart dbconsole   //启动EM控制台


EM控制台启动成功,通过http://localhost:1158/em/来访问EM控制台。

进入EM控制台之后发现数据库实例和监听都是关闭状态。

6.1.2启动监听程序:

6.1.2.1 启动监听程序,提示错误

$./lsnrctlstart  //启动监听程序


6.1.2.2查看监听程序的配置文件,发现没有问题

$cat /home/oracle_11/app/product/11.2.0/dbhome_1/network/admin/listener.ora


6.1.2.3 更改用户环境变量

启动EM控制台时,怀疑oracle安装目录和用户环境变量里面设置的oracle产品安装目录不一致,查看用户环境变量,确实是这个问题,更改用户环境变量验证一下:

$vi /home/oracle/.bash_profile


6.1.2.4 再次启动监听程序

$./lsnrctlstart  //启动监听程序,启动成功



6.1.3启动数据库实例有2种方法:

6.1.3.1 登录到sqlplus开启数据库实例

$./sqlplus /nolog  //登录到sqlplus

SQL>startup   //启动数据库实例,提示错误,没有权限,切换到sysdba用户

SQL>conn  /as sysdba   //切换到sysdba用户

SQL>startup  //启动数据库实例

SQL>exit  //数据库实例启动成功,exit退出sqlplus


6.1.3.2 用命令dbstart开启数据库实例

$./dbstart  //启动数据库实例

ORACLE_HOME_LISTNERis not SET, unable to auto-start Oracle Net Listener

Usage:./dbstart ORACLE_HOME


出现这样错误是由于没有设置ORACLE_HOME_LISTNER,解决方案将$ORACLE_HOME赋值给$ORACLE_HOME_LISTNER,保存,退出:

$vi $ORACLE_HOME/bin/dbstart

找到ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME


再运行dbstart命令,已经不报错了,但是没有任何反应,用netstat –tlnup查看端口连接,发现1158(Oracle提供的EM管理器默认端口号)端口已经打开,1521( Oracle数据库的默认端口号)端口没有打开,说明oracle实例没有正常启动。


此时的原因是/etc/oratab的设置问题,查看/etc/oratab文件发现最后一行

orcl:/home/oracle_11/app/product/11.2/db_home:N

最后设置的是“N”(此环境只有一个实例,所以只有一行配置语句),需要把“N”修改成“Y”。保存退出。


再运行dbstart命令,返回结果如下:

ProcessingDatabase instance "orcl": log file

/home/oracle_11/app/product/11.2.0/dbhome_1/startup.log

数据库实例已经启动成功。

dbshut文件进行同样的设置。以后就可以在启动监听之后直接使用dbstart和dbshut命令来启动和关闭数据库实例了。


6.1.4 登录EM控制台查看状态:

以上开启数据库实例和监听程序还有另外一种办法:先开启EM控制台,然后在EM控制台里面开启数据库实例和监听程序,开启时需要输入用户名和密码,注意要输入oracle用户的用户名和密码。

EM控制台、监听程序、数据库实例都启动成功,使用EM控制台https://IP:1158/em登录查看所有状态都正常:


6.2开机自动启动服务

手动开启服务的方法已经知道了,如果每次重启服务器都要手动开启服务就太麻烦了,那就需要把服务添加到开机自动启动。

6.2.1:修改$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut文件:

$vi $ORACLE_HOME/bin/dbstart

$vi $ORACLE_HOME/bin/dbshut

找到ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

6.2.2:修改/etc/oratab文件:

$vi  /etc/oratab

找到最后一行:

orcl:/home/oracle_11/app/product/11.2/db_home:N

最后设置的是“N”(此环境只有一个实例,所以只有一行配置语句),需要把“N”修改成“Y”。保存退出。

6.2.3:测试命令是否可以启动oracle服务:

$cd $ORACLE_HOME/bin  //进入oracle产品安装目录的bin目录

$./emctlstart dbconsole  //开启EM控制台

$./lsnrctlstart  //开启监听程序

$./dbstart //开启数据库实例

6.2.4:修改/etc/rc.d/rc.local文件

把emctl start dbconsole 、lsnrctl start和dbstart添加到rc.local文件中,命令如下:

#vi /etc/rc.d/rc.local

添加:

suoracle -lc "home/oracle_11/app/product/11.2.0/dbhome_1/bin/emctl startdbconsole"   //填写可执行程序的完整路径

suoracle -lc " home/oracle_11/app/product/11.2.0/dbhome_1/bin/lsnrctl start"

suoracle -lc  home/oracle_11/app/product/11.2.0/dbhome_1/bin/dbstart

注意:命令有空格,要用引号


重启系统后服务自动开启。


oracle11g R2安装完成,重启之后查看所有状态都正常。

0 0