全部博文(7)
分类: Oracle
2010-04-13 10:38:42
Unit 2.安装ORACLE软件
硬件需求
RAM 最小512MB, 推荐1G
SWAP最小1GB 推荐RAM大小的两倍
临时空间/tmp 最小400MB 推荐1GB
磁盘空间 最小 1.5G用于ORACLE软件, 1.5G用于启动数据库
推荐 1.5G用于ORACLE软件, 1.5G用于启动数据库
操作系统版本 参照ORACLE文档
2.OFA 最优灵活体系结构(从ORACLE 8开始引入)
提供了一种结构化方法,用于定位ORACLE需要与使用的各种文件
易于管理数据库各种文件的存储位置, 诸如备份以及还原数据库
OFA还提供了能够监视与调整性能的基本功能(诸如减少多种文件之间的竞争)
在一台电脑上运行多个ORACLE版本时,如果每个版本都遵循OFA原则,那么多个版本之间就不会重写另一个版本所需的文件。
3.为oracle创建用户和组(用户名为oracle,当然也可是其他用户名)
A. 为ORACLE创建用户和组
#groupadd oinstall
#groupadd dba
#useradd -g oinstall -G dba -d /var/oracle oracle
B.为oracle用户设置环境变量
[oracle@ocp10g ~]$ vim .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
alias sqlplus='rlwrap sqlplus' ---->安装rlwrap,并设定别名使SQLPLUS具有命令历史功能
alias rman='rlwrap rman' ---->同上,使RMAN有命令历史功能。
以上两参数建立在安装了rlwrap工具之后,否则会出错
export TMP=/var/oracle/tmp ----->临时目录
export TMPDIR=$TMP ----->临时目录
export ORACLE_BASE=/var/oracle ------>
export ORACLE_HOME=$ORACLE_BASE/product/10.2.1 ----->ORACLE数据库产品目录,
export EDITOR=/usr/bin/vim ------>默认的编辑器
export ORACLE_SID=orcl ------>用于识别数据库实例
export PATH=$ORACLE_HOME/bin:/usr/bin:$PATH ----->系统搜索路径
export PATH=$PATH:/usr/bin/:/bin:/usr/bin/X11:/usr/local/bin ----->系统搜索路径
export PATH=$PATH:$ORACLE_BASE/common/oracle/bin ------>系统搜索路径
export ORACLE_TERM=xterm ----->终端模式
export TNS_ADMIN=$ORACLE_HOME/network/admin ----->listener.ora以及tns_name.ora的位置
export ORA_NLS10=$ORACLE_HOME/nls/data ----->字符库文件
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/usr/lib:/usr/local/lib:$ORACLE_HOME/oracm/lib:$ORACLE_HOME/lib ---->指定查找动态链接库时除了默认路径之外的其他路径
export LIBPATH=$LIBPATH:$ORA_CRS_HOME/lib:$ORACLE_HOME/lib --->指定静态库路径
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/JRE --->JAVA执行程序的路径
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK ---->存储字符以及客户端语言选择
C. 配置内核参数(具体参照联机文档)
#vim /etc/sysctl.conf
kernel.shmmax = 4294967295 ------>单个共享内存段的最大尺寸
kernel.shmall = 268435456 ------->共享页的大小,32位机默认是单位是4K,即268435456*4是共享内存的问题
kernel.shmmni = 4096 ------>共享内存段的数量
kernel.sem = 250 32000 100 128 ------>官方文档中的设置
SEMMSL SEMMNS SEMOPM SEMMNI
SEMMSL: 服务器中各个实例中最大的PROCESSES参数+10
SEMMNS: 系统信号量最大数,设置为SEMMSL*SEMMNI
SEMOPM: 每次semopm系统调用操作数,设置与SEMMSL参数相同
SEMMNI: 系统信号量级数最大数
fs.file-max = 65536 ----->当前系统的最大文件打开数
net.ipv4.ip_local_port_range = 1024 65000 ---->ip的端口范围
net.core.rmem_default = 4194304 ----->接收套接字的缓存大小 (默认)
net.core.rmem_max = 4194304 ----->接收套接字的缓存大小 (最大)
net.core.wmem_default = 262144 ----->发送套接字的缓存大小(默认)
net.core.wmem_max = 262144 ----->发送套接字的缓存大小(最大)
#sysctl -p (使参数配置立即生效)
D.限制oracle用户对资源的访问
D1.限制用户访问资源(以root身份)
# vi /etc/security/limits.conf 在文件之后加入如下内容
#Add this
line
oracle soft nproc 2047 -->软限制,最大进程数
oracle hard nproc 16384 -->硬限制,最大进程数
oracle soft nofile 4096 -->软限制,最大文件数
oracle hard nofile 65536 -->硬限制,最大文件数
D2.限制用户SHELL对资源的访问
#vim /etc/profile
if [ $USER = "oracle" ];then
if [ $SHELL = "/bin/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
E.验证用户
#vim /etc/pam.d/login
session required pam_limits.so
session required /lib/security/pam_limits.so
安装必要的软件包
使用yum方式安装能省去很多麻烦,推荐(因为我们的重点在于DB,不在于OS)
[root@ocp ~]# yum install binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel openmotif openmotif-devel libXp libXp-devel (因为ORACLE10g 不支持RHEL5,标注软件同样必须安装,)
.安装Oracle 软件
先设置共享当前X11的访问权,即当前屏幕
[root@ocp ~]# xhost +
#su - oracle
定义DISPLAY变量,让显示输出到X11上,即当前0.0个显示设备上
[oracle@ocp ~]$ export DISPLAY=:0.0
$cd /var/oracle/oracle10g2
$./runinstaller (-ignoreSysPrereqs)跳过检查,因为ORACLE 10G release1不支持RHEL5, 但经过测试在RHEL5之上安装oracle 10g release2没有问题)
小结:安装时经常出现的错误,主要集中在
A.SWAP 空间不够---可通过新增swap分区或是文件来解决
B.SELINUX的限制,导致安装完成后无法访问库文件,改变setenforce=0让SELINUX处于交互模式,或是禁用,但本人认为最好的方式是根据SELINUX的提示,更改context值。
C.没有正确安装和使用的另外一个原因是所需的软件包没有正确完整的安装。
D.有时也会因为网络配置问题导致network configure assistant无法正确安装
另外,有些企业的IT希望能够让ORACLE 服务器开机就启动,那么下面这些内容可能对你有用:
使用vim打开/etc/oratab(此文件是由$ORACLE_HOME/root.sh创建,所以oracle用户同样有权限修改)修改如下内容
orcl:/var/oracle/product/10.2.1:N --- > orcl:/var/oracle/product/10.2.1:Y
然后使用root身份进入修改/etc/rc.local,加入以下内容:
su - oracle <
lsnrctl start LISTENER
sqlplus
/nolog<
connect sys/oracle as sysdba
startup
alter system register;
EOS
EOF
现在,保存退出,你会发现下次重开机,oracle 服务器就自动启动了,当然在进入系统时,鉴于DB的规模,而需要不同的时间来初始化这样一个环境。
同样的,如果需要对EM, listener, isqlplus等也进行自动启动,可以依上来设置。
但一般企业中不会进行自动启动的设置,这违反了一些管理原则。