第一次安装Oracle,五花八门的问题,折腾了一阵,终于安装好了,将过程总结一下,给自己,也给需要的人!
1.OS版本限制
2.磁盘空间限制
3.软件包依赖
4.主机名和解析地址
5.用户和资源限制(PAM)
6.系统资源限制(内核参数)
支持的版本:
oracle10G的版本只支持到RHEL4,生产中建议安装官方认可的操作系统版本
如果是RHEL5需要修改一下系统中的版本识别文件
因为oracle安装包中的代码有检测操作系统的脚本
[root@dba mnt]# grep ^linux install/oraparam.ini
Linux=RedHat-3,SUSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2
[root@dba mnt]#
解决方法
root@dba mnt]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
[root@dba mnt]# vim /etc/redhat-release
[root@dba mnt]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 4.5 (Tikanga)
[root@dba mnt]#
空间需求
内存至少512M 交换分区至少1G
oracle软件安装位置1.3G
数据库安装位置至少1G
/tmp要有足够400M的剩余
如果这些目录都是隶属于根文件系统 那根需要有3G空闲才能安装 (1.3+1+0.4)
上述都属于最小要求 这是远远不够后期运行添加数据使用的.
并且随着后期运行oracle自身产生的文件会逐渐增大 请保留足够的空间需求
检查方法
[root@dba ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda2 ext3 15G 2.3G 12G 17% /
/dev/sda1 ext3 99M 12M 83M 12% /boot
tmpfs tmpfs 506M 0 506M 0% /dev/shm
[root@dba ~]#
[root@dba ~]# grep -E 'MemTotal|SwapTotal' /proc/meminfo
MemTotal: 1035108 kB
SwapTotal: 1076344 kB
[root@dba ~]#
软件包检查
for i in binutils compat-gcc-34 compat-libstdc++-296 control-center
gcc gcc-c++ glibc glibc-common glibc-devel libaio libgcc
libstdc++ libstdc++-devel libXp make openmotif22 setarch
do
rpm -q $i &>/dev/null || F="$F $i"
done ;echo $F;unset F
如果这个命令执行后有输出包名字 请向系统中补充
如果没有输出信息 则说明所需要的软件包已经都在系统中了
主机名和解析地址
[root@dba ~]# hostname
dba.up.com
[root@dba ~]#
[root@dba ~]# ifconfig eth0 | head -n 2
eth0 Link encap:Ethernet HWaddr 00:0C:29:9F:DF:4A
inet addr:10.10.10.10 Bcast:10.10.10.255 Mask:255.255.255.0
[root@dba ~]#
[root@dba ~]# grep -v '^#' /etc/hosts
127.0.0.1 localhost.localdomain localhost
10.10.10.10 dba.up.com dba
[root@dba ~]#
操作系统资源限制
添加到
vim /etc/sysctl.conf 文件底端
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
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
加载参数 sysctl -p
kernel.shmall
Total amount of shared memory available (bytes or pages)
kernel.shmmax
Maximum size of shared memory segment (bytes)
建议大于等于SGA
kernel.shmmni
Maximum number of shared memory segments system-wide
kernel.shmall*kernel.shmmni = 能够分配的内存大小
kernel.sem = SEMMSL SEMMNS SEMOPM SEMMNI
SEMMSL Maximum number of semaphores per set
每个信号对象集的最大信号对象数;
SEMMNS Maximum number of semaphores system-wide
系统范围内最大信号对象数;
SEMOPM
每个信号对象支持的最大操作数;
SEMMNI Maximum number of semaphore identifiers
系统范围内最大信号对象集数。
其中 SEMMNS的值等于 SEMMSL*SEMMNI
fs.file-max
系统中所允许的文件句柄最大数目。
net.ipv4.ip_local_port_range
应用程序可使用的IPv4端口范围。
net.core.rmem_default
套接字接收缓冲区大小的缺省值
net.core.rmem_max
套接字接收缓冲区大小的最大值
net.core.wmem_default
套接字发送缓冲区大小的缺省值
net.core.wmem_max
套接字发送缓冲区大小的最大值