1.环境检查
linux:~ # cat /etc/SuSE-release
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 1
linux:~ #
2.创建用户和组
linux:~ # groupadd dba
linux:~ #
linux:~ # useradd oracle -u 1001 -g dba -s /bin/bash -d /home/oracle -m
linux:~ #
3.安装glibc库
Suse操作系统安装完默认是没有安装glibc-devel-32bit库的,需要手动安装,否则在后面的Oracle安装会报错,如下图所示:
在命令行输入yast2,在左边Software,选择Software Management
在搜索框中输入glibc,点击Search按钮,在右边窗体中将glibc-devel-32bit选择上,然后点击Accpet按钮,此时需要你插入Suse 的安装光盘,按提示操作完成安装:
4.修改内核参数及环境变量
修改配置文件sysctl.conf,增加如下相似行,
kernel.shmall 官方建议32位linux设置为32位最大限制值 即4G,所以1~4G物理内存直接设置为最大物理内存,大于4G物理内存,设置为4G。64位Linux,需要设置kernel.shmall大于SGA_MAX_SIZE,单位是字节。
kernel.shmmax = 内存×1024×1024×1024 = 2147483648 例如内存为2G 那么kernel.shmmax = 2×1024×1024×1024 = 2147483648
kernel.shmall = 524288
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 指定参数后,输入chkconfig命令,确保系统下次重启时读取/etc/sysctl.conf,执行sysctl 命令装载当前设置,如下:
linux:~ # /sbin/chkconfig boot.sysctl on
linux:~ # /sbin/sysctl -p /etc/sysctl.conf
编辑文件 /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
编辑/etc/hosts文件,增加类似如下行,将服务器的IP地址和主机名添加到最后一行,否则安装过程中会报错,无法继续安装:
192.168.200.254 linux
设置环境变量,编辑.bash_profile,增加如下类似行,SID请根据实际情况修改:
oracle@linux:~> cat .bash_profile
ORACLE_BASE=/home/oracle/data;export ORACLE_BASE
ORACLE_HOME=/home/oracle/product/10.2.0/db_1;export ORACLE_HOME
ORACLE_SID=zxin; export ORACLE_SID
export PATH=$PATH:$ORACLE_HOME:$ORACLE_HOME/bin:$HOME/bin
export SHLIB_PATH=$HOME/lib:$ORACLE_HOME/lib:/usr/lib
export LIBPATH=$HOME/lib:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=$HOME/lib:$ORACLE_HOME/lib
NLS_TERRITORY=china; export NLS_TERRITORY
NLS_DATE_FORMAT="YYYY.MM.DD HH24:MI:SS"; export NLS_DATE_FORMAT
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33
#NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"; export NLS_LANG LD_ASSUME_KERNEL=2.4.1
NLS_LANG="AMERICAN_AMERICA.ZHS16GBK";
export LANG=en_US
#export NLS_LANG LD_ASSUME_KERNEL=2.4.1
oracle@linux:~>
另外,需要注意的是,修改配置文件/home/oracle/setup/database/install/oraparam.ini中如下行,将SuSE=9 修改为SuSE=11,否则环境检查会不通过,修改结果如下所示:
[Certified Versions]
Linux=redhat-3,SuSE-11,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2
5.开始安装Oracle
以oracle用户登录终端(是以oracle用户直接登录,不是root用户或者其他用户登录su进去的),进入安装目录下,执行命令:
oracle@linux:~/setup/Disk1> ./runInstaller
弹出如下窗口,选择高级安装,点击红框中的Next下一步继续
默认,点击下一步继续
继续下一步
默认,下一步
下一步后,进行安装环境检查,抛出如下窗口:
此处需要注意,这一项检查不通过,是正常现象,因为我们是修改了安装配置文件,以达到支持Suse11安装的基本条件,所以这里需要在方框中打勾,用户校验,然后点击下一步继续安装:
因为我们忽略了环境检查中的错误,弹出警告,点击Yes按钮继续安装,弹出如下对话框,选择"Install database Software Only"只安装数据库软件,稍候我们再用DBCA创建数据库:
点击"Install"开始安装
安装过程中可能会有如下报错,网上也有好多人遇到过,所说是oracle的bug,直接忽略掉
弹出如下窗口,提示需要用root用户执行脚本,执行完成后点击OK按钮完成安装:
Changing permissions of /home/oracle/data/oraInventory to 770.
Changing groupname of /home/oracle/data/oraInventory to dba.
The execution of the script is complete
linux:/home/oracle/product/10.2.0/db_1 # ./root.sh
Running Oracle10 root.sh script...
ORACLE_OWNER= oracle
ORACLE_HOME= /home/oracle/product/10.2.0/db_1
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.
linux:/home/oracle/product/10.2.0/db_1 #