当前位置: > 数据库 > Oracle >

IBM X3400服务器安装Linux操作系统和Oracle11G R2 64位数据库

时间:2015-01-06 00:29来源:linux.it.net.cn 作者:IT

随着软件技术日益发展,用户对于软件的安全性和准确性、稳定性、响应时间等等要求也越来越高。对于用户的的这种要求,当然这也是我们一直所追求的。软件运行是否稳定、数据是否准确、数据是否安全,这取决于软件本身是否够健壮、服务器是否强大、服务器的操作系统是否够稳定、安全。当数据达到海量的时候就应该要考虑数据库的优化,而目前市面上用的使用最广泛的数据库之一Oracle,一直以来都备受大型应用系统开发者的青睐,而Oracle数据库在Linux上安装的时候配置也是很讲究的(内核参数怎么配置才能达到最好的效果)。

 

下面就来分享一下安装Linux系统和Oracle数据库的具体过程:

 

准备工作:

Linux镜像文件;2:刻盘工具Nero_Multimedia_Suite_10_Lite;3.使用刻盘工具把镜像文件刻盘(如果是安装window server操作系统还需要ibm_utl_sguide的引导文件刻盘做成引导盘);3:Oracle安装文件(linux.x64_11gR2_database_1of2.zip,linux.x64_11gR2_database_2of2.zip安装文件);4:Xmanager安装程序(连接Linux系统)。

下面是具体步骤

第一步:配置磁盘阵列(Raid1)。

RAID介绍: 

RAID是Redundent  Arrayof Inexpensive Disks 的缩写,直译为廉价冗余磁盘阵列,也简称为“磁盘阵列”。后来RAID中的字母I被改作了Independent,RAID就成了“独立冗余磁盘阵列”,但这只是名称的变化,实质性的内容并没有改变。可以把RAID理解成一种使用磁盘驱动器的方法,它将一组磁盘驱动器用某种逻辑方式联系起来,作为逻辑上的一个磁盘驱动器来使用。

RAID的优点:

1. 传输速率高。在部分RAID模式中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个的磁盘驱动器几倍的速率。因为CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。

2. 更高的安全性。相较于普通磁盘驱动器很多RAID模式都提供了多种数据修复功能,当RAID中的某一磁盘驱动器出现严重故障无法使用时,可以通过RAID中的其他磁盘驱动器来恢复此驱动器中的数据,而普通磁盘驱动器无法实现,这是使用RAID的第二个原因。

RAID的分类:

RAID 0,无冗余无校验的磁盘阵列。数据同时分布在各个磁盘上,没有容错能力,读写速度在RAID中最快,但因为任何一个磁盘损坏都会使整个RAID系统失效,所以安全系数反倒比单个的磁盘还要低。一般用在对数据安全要求不高,但对速度要求很高的场合,如:大型游戏、图形图像编辑等。此种RAID模式至少需要2个磁盘,而更多的磁盘则能提供更高效的数据传输。

RAID 1,镜象磁盘阵列。每一个磁盘都有一个镜像磁盘,镜像磁盘随时保持与原磁盘的内容一致。RAID1具有最高的安全性,但只有一半的磁盘空间被用来存储数据。主要用在对数据安全性要求很高,而且要求能够快速恢复被损坏的数据的场合。此种RAID模式每组仅需要两个磁盘。

RAID5这里就不多说(机房就有两台服务器是做的这个阵列),可以去网上看看。这次我用到的就是RAID1。

 

注意:如果不配置RAID,在安装操作系统时会出现多个磁盘。

 

配置步骤大致如下:

启动服务器,当出现Press F1for Configuration/Setup按F1进入setup。

2)选择Devices and I/O Ports选择“Advanced Chipset Control”把“SerialATA”的参数改为Enabled ,“SATA Controller Mode Option”的参数改为“Enhanced”,“SATA RAID Enable”的参数改为Enabled

按Esc,保存退出。

