2024年3月26日发(作者:)

Debian Squeeze AMD64安装Oracle 10g x86_64 10.2.0.4数据库

/database/debian_amd64_install_10g_r2_

服务器操作系统为Debian Squeeze AMD64,没有安装X,通过ssh远程访问。客户端为debian testing,

安装有gnome桌面环境。

先安装10.2.0.1,然后安装升级包10.2.0.4,比安装10g r2客户端多了一些操作,具体安装过程如下:

一、安装10.2.0.1

1、下载oracle 10g r2

下载回来的文件为10201_database_linux_x86_

$gunzip 10201_database_linux_x86_

$cpio -idmv < 10201_database_linux_x86_

解压缩后所有的安装文件位于database目录下。

2、检查硬件是否达到要求

物理RAM必须大于512M,现在的机器内存都没问题。超过8GB RAM时,swap应该在物理RAM的0.75

倍以上。Enterprise Edition安装类型大约使用2G硬盘空间。

通过以下命令检查,如果不满足需要做相应的调整

$grep MemTotal /proc/meminfo //检查物理内存大小

$grep SwapTotal /proc/meminfo //检查swap大小

$df -h //检查可用硬件空间大小

3、安装需要的软件包,创建需要的符号链接

安装依赖包

$sudo apt-get install build-essential ia32-libs ia32-libs-dev libc6 libc6-i386 libc6-dev

libc6-dev-i386 rpm libstdc++5

如果不安装ia32-libs,安装时会提示

/…/client/runInstaller: 63: /…/client/install/.oui: not found

创建符号链接

#ln -sf /usr/bin/awk /bin/awk

#ln -sf /usr/bin/rpm /bin/rpm

#ln -sf /usr/bin/basename /bin/basename

4、创建oracle需要的组和用户

oracle安装使用的组

#groupadd oinstall

系统管理使用的组

#groupadd dba

创建用户oracle

#useradd -g oinstall -G dba oracle

为用户oracle设置密码

#passwd oracle

创建nobody用户和nobody组

#groupadd nobody

debian默认已经创建了nobody用户,其属于nogroup组,但$ORACLE_HOME/为

$ORACLE_HOME/bin/extjob设置的组为nobody,所以这里也要创建nobody组,否则会抱怨

/bin/chgrp: invalid group: `nobody’

5、配置内核参数和oracle用户资源限制值

内核参数

oracle 10g要求的内核参数值如下

semmsl 250

semmns 32000

semopm 100

semmni 128

shmall 2097152

shmmax 物理内存的一半,以字节为单位

shmmni 4096

file-max 65536

ip_local_port_range 最小:1024 最大:65000

rmem_default 262144

rmem_max 262144

wmem_default 262144

wmem_max 262144

如果系统默认的内核参数值高于oracle 10g需要的值,则保持默认参数不变,否则用oracle 10g要求的值

来修改内核参数。修改参数时在/etc/sysctl.d目录下新建,将新的参数值写入此文件

= 250 32000 100 128

= 8589934592

_local_port_range = 1024 65000

_default = 262144

_max = 262144

_default = 262144

_max = 262144

参数值按semmsl semmns semopm semmni这个顺序指定,中间以空格隔开

为oracle用户所在组赋予分配大内存页的权限

#id oracle

uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)

#echo “1002″ >/proc/sys/vm/hugetlb_shm_group

这样oracle才有权限分配大内存页,否则建库时会有错误提示:

ORA-27125:unable to create shared memory segment