同事不知道为什么,最近对oracle产生了兴趣,非得要我帮他装一个。
我以前也没有装过那东西,所以正好试试。
呵呵,反正打算以后也转到oracle,也好提前试下。
在传说当中,oracle 的安装是非常麻烦的。
还好他有官方文档,按照官方文档一步一步来。
内核版本:2.6.18-53.1.13.el5
oracle版本: 11g Release 1 (11.1) for Linux X86-64
参考文档:Database Quick Installation Guide
一,硬件要求:
内存:至少1G的物理内存。官方的建议是如果低于1G内存,则须要添加内存。
SWAP分区:
1024MB-2048MB 物理内存的1.5倍
2049MB-8192MB 与物理内存相等
大于8192MB 物理内存的0.75倍
这个swap分区的大小倒没什么特别的要求,跟我以前听到的传言大不一样,与Linux的swap分区建议是一样的。(呵呵,我以前听的传言说oracle的swap分区起码要10个G)
硬盘要求:
这个目前应该都不是什么大的问题,可用空间大于5G基本上就可以安装下来了(呵呵,肯定不包括你的库空间)
二,软件要求:
在CentOS里面,oracle 11g要求预装下列软件:
- binutils-2.17.50.0.6
- compat-libstdc++-33-3.2.3
- compat-libstdc++-33-3.2.3 (32 bit)
- elfutils-libelf-0.125
- elfutils-libelf-devel-0.125
- gcc-4.1.1
- gcc-c++-4.1.1
- glibc-2.5-12
- glibc-2.5-12 (32 bit)
- glibc-common-2.5
- glibc-devel-2.5
- glibc-devel-2.5-12 (32 bit)
- libaio-0.3.106
- libaio-0.3.106 (32 bit)
- libaio-devel-0.3.106
- libgcc-4.1.1
- libgcc-4.1.1 (32 bit)
- libstdc++-4.1.1
- libstdc++-4.1.1 (32 bit)
- libstdc++-devel 4.1.1
- make-3.81
- sysstat-7.0.0
这些倒都不难,用yum就可以直接安装了。
要提醒的是,安装的包版本高了倒没什么事,最好不了低于要求版本,不然可能会出状况。我不保证,起码我没有试过。
三,创建oracle相关的用户及用户组
- The Oracle Inventory group (oinstall)
- The OSDBA group (dba)
- The Oracle software owner (oracle)
- An unprivileged user (nobody)
#groupadd dba
#useradd -g -g oinstall -G dba oracle
四,修改内核参数:
使用下列命令:
加文件的最好加上下面几行(记得把原来已有过的定义给注释掉)
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default =4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
这里有两个地方说明一下,fs.file-max与net.core.rmem_default
这两个在官方的说明里面有点奇怪
fs.file-max,从官方文档上看应该是512乘以进程数,但我不知道这个进程数指的是什么东西,就随便让512乘以1000,写上512000,后面倒也是没有报错
然后就是net.core.rmem_default,我不明白为什么官方文档上写的数据是262144,但是在安装的时候却提示要4194304,而且是报failed。在后来的过程中,我按安装程序要求改成了4194304,然后重启再来。没试过用262144安装能不能成功,有兴趣你们可以试下。
五,设置shell限制
编辑
在文件的最后加上这个
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
编辑下面这个文件:
在最后加上下面两行:
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
六,建立程序安装目录
用下面命令建立程序所在目录并赋予oracle用户读写权限
# chown -R oracle:oinstall /target/app/
# chmod -R 775 /u01/app/
七,配置oracle用户的环境变量
切换到oracle 用户
编辑/home/oracle/.bash_profile
在文件的最后加上:
ORACLE_SID=orcl
export ORACLE_BASE ORACLE_SID
umask 022
OK
到这里为你可以退出,然后以oracle用户身份登陆,再执行runInstaller就可以安装数据库了,图形界面,很容易了
之后的东西,我也不大清楚了
只知道再输出一个ORACLE_HOME环境变量,然后就可以用sqlplus这个命令登陆oracle的库
默认好像可以用system这个用户登陆,密码是你在安装时设置的
我也不知道怎么搞了
启动数据库:
SQL*Plus: Release 11.1.0.6.0 - Production on Thu Jul 31 09:02:50 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 422670336 bytes
Fixed Size 1300352 bytes
Variable Size 285214848 bytes
Database Buffers 130023424 bytes
Redo Buffers 6131712 bytes
Database mounted.
Database opened.
SQL>
[quote]fs.file-max,从官方文档上看应该是512乘以进程数,但我不知道这个进程数指的是什么东西,就随便让512乘以1000,写上512000,后面倒也是没有报错[/quote]
现在回想起起来,应该是当时理解错误,估计是把processor看成process了?
现在在网方文档又找不到了。。。