CentOS6.5安装Oracle11.2.0.1.0数据库
#介质
1、在RHEL6.5X64系统中安装oracle 11gR2数据库及安装后设置
修改/etc/hosts文件
#vim /etc/hosts //添加如下内容:
192.168.5.2 server2.benet.com //server2.benet.com是oracle数据库服务器的主机名。
注意:将主机名对应到真实ip地址,否则oracle有可能将监听程序仅仅建立在127.0.0.1上
本文是在RHEL6.5x64系统上安装oracle11g
物理内存应不少于1GB,对于VMWARE虚拟机建议不少于1200MB.对于系统中的交换分区设置,应参以下约定:物理内存为1GB~2GB时,交换分区为物理内存的1.5~2倍;物理内存为2GB~16GB时,交换分区与物理内存大小相同;物理内存超过16GB时,交换分区使用16GB就可以了。
对于32位的oracle11g数据库,若程序文件和数据文件安装在同一个分区,则该分区的硬盘空间要求分别为:企业版5.65GB、标准版5.38GB;除此以外,还应确保/tmp目录所在分区的空间不少于1GB,总的来说,建议为oracle11g准备至少8GB的硬盘空间。
扩展SWAP:
dd if=/dev/zero of=/tmp/swap_add bs=1M count=2000
mkswap -f /tmp/swap_add(强制生成)
swapon /tmp/swap_add
固化配置:
echo “/tmp/swap_add swap swap defaults 0 0” >> /etc/fstab
安装oracle11g推荐步骤:
一、使用网络源做yum源(默认)
二、安装依赖软件包:配置好yum源后使用root用户安装oracle所依赖的软件包,这些依赖包必须要安装,因为版本不同,在oracle安装时会提示缺少依赖包,忽略后可以正常安装使用Oracle。
三、修改内核参数并使修改生效
内核参数调整体现在/etc/sysctl.conf文件中。主要包括对内存调度、端口范围、打开文件数、I/O请求等相关的一些设置,相关数值不可低于安装要求。修改完毕后通过执行sysctl –p命令使新配置立即生效。
#vim /etc/sysctl.conf //在文件尾部添加如下内容:
执行sysctl -p命令使修改生效。
各参数详解:
fs.aio-max-nr:
此参数限制并发未完成的请求,应该设置避免I/O子系统故障。
fs.file-max:
该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量。
kernel.shmall:
该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求.
kernel.shmmax:
是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。
官方建议值:
32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。
64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,例如,如果为12GB物理内存,可取12*1024*1024*1024-1=12884901887。
kernel.shmmni:
该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。
kernel.sem:
以kernel.sem = 250 32000 100 128为例:
250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。
32000是参数semmns的值,表示系统内可允许的信号量最大数目。
100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。
128是参数semmni的值,表示系统信号量集合总数。
net.ipv4.ip_local_port_range:
表示应用程序可使用的IPv4端口范围。
net.core.rmem_default:
表示套接字接收缓冲区大小的缺省值。
net.core.rmem_max:
表示套接字接收缓冲区大小的最大值。
net.core.wmem_default:
表示套接字发送缓冲区大小的缺省值。
net.core.wmem_max:
表示套接字发送缓冲区大小的最大值。
四、新建用户和组
检查结果:
五、为oracle用户设置Shell限制:为了优化性能,需要添加oracle用户的限制参数。进程会话限制可以采用pam_limits认证模块来实现,通过修改登录程序login的PAM设置以启用该认证。
修改/etc/security/limits.conf,将用户oracle能够打开的进程数、进程使用的文件数加在。加入如下内容:
注:
第1行是设置进程数软限制;第2行是设置进程数硬限制;第3行是设置文件数软限制;第4行是设置文件数硬限制
修改/etc/pam.d/login,加入如下内容:
六、新建安装目录:
Oracle11g的安装任务应以运行用户oracle的身份执行,需适当调整oracle用户的环境配置以便满足要求。Oracle11g安装界的语言类型取决于环境变量LANG,若希望用中文安装界面,则应确保LANG变量的值为”zh_CN.UTF-8”。中文安装界面有时会因缺少字体、字体配置不当等原因导致界面乱码。这时可以改用”en_US.UTF-8”英文环境以回避类似问题。
在oracle用户的宿主目录的.bash_profile文件中添加下图所示显示的内容:
注:
第1行:文件权限掩码
第2行:定义基本目录
第3行:定义数据库实例名称
第4行:告知默认的显示终端号
第5行:确定使用何种语言环境
建立基本目录:
在RHEL6中安装oracle11g时,中文安装界面乱码,解决方法:
在Linux命令提示符下执行以下命令,把字体库安装到相应位置即可
注:zysong.ttf 可在百度下载。RHEL 6.5也有效。
这样在安装的时候。Oracle就会提示中文了,而不再是中文乱码了
七、解压oracle11g压缩包:分别下载oracle11g的1of2、2of2这两个zip压缩包,解压后可获得database文件夹、oracle的安装脚本、产品手册等文档都位于此文件夹中。
注:以事先将下载的oracle11g两个压缩包拷贝到/usr/src目录中。
八、安装oracle11g:
所有配置条件都准备好以后,就可以正式开始安装了。以用户oracle用户登录到RHEL6的图形桌面环境,启动database/目录下的runInstaller脚本文件。
运行runInstaller脚本启动安装程序:
针对/tmp目录、交换分区、显示器的基本检测通过以后,将会打开图形化的oracle安装序,如下图所示,下面将依次讲解oracle11g的主要安装步骤。
1)配置安全更新:如果已购买oracle11g数据库的授权,且服务器能连接INTERNET,建议正确填写电子邮件地址和oracle support口令,以便及时接收官方的安全更新通知。实验过程中建议将电子邮件地址留空,并消取对“我希望通过my oracle……”复选框的选择。
2)安装选项:全新安装建议选择“创建和配置数据库”或者“仅安装数据库软件”,后者将不会创建并配置数据库实例,只有对旧版本的oracle数据库进行升级时,才选择“升级现有数据库”。
3)系统类:选择“服务器类”进行安装,以便适用于企业环境的数据库系统。“桌面类”一般只建议个人用户使用,包含的配置和功能比较少。
4)网格选项:选择“单实例数据库安装”,大多数应用场合中oracle数据库的用途比较单一,每台oracle服务器只需要一个实例就可以了。
5)安装类型:选择“典型安装”,采用oracle11g的基本配置进行完全安装。若要为各种管理账户分别设置口令,或者选择语言版本、设置自动备份、存储管理等,则应该选择“高级安装”。
6)典型安装配置:在“典型安装”步骤中,可以指定oracle11g的基本目录、软件安装目录、数据库存放目录,并选择要安装的数据库版本、指定全局数据库名称、设置管理口令,如下图所示:
必须设置管理口令,其他参数可采用默认值。Oracle11g数据库自动建有三个用户:超级管理员sys、system和数据库所有者sysman,当选择“高级安装”时可以为三个用户分别设置口令,否则将使用同一个管理口令。
7)创建产品清单:将清单目录修改为:/opt/oracle/oraInventory,以便oracle用户有权限写入oracle数据库的清单信息。
8)先决条件检查及概要:针对各种前置条件进行检查,发现有未满足的条件后会给出提示,应根据检查结果进行修复或者安装必需的软件包。预安装检查,错误可忽略(软件版本问题,但必须确认软件包已安装)。
如果所有条件都已满足,则会看到本次安装的概要信息,确定无误后单击“完成”按钮却完成设置,然后开始复制文件及部署数据库的安装过程。
9)完成安装:文件复制及相关部署结束后,会弹出“执行配置脚本”对话框,如图所示,根据提示切换为root用户并依次执行/opt/oracle/oraInventory/orainstRoot.sh、/opt/oracle/product/11.2.0/dbhome_1/root.sh脚本。
按照上图中的要求执行脚本,执行过程如下图所示:注:要先切换成root用户。
最后单击“确定”按钮,会提示方问https://dbserver:1158/em/,表示使用此URL地址可以访问OEM(oracle enterprise manager,oracle企业管理器)平台,以便对oracle11g的数据库实例进行管理。
10)验证安装结果:使用浏览器访问OEM管理平台,以用户名sys、连接身份“SYSDBA”进行登录,密码为安装时指定的管理口令。登录成功后可以看到OEM管理控制台,如图所示,若显示数据库状态正常、无明显错误,则表示oracle11g安装成功。
11)让oracle和oem随机启动:
完成oracle11g数据库的安装后,相关服务器会自动启用,但并不表示下次开机后oracle服务器仍然可用。下面将介绍oracle的基本服务组件,以及如何编写服务脚本来控制oracle数据库系统的自动运行。
为了方便执行oracle11g的服务组件程序,建议对所有用户的环境配置作进一步的优化调整、补充PATH路径、oracle终端类型等变量设置。除此以外,还应该修改/etc/oratab配置文件,以便运行dbstart时自动启用数据库实例。
1、修改/etc/oratab,修改内容如下:
#vim /etc/oratab
orcl:/opt/oracle/product/11.2.0/dbhome_1:Y(N改为Y)
2、修改/etc/profile,添加如下内容:
3、建立oracle服务的启动脚本:
虽然通过各种服务组件程序能够启动、停止整个oracle11g数据库系统,但显然还不够方便,在RHEL6服务器中,更好的做法是将相关操作编写为服务脚本,交给chkconfig工具来管理,从而实现随系统开、关机自动启动、停止oracle数据库。
#vi /etc/init.d/oracle //内容如下:
在oracle脚本文件中,数据库的启动、停止操作均通过“su – oracle –c 命令行”形式来执行,这是为了获得oracle用户的登录环境,且因为由root切换为普通用户无需验证密码,从而省去了交互式登录的过程,便于脚本的后台执行。
4、给脚本设置权限并添加为系统服务
添加好oracle服务后,就可以通过脚本的start、stop、status、restart参数来控制oracle数据库的启动、停止、查看状态、重启了。
至此在rhel6系统中有关oracle 11g的安装和安装后的启动设置就完毕了。