3)按ctrl+alt+del重启服务器,当出现“Press for Adaptect RAID Configuration Utility”按CTRL+A(有的服务器是ctrl+H)进入raid配置菜单选择“Array Configuration Utility” 选择“CtreateArray ”新建raid1,按insert键把两个盘加入,创建方式选Quick Int

4)按Done完成退出,RAID磁盘阵列就已经配置完成了。

 

第二步:安装Linux操作系统,把事先准备好的光盘放入,按照提示进行操作,一般选默认的就行了。

注:当出现选安装类型的时候,一般情况下是选择所有空间,勾选“查看并修改分区布局”选项,点击“下一步”这个步骤就相当于window下的磁盘分区了。

 

这里只分了一个盘,也就是根目录(root:该目录一般分配20G样子就差不多了,分多了就浪费,该目录存储的就是一些日志和系统文件),还有一个LV_SWAP(内存交换区,SWAP大小设置:如果内存够大的话这个可以不用设置或者默认就行了,否则配置成内存的倍数就行)。根据自己的需要还可以创建分区,然后选择挂载点(挂载在哪个目录,就跟window底下的盘符差不多),需要注意的地方就这些了。

 

第三步:安装Oracle数据库。

1)首先我们需要创建安装Oracle的用户和群组以及Oracle的安装文件夹,授予Oracle用户和Oracle所在群组的读写权限。可以通过图形化界面去创建,也可以用命令方式去创建。命令创建格式如下:

Groupadd oinstall  //添加 oinstall  群组

Groupadd dba    //添加 dba 群组

mkdir -p /home/oracle  //安装目录

useradd -g oinstall -G dba –d  /home/oracleoracle //将Oracle用户添加到 oinstall和dba群组下

password oracle //设置Oracle用户的密码

chown -R  oracle:oinstall / home/oracle  //改变Oracle目录的拥有者

chmod -R 775 /home /oracle  //设置目录的读写权限

 

2)修改内核参数 在命令窗口底下输入:vi /etc/sysctl.conf或者直接用root用户登录系统用图形化界面找到该文件进行修改。需要添加以下参数:

fs.aio-max-nr = 1048576

此参数限制并发未完成的请求,应该设置避免I/O子系统故障。

fs.file-max = 6815744

该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量,可以查看当前系统的配置:cat /proc/sys/fs/file-max,如果设置太小则按照最大打开文件数量的需求设置系统

kernel.shmall = 2097152

该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB/4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求(几乎是原来设置2097152的两倍)。这时可以将shmmax参数调整到16G了,同时可以修改SGA_MAX_SIZE和SGA_TARGET为12G(您想设置的SGA最大大小,当然也可以是2G~14G等,还要协调PGA参数及OS等其他内存使用,不能设置太满,比如16G)

kernel.shmmax = 536870912

是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。

官方建议值:

32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。32位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。

64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取12*1024*1024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中。 

 

kernel.shmmni = 4096

该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。

kernel.sem = 250 32000 100 128

250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。

32000是参数semmns的值,表示系统内可允许的信号量最大数目。

100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。

128是参数semmni的值,表示系统信号量集合总数

net.ipv4.ip_local_port_range = 9000 65500

表示应用程序可使用的IPv4端口范围

net.core.rmem_default = 262144

表示套接字接收缓冲区大小的缺省值

net.core.rmem_max = 4194304

表示套接字接收缓冲区大小的最大值。

net.core.wmem_default = 262144

表示套接字发送缓冲区大小的缺省值

net.core.wmem_max = 1048576

表示套接字发送缓冲区大小的最大值。

 

以上参数加入之后,都要在命令窗口输入(root用户):sysctl –p,让配置生效。

3)检查安装Oracle所需的包是否已经安装了,将下面的命令复制到命令窗口底下执行,

 

rpm -q binutils compat-libstdc++-33elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-commonglibc-devel glibc-headers kernel-headers ksh libaio  libaio-devel libgcclibgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBCunixODBC-devel


