redhat5.4Linux64位安装oracle 11g

安装jdk
参考http://yq81862.iteye.com/admin/blogs/2005750

1,检查需要的依赖包:
rpm -qa | grep binutils
rpm -qa | grep compat-libstdc++
rpm -qa | grep elfutils-libelf
rpm -qa | grep elfutils-libelf-devel
rpm -qa | grep elfutils-libelf-devel-static
rpm -qa | grep gcc
rpm -qa | grep libstdc++
rpm -qa | grep libstdc++-devel
rpm -qa | grep gcc-c++
rpm -qa | grep glibc
rpm -qa | grep glibc-common
rpm -qa | grep kernel-headers
rpm -qa | grep glibc-headers
rpm -qa | grep glibc-devel
rpm -qa | grep ksh
rpm -qa | grep libaio
rpm -qa | grep libaio-devel
rpm -qa | grep libgcc
rpm -qa | grep libgomp
rpm -qa | grep libstdc++
rpm -qa | grep libstdc++-devel
rpm -qa | grep make
rpm -qa | grep sysstat
rpm -qa | grep unixODBC
rpm -qa | grep unixODBC-devel
2,系统缺少的依赖包能在系统ISO的Server中可以找到
eg:
find libaio-devel*
打印出
-r--r--r-- 333 root root    11345 2007-01-19 libaio-devel-0.3.106-3.2.i386.rpm
-r--r--r-- 141 root root    11221 2007-01-19 libaio-devel-0.3.106-3.2.x86_64.rpm
然后安装相应的64位包进行copy
rpm -ivh libaio-devel-0.3.106-3.2.x86_64.rpm
需要注意的是lfutils-libelf-devel-static-0.137-3.el5.x86_64.rpm
rpm -ivh --nodeps elfutils-libelf-devel-static-0.137-3.el5.x86_64.rpm
和gcc
rpm -qa | grep gcc-c++
这个需要依赖gcc
gcc其实是没有安装的
rpm -ivh gcc-4.1.2-46.el5.x86_64.rpm

3,添加oracle用户组和用户
groupadd oinstall
groupadd dba
mkdir -p /app/oracle/home
useradd -g oinstall -G dba oracle
passwd oracle
chown -R oracle:oinstall /app/
chmod -R 775 /app/
4,修改 /etc/sysctl.conf 文件,加上如下参数
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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 = 1048586

5,修改 /etc/security/limits.conf 文件,加上下面的参数
oracle           soft    nproc   2047
oracle           hard    nproc   16384
oracle           soft    nofile  1024
oracle           hard    nofile  65536
将下列内容加入到/etc/pam.d/login 文件最后面。
session  required  /lib/security/pam_limits.so
session  required  pam_limits.so
修改/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
修改用户bash shell
su - oracle
vim .bash_profile
增加以下内容,注意:orcl为oracle数据库的实例名。
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/home
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

安装
cp linux_11gR2_database_1of2.zip /tmp
cp linux_11gR2_database_2of2.zip /tmp
cd /tmp
unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
su root
xhost +
su - oracle
cd /tmp/database
./runInstaller



-------------------------------------------------------------------------------------------------------------------------------------------------------

为什么需要oinstall ,dba 两个组

一个是控制软件安装,补丁安装等的;另一个是控制数据库创建,数据库管理等的。

你可以将两个权限都授权给dba组,只创建dba一个组就可以了。

角色细化而已,另外oracle还要求redo日志、控制文件分不同盘放,数据安全要求而已


kernel.shmall = 2097152 # 可以使用的共享内存的总量。
kernel.shmmax = 2147483648 # 最大共享内存段大小。
kernel.shmmni = 4096 # 整个系统共享内存段的最大数目。
kernel.sem = 250 32000 100 128 # 每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数。
fs.file-max = 65536 # 系统中所允许的文件句柄最大数目。
net.ipv4.ip_local_port_range = 1024 65000 # 应用程序可使用的IPv4端口范围。
net.core.rmem_default = 1048576 # 套接字接收缓冲区大小的缺省值
net.core.rmem_max = 1048576 # 套接字接收缓冲区大小的最大值
net.core.wmem_default = 262144 # 套接字发送缓冲区大小的缺省值
net.core.wmem_max = 262144 # 套接字发送缓冲区大小的最大值

fs.aio-max-nr = 1048576 文件系统最大异步io

这里,对每个参数值做个简要的解释和说明。
(1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G。
(2)shmmni:这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改。
(3)shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改。
(4)sem:该参数表示设置的信号量。
(5)file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。
修改好内核以后,执行下面的命令使新的配置生效。

kernel.shmmax:表示单个共享内存段的最大值,以字节为单位,此值一般为物理内存的一半,不过大一点也没关系,这里设定的为4GB,即"4294967295/1024/1024/1024=4G"。

  kernel.shmmni:表示单个共享内存段的最小值,一般为4kB,即4096bit。来源:www.examda.com

  kernel.shmall:表示可用共享内存的总量,单位是页,在32位系统上一页等于4kB,也就是4096字节。

  fs.file-max:表示文件句柄的最大数量。文件句柄表示在Linux系统中可以打开的文件数量。

  ip_local_port_range:表示端口的范围,为指定的内容。

  kernel.sem:表示设置的信号量,这4个参数内容大小固定。

  net.core.rmem_default:表示接收套接字缓冲区大小的缺省值(以字节为单位)。

  net.core.rmem_max :表示接收套接字缓冲区大小的最大值(以字节为单位)

  net.core.wmem_default:表示发送套接字缓冲区大小的缺省值(以字节为单位)。

  net.core.wmem_max:表示发送套接字缓冲区大小的最大值(以字节为单位)。

/**如果有任何问题,可以加入群228920057进行讨论*/

猜你喜欢

转载自yq81862.iteye.com/blog/1870531