分类: LINUX
2011-03-27 23:17:20
物理内存
基本 - 512MB
推荐 - 1024MB
内存交换分区相对于物理内存的比例
物理内存1024MB~2048MB - 150%
物理内存2049MB~8192MB - 100%
物理内存大于8192MB - 75%
磁盘空间
/tmp目录所在的分区至少要有400MB空闲磁盘空间。
根据安装类型,安装Oracle服务器软件的分区至少要有1.5GB到3.5GB的空闲磁盘空间。1.2GB磁盘空间用于数据库预配置文件系统存储(可选)
Oracle 10g对软件环境的要求
操作系统
Red Hat Enterprise Linux AS/ES 3.0 (Update 4 or later)
Red Hat Linux 4.0
SUSE Linux Enterprise Server 9.0 with SP 2 or later
Asianux 1.0
Asianux 2.0
软件包
X11相关的库 (软件包名视操作系统而定,故不一一列出)
gcc (版本至少为2.96-124)
make (版本至少为3.79)
binutils (版本至少为2.11)
openmotif (版本至少为2.1.30)
setarch (版本至少为1.3)
compat-db (版本至少为4.0.14.5)
compat-gcc (版本至少为7.3-2.96.122)
compat-gcc-c++ (版本至少为7.3-2.96.122)
compat-libstdc++ (版本至少为7.3-2.96.122)
compat-libstdc++-devel (版本至少为7.3-2.96.122)
sysstat (版本至少为5.0.5-1)
libaio (版本至少为0.3.103-3)
libaio-devel (版本至少为0.3.103-3)
如果要卸载Oracle,只须运行
$./runInstaller -silent -deinstall -removeallfiles -removeAllPatches "REMOVE_HOMES={$ORACLE_HOME}" -responseFile <安装时使用的应答文件>
平台:OWLinux 3.6
1、oracle所依赖的包:
rpm -q --qf '%{name}-%{version}-%{release} (%{arch})\n' binutils compat-db gcc gcc-c++ glibc glibc-common libstdc++ libstdc++-devel make sysstat libaio
如果是在64位的环境下安装64位的oracle,则需要注意: glibc, libstdc++-, libstdc++-devel, libaio这4个包,是32位和64位的包都需要安装
2、修改内核参数
在 /etc/sysctl.conf 文件中添加下述参数设定:
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_max = 16777216
net.core.wmem_default = 266960
几个内核参数的含义说明如下:
参数 |
推荐值 |
说明 |
shmmax |
64bit操作系统,Physical MEM*1024*1024*1024 32bit操作系统,4G*1024*1024*1024 =4294967295 |
用于定义单个共享内存段的最大值,shmmax 设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降 |
shmmni |
4096 |
共享内存段的最大数量 |
shmall |
至少ceil(shmmax/PAGE_SIZE) |
Linux 共享内存页大小为4KB, 共享内 存段的大小都是共享内存页大小的整数倍。 |
sem |
250 32000 100 128 |
信号量;顺序:SEMMSL, SEMMNS, SEMOPM, SEMMNI |
SEMMSL |
最小250;对于processes参数设置较大的系统建议设置为processes+10 |
每个信号量set中信号量最大个数 |
SEMMNS |
至少32000; SEMMSL * SEMMNI |
linux系统中信号量最大个数 |
SEMOPM |
至少100;或者等于SEMMSL |
semop系统调用允许的信号量最大个数 |
SEMMNI |
最少128 |
linux系统信号量set最大个数 |
修改后执行下列命令使得内核改变生效:
sysctl -p
在 /etc/security/limits.conf中,添加
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
3、
groupadd oinstall
groupadd dba
useradd -g dba -G oinstall -d /oracle -s /bin/bash oracle
passwd oracle
修改oracle目录的own
mkdir /oracle
chown -R oracle:dba /oracle
修改/oracle/.bash_profile文件,添加下列内容:
ORACLE_BASE=/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0
export ORACLE_HOME
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_LANG
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export ORA_NLS33
ORACLE_SID=uccms
export ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/product/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/jre
export CLASSPATH
PATH=$ORACLE_HOME/bin:$PATH:/bin:/usr/bin:/usr/local/bin
export PATH
LANG=en
export LANG
4、编辑安装需要的应答文件
静默模式(Silent)安装必须指定一个应答文件来完成安装过程所须的各类参数。
在Oracle安装目录的response子目录里有enterprise.rsp有enterprise.rsp、standard.rsp和custom.rsp三个应答文件,分别对应企业版、标准版和定制的安装。
以enterprise.rsp为例,用任意的文本编辑器打它,修改以下这些项目的值。
ORACLE_HOME Oracle服务器的主目录位置,必须是绝对路径。
ORACLE_HOME_NAME Oracle服务器的名称,必须以字母开头。
COMPONENT_LANGUAGES Oracle服务器支持的语言,默认只有英语,可以添加多个语言。
s_nameForDBAGrp 用于Oracle系统管理的linux用户组名,该组的用户拥有管理Oracle服务器的权限,在本例中设置为 oradba。
s_nameForOPERGrp 用于Oracle数据库常规操作的linux用户组名,该组的用户拥有常规操作Oracle数据库的权限,在本例中设置为 oracle。
n_configurationOption 安装类型(1为在安装后创建数据库,2为安装后创建一个自动存储管理实例,3为只安装服务器软件),在本例中选择3。
其它项目用默认值即可,也可以根据自己的须要进行修改。
注:如果Oracle从光盘安装,必须先将应答文件复制到硬盘上,才能修改。
5、静默安装
./runInstaller -ignoreSysPrereqs -silent -responseFile absolute_path
Please run the script '/oracle/oraInventory/orainstRoot.sh' with root privileges
The following configuration scripts /oracle/10g/root.sh need to be executed as root for configuring the system
让Oracle运行为服务
创建文件 /etc/init.d/oracle,输入下列内容
#!/bin/sh
#
export
ORACLE_HOME=
export ORACLE_HOME_LISTNER=$ORACLE_HOME
export ORACLE=oracle
. /etc/init.d/functions
export PATH=${PATH}:$ORACLE_HOME/bin
start()
{
daemon --user $ORACLE $ORACLE_HOME/bin/dbstart
daemon --user $ORACLE "$ORACLE_HOME_LISTNER/bin/lsnrctl start"
}
stop()
{
daemon --user $ORACLE "$ORACLE_HOME_LISTNER/bin/lsnrctl stop"
daemon --user $ORACLE $ORACLE_HOME/bin/dbshut
}
case $1 in
'start')
start
RETVAL=$?
;;
'stop')
stop
RETVAL=$?
;;
'restart')
stop
start
RETVAL=$?
;;
*)
echo "usage: $0 {start|stop|restart}"
exit
;;
esac
#
exit
然后将这个文件赋予可执行的权限,运行
chmod a+x /etc/init.d/oracle
让Oracle的服务在Linux启动时自动运行
ln -s /etc/init.d/oracle /etc/rc.d/rc3.d/S99oracle
ln -s /etc/init.d/oracle /etc/rc.d/rc5.d/S99oracle
这样就可以用service来启动和停止Oracle了。
备注:
Oracle 10g在一些Linux系统下安装可能会被中断,在安装日志文件
$ORACLE_HOME/install/make.log
里可以看见以下错误信息
/bin/sed: -e expression #1, char 7: unterminated `s' command
要解决这个问题就必须编辑文件 gennttab。
先解压Oracle安装目录下的 stage/Components/oracle.network.rsf/10.2.0.1.0/1/DataFiles/filegroup6.jar,可以用以下方法之一进行解压
用jar解压:jar -xf filegroup6.jar bin/gennttab
用unzip解压:unzip filegroup6.jar bin/gennttab
再用文本编辑器(例如vi)打开解压出来的 gennttab,将以下内容
LIB=`$ECHO ${TtoLIB} | $SED 's/ /\\
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
INI=`$ECHO ${TtoINI} | $SED 's/ /\\
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
BAS=`$ECHO ${TtoBAS} | $SED 's/ /\\
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
改为
LIB=`$ECHO ${TtoLIB} | $SED 's/ /\n/g' | $GREP "^${T}:" | $AWK -F:
'{print $2}'`
INI=`$ECHO ${TtoINI} | $SED 's/ /\n/g' | $GREP "^${T}:" | $AWK -F:
'{print $2}'`
BAS=`$ECHO ${TtoBAS} | $SED 's/ /\n/g' | $GREP "^${T}:" | $AWK -F:
'{print $2}'`
保存后再用将gennttab更新到filegroup6.jar里面,可以用以下方法之一进行更新
用jar更新:jar -uvf filegroup6.jar bin/gennttab
用zip更新:zip -vu filegroup6.jar bin/gennttab
如果出现:SEVERE:OUI-10029: 您指定了非空目录来安装此产品。建议您指定空目录或新建一个目录。但是, 如果该目录包含操作系统生成的文件或子目录 (例如 lost+found), 您可以选择忽略此消息。
在不加 -force 参数的时候会有这样的报错,修改后正常
[oracle@localhost database]$ ./runInstaller -silent -force -responseFile /usr/app/oracle/install/database/response/enterprise.rsp