安装redhat5时要独立分配磁盘给SWAP,空间大小应该是内存大小*2最好使用内存>1G的机器。
系统检查命令:
# grep MemTotal /proc/meminfo ――检查内存大小
# grep SwapTotal /proc/meminfo ――检查交换分区大小swap
# df -k /tmp ――要求/tmp 400MB
# grep "model name" /proc/cpuinfo ――cpu检查
# cat /etc/issue ――操作系统检查
# uname –r ――系统内核检查
当前为root超级用户下进行操作:
1、由于orcale10不支持 redhat as5 需要修改/etc/redhat-release 将 Red
Hat Enterprise Linux Server release 5 (Tikanga) 改为Red Hat Enterprise
Linux Server release 4 (Tikanga) ,安装完成后再将其修改回来
2、修改/etc/hosts 文件将127.0.0.1改为本机IP地址 否则网络检查通不过
3、检查安装所需的软件包,如果提示依赖性错误,先按照提示内容安装所需软件包后继续
所需内核版本:2.4.9-e.25(或更高版本)
通过运行以下命令检查内核版本:
uname -r
例如:
# uname -r
2.4.9-e.27smp
其他所需程序包的版本(或更高版本):
gcc-3.2.3-2
make-3.79
binutils-2.11
openmotif-2.2.2-16
setarch-1.3-1
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
compat-db-4.0.14.5
要查看系统上安装了这些程序包的哪些版本,运行以下命令:
rpm -q gcc make binutils openmotif setarch compat-db compat-gcc /compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel
例如:# rpm -q gcc make binutils openmotif setarch compat-db compat-gcc /> openmotif compat-gcc-c++ compat-libstdc++ compat-libstdc++-develgcc-3.2.3-20make-3.79.1-17binutils-2.14.90.0.4-26openmotif-2.2.2-16setarch-1.3-1package compat-db is not installedcompat-gcc-7.3-2.96.122compat-gcc-c++-7.3-2.96.122compat-libstdc++-7.3-2.96.122compat-libstdc++-devel-7.3-2.96.122请注意,尚未安装 compat-db 程序包。安装过程中可用的任何程序包组均不包含此程序包,因此必须在单独的步骤中安装。如果系统上缺少任何其他程序包版本,或版本比以上指定的版本旧(compat-db 除外),则可以从 Red Hat Network 下载并安装更新。
rpm -Uvh compat-db-4*
rpm -Uvh libaio-0*
rpm -Uvh compat-libstdc++-33-3*
rpm -Uvh compat-gcc-34-3*
rpm -Uvh compat-gcc-34-c++-3*
rpm -Uvh libXp-1*
rpm -Uvh openmotif-2*
rpm -Uvh gcc-4*
第
4、修改 /etc/sysctl.conf 内核配置文件,增加/修改以下项目,如没有自己添加
kernel.shmall = 2097152 # 可以使用的共享内存的总量。
kernel.shmmax = 2147483648 # 最大共享内存段大小。Half the size of physical memory (in bytes)
kernel.shmmni = 4096 # 整个系统共享内存段的最大数目。
kernel.sem = 250 32000 100 128 # 每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数。
fs.file-max = 65536 # 系统中所允许的文件句柄最大数目。
net.ipv4.ip_local_port_range = 1024 65000 # 应用程序可使用的IPv4端口范围。
net.core.rmem_default = 1048576 # 套接字接收缓冲区大小的缺省值
net.core.rmem_max = 1048576 # 套接字接收缓冲区大小的最大值
net.core.wmem_default = 262144 # 套接字发送缓冲区大小的缺省值
net.core.wmem_max = 262144 # 套接字发送缓冲区大小的最大值
运行下面的命令使得内核参数生效:
/sbin/sysctl –p
注:内核参数并非必须修改,可以根据自己实际情况而定。
5、增加下面的内容到文件 /etc/security/limits.conf 文件中:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
6、增加下面的内容到文件 /etc/pam.d/login 中:
session required /lib/security/pam_limits.so
###session required pam_limits.so
*
For the Bourne, Bash, or Korn shell, add the following lines in the /etc/profile file (or the /etc/profile.local file on SUSE systems):
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
*
For the C shell, add the following lines in the /etc/csh.login file (or the /etc/csh.login.local file on SUSE systems):
if ( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
endif
7、因为SELINUX对oracle有影响,所以把secure linux设成无效,编辑文件 /etc/selinux/config :
SELINUX=disabled
当然你也可以用图形界面下的工具 (系统 > 管理 > 安全级别和防火墙). 选择SELinux页面并且设为无效.
8、新增组和用户:
groupadd oinstall
groupadd dba
useradd -m -g oinstall -G dba oracle
passwd oracle 自行设置密码
9、创建Oracle的安装目录,并把权限付给oracle用户:
例:
mkdir -p /u01/app/oracle/product/10.2.0/db_1
chown -R oracle.oinstall /u01
10、配置环境变量(/etc/profile或.bash_profile),增加一下内容
# Oracle Settings
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin ; export PATH
修改后使用source /etc/profile或.bash_profile 命令使配置生效
11、设置安装语言设置
登陆oracle用户
因为中文安装会有乱码所以设置用英文安装 export LC_ALL=en_US
12、开始安装
进入oracle安装目录中,执行./runInstaller
如果提示……/.oui权限不够,进入install目录,执行
chmod u+x .oui
chmod u+x unzip
===============================================
命令行安装模式:
静默模式(Silent)安装必须指定一个应答文件来完成安装过程所须的各类参数。
1、建立oraInst.loc文件
$ su - root
# ls /var/opt/oracle/oraInst.loc
/var/opt/oracle/oraInst.loc: No such file or directory
# mkdir -p /var/opt/oracle
# cd /var/opt/oracle
# vi oraInst.loc (加入或修改以下内容,其中/opt/oracle/oracle10是ORACLE_BASE)
inventory_loc=/opt/oracle/oracle10/oraInventory
inst_group=oinstall
# chown oracle10:oinstall oraInst.loc
# chmod 664 oraInst.loc
在Oracle安装目录的response子目录里有enterprise.rsp有enterprise.rsp、standard.rsp和custom.rsp三个应答文件,分别对应企业版、标准版和定制的安装。
以enterprise.rsp为例,用任意的文本编辑器打它,修改以下这些项目的值。
UNIX_GROUP_NAME="oinstall";
ORACLE_HOME Oracle服务器的主目录位置,必须是绝对路径。
ORACLE_HOME_NAME Oracle服务器的名称,必须以字母开头。
INSTALL_TYPE="Enterprise Edition"
SHOW_INSTALL_PROGRESS_PAGE= true
SHOW_END_OF_INSTALL_MSGS= true
COMPONENT_LANGUAGES Oracle服务器支持的语言,默认只有英语,可以添加多个语言。
s_nameForDBAGrp 用于Oracle系统管理的linux用户组名,该组的用户拥有管理Oracle服务器的权限,在本例中设置为 oradba。
s_nameForOPERGrp 用于Oracle数据库常规操作的linux用户组名,该组的用户拥有常规操作Oracle数据库的权限,在本例中设置为 oracle。
n_configurationOption 安装类型(1为在安装后创建数据库,2为安装后创建一个自动存储管理实例,3为只安装服务器软件),在本例中选择3。
其它项目用默认值即可,也可以根据自己的须要进行修改。
现在万事具备,可以安装了。
用oracle用户登录,然后在Oracle安装目录里执行
./runInstaller -ignoreSysPrereqs -silent -responseFile <应答文件的绝对路径>
接下来就是等待安装结束了。
各安装参数的含义如下
ignoreSysPrereqs 让Oracle忽略系统检查,因为Oracle官方声明只支持Linux服务器产品,所以要在非服务器产品的Linux上安装就必须指定此参数。
silent 让安装程序以静默模式运行。
responseFile 指定一个应答文件。
安装后要做的工作
3.1 Oracle系统初始化
用root用户登录,然后运行$ORACLE_HOME/root.sh进行Oracle的系统初始化工作,通常一路按回车用默认值即可。
3.2 安装网络监听器
没有网络监听器,客户端就无法通过网络连接Oralce服务器。要在命令行安装网络监听器,也只能使用静默模式。
编辑Oracle安装目录里response子目录下的应答文件 netca.rsp,修改以下项目。
INSTALL_TYPE=""custom"" 安装的类型
LISTENER_NUMBER=1 监听器数量
LISTENER_NAMES={"LISTENER"} 监听器的名称列表
LISTENER_PROTOCOLS={"TCP;1521"} 监听器使用的通讯协议列表
LISTENER_START=""LISTENER"" 监听器启动的名称
NAMING_METHODS={"TNSNAMES"}
然后运行
$ORACLE_HOME/bin/netca /silent /responseFile <应答文件的绝对路径>
3.3 修改dbstart
用任意的文本编辑器打开 $ORACLE_HOME/bin/dbstart,将
ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
改为
ORACLE_HOME_LISTNER=$ORACLE_HOME
否则网络监听器可能无法自动启动。
3.4 安装数据库实例
编辑Oracle安装目录里response子目录下的应答文件 dbca.rsp,修改以下项目。
GDBNAME 数据库全局名称
SID 数据库的SID
SYSPASSWORD SYS用户的初始密码
SYSTEMPASSWORD SYSTEM用户的初始密码
CHARACTERSET 数据库字符集(中文为 ZHS16GBK)
NATIONALCHARACTERSET 数据库国家字符集
然后运行
$ORACLE_HOME/bin/dbca -silent -cloneTemplate -responseFile <应答文件的绝对路径>
数据库创建成功后须要注册一些信息,root用户运行
$ORACLE_BASE/oraInventory/orainstRoot.sh
然后编辑 /etc/oratab
将
<Oracle的SID>:<Oracle的主目录>:N
修改为
<Oracle的SID>:<Oracle的主目录>:Y
使数据库实例能够自动启动。
3.5 让Oracle运行为服务
创建文件 /etc/init.d/oracle,输入下列内容
#!/bin/sh
#
export ORACLE_HOME=<Oracle服务器主目录的绝对路径>
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/oracle10g /etc/rc.d/rc3.d/S99oracle
ln -s /etc/init.d/oracle10g /etc/rc.d/rc5.d/S99oracle
这样就可以用service来启动和停止Oracle了。
$./runInstaller -silent -deinstall -removeallfiles -removeAllPatches "REMOVE_HOMES={$ORACLE_HOME}" -responseFile <安装时使用的应答文件>
./runInstaller -silent -deinstall -invPtrLoc /product/oracle/oraInventory/oraInst.loc -responseFile /mntoracle/distrib/linux/database/response/MyEnterprise.rsp