如果已经安装了,就会打印出包的名称以及版本号,如果没安装就会提示“XXX is not installed”,这个时候只需挂载光盘即可,在光盘里面有个packages这个文件夹(在该目录下可以使用rpm 命令进行安装,例如:rpm –ivhlibstdc++-devel.el4.4.0.6.rpm,注意,如果是64的操作系统记得装带X86_64字样的包),如果该文件夹地下没有对应的包,可以使用(yum install 包名,例如:yum installlibgcc,它就会自动联网搜索并下载安装),所有包都安装完成之后重新检查。

4)添加下面的参数到/etc/security/limits.conf

oracle soft nproc 2047  //用户生效的进程的数目

oracle hard nproc 16384 //用户生效的进程数目的最大

oracle soft nofile 1024  //用户生效的打开文件数的数目

oracle hard nofile 65536 //用户生效的打开文件数的最大数目

oracle soft stack 10240  //最大栈大小(KB)

 

5)拷贝包含环境变量的文件到安装目录下,这个之后会用到 
cp/etc/skel/.bash_profile /home/oracle 
cp /etc/skel/.bashrc /home/oracle 
cp /etc/skel/.bash_logout /home/oracle

 

6)增加下面的内容到文件/etc/pam.d/login 中,使shell limit生效 
vi/etc/pam.d/login 
session    required     pam_limits.so 
//将该行加入login文件的最后

 

7)编辑/etc/hosts文件

使用命令:vi /etc/hosts 添加:

127.0.0.1   localhostDWProductDataBase localhost4 localhost4.localdomain4 //这一行一般都有,只要看看主机名对不对,不对就要进行修改,这里的服务器机器名是” DWProductDataBase

#linux 主机的ip地址    你的主机名

测试:ping  DWProductDataBase

 

8)设置Oracle用户环境变量

首先切换到Oracle用户,注意:下面没说明切换到root用户,那就证明都是在Oracle用户底下操作

su– oracle

vi.bash_profile
在隐藏的.bash_profile文件中,将原有的环境变量删除,加入以下环境变量(将原有的删掉),注意自己的根目录位置  
ORACLE_BASE=/home/oracle    //注意这里是指Oracle根目录,如果没配置好dbca、netca都使用不了

ORACLE_HOME=$ORACLE_BASE/oracle  //Oracle安装的目录 ,不一定是Oracle

ORACLE_SID=DATA    //会话ID,默认启动的实例

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

exportORACLE_BASE ORACLE_HOME ORACLE_SID PATH

 

9)上传文件到Linux服务器,使用工具(SSH Secure File TransferClient),或者其他的工具,把文件上传到Oracle用户的DownLoads(可以是其他的目录)目录下。上传完成后使用Oracle用户进入Linux系统,然后跳转到DownLoads目录下,解压文件

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

完成后,改变oracle用户访问安装包的权限 
chown–R oracle:oinstall /home/oracle/DownLoads/database
10)开始安装Oracle数据库,这一步需要在桌面环境下完成(使用Xmanager连接服务器);

输入命令:cd/home/oracle/DownLoads/database跳转到安装包目录

运行安装文件

./runInstaller

安装中选择默认的就行了,但是要注意最后一步,有两个要执行的脚本文件

找到文件所在目录,执行这两个脚本,然后点击确定

 

11)配置监听

打开终端,输入:netca就会出现监听配置界面,所有的都选默认的就行。

12)新建数据库

打开终端,输入:daca就会出现新建数据库界面,详细步骤这里略过。

13)配置企业管理器

打开终端,输入:netmgr就会出现企业管理器配置界面,详细步骤这里略过

 

注意如果netca、dbca、netmgr命令提示是错误的命令的时候,请检查的环境变量是否配置正确,修改之后注销重新登录。

以上就是在服务器上安装Linux和Oracle 11G R2的详细步骤,仅供参考!如有不对的地方欢迎指正。


(责任编辑:IT)
------分隔线----------------------------