操作系统准备工作
其实真正的进入图形界面安装是简单的,只是前期的配置比较繁琐,如版本、空间、位置、软件包、用户、环境变量、内核参数,这里主要讨论前期配置。
10g与11g的单实例安装基本一样,主要区别在系统的软件包和某些系统参数,本文中分别叙述。
支持的版本:
oracle10g的版本只支持到RHEL4,建议安装官方认可的操作系统版本。
如果是在RHEL5上安装10g,需要修改一下系统中的版本识别文件。
因为oracle安装包中的代码有检测操作系统的脚本。
[root@ora mnt]# grep ^Linux install/oraparam.ini
Linux=redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2
解决方法,用vi改一下
[root@ora mnt]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
[root@ora mnt]# vim /etc/redhat-release
[root@ora mnt]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 4.5 (Tikanga)
空间需求
内存至少512M交换分区至少1G
oracle软件安装位置1.3G
数据库安装位置至少1G
/tmp要有足够400M的剩余
如果这些目录都是隶属于根文件系统那根需要有3G空闲才能安装(1.3+1+0.4)
上述都属于最小要求这是远远不够后期运行添加数据使用的.
并且随着后期运行oracle自身产生的文件会逐渐增大请保留足够的空间需求
检查方法
[root@ora ~]# df -h
文件系统 类型 容量已用 可用已用%挂载点
/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@ora ~]# grep -E 'MemTotal|SwapTotal' /proc/meminfo
MemTotal: 1035108 kB
SwapTotal: 1076344 kB
软件包检查,使用root执行下列脚本
10.2.0.1.0:
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
11.2.0.3.0:
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 setarchelfutils-libelf-devel\
elfutils-libelf-devel-static sysstat libaio-devel
do
rpm -q $i &>/dev/null || F="$F $i"
done ;echo $F;unset F
如果这个命令执行后有输出包名字,则利用rpm或者yum(推荐)进行安装,这里不在阐述。
如果没有输出信息则说明所需要的软件包已经都在系统中了
建立oracle用户和组 建议指定GID和UID方式(尤其集群环境)
[root@ora ~]# groupadd -g 1000 oinstall
[root@ora ~]# groupadd -g 1001 dba
[root@ora ~]# useradd -u 1000 -g oinstall -G dba oracle
[root@ora ~]# passwd oracle
主机名和解析地址
[root@ora ~]# hostname
ora.terry.com
[root@ora ~]# ifconfig eth0 | head -n 2
eth0 Link encap:Ethernet HWaddr 00:0C:29:9F:DF:4A
inet addr:192.168.1.100 Bcast:10.10.10.255 Mask:255.255.255.0
[root@ora ~]# grep -v '^#' /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.1.100 ora.terry.com ora
修改操作系统参数
添加到
vim /etc/sysctl.conf 文件底端
10.2.0.1.0
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
11.2.0.3.0
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
加载参数 sysctl -p
参数解释 kernel.shmmax ##Maximum size of shared memory segment (bytes) 可使用的最大内存,建议配置到大于数据库内存 kernel.shmall ##Total amount of shared memory available (bytes or pages) 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 ##套接字发送缓冲区大小的最大值
shell限制
[root@ora ~]# grep -v '^#' /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
在system-auth中添加一行
[root@ora ~]# grep 'limit' /etc/pam.d/system-auth
session required pam_limits.so
建立oracle软件安装文件目录
[root@ora ~]# mkdir -p /u01/oracle
[root@ora ~]# chown -R oracle:oinstall /u01/
设置oracle环境变量
[root@ora ~]# vi /home/oracle/.bash_profile
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export ORACLE_SID=kkterry
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
登陆oracle用户并echo $ORACLE_SID、echo $ORACLE_HOME进行检查
ORACLE_BASE oracle产品基目录
ORACLE_HOME 数据库目录
ORACLE_SID 操作系统和oracle实例关联的纽带
PATH 将安装后的oracle命令追加到执行搜索路径
LD_LIBRARY_PATH 动态库的位置
运行安装命令
现在root下执行xhost+,然后使用oracle用户登录,并以绝对路径执行安装程序 runInstaller
[root@ora ~]# xhost +
[root@ora ~]# su - oracle
[oracle@ora ~]# /mnt/database/runInstaller
10g安装界面有可能乱码,退出界面后执行export LANG=C,然后再次执行/mnt/database/runInstaller
图形界面进行安装这里不再叙述。
首次安装后会让root执行两个脚本:
[root@ora ~]# /u01/oracle/oraInventory/orainstRoot.sh
更改权限/u01/oracle/oraInventory 到 770.
更改组名/u01/oracle/oraInventory 到 oinstall.
脚本的执行已完成
[root@ora ~]# /u01/oracle/product/11.2.0/root.sh
Running Oracle10 root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/oracle/product/11.2.0
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
执行完后按照图形界面点击下去,没有报错就算安装成功。
有些情况下会出现报出oem安装配置失败,可能是因为网络等原因,可以忽略,以后再配置。