Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1682885
  • 博文数量: 391
  • 博客积分: 8464
  • 博客等级: 中将
  • 技术积分: 4589
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-13 15:12
个人简介

狮子的雄心,骆驼的耐力,孩子的执著!

文章分类

全部博文(391)

文章存档

2023年(4)

2018年(9)

2017年(13)

2016年(18)

2014年(7)

2013年(29)

2012年(61)

2011年(49)

2010年(84)

2009年(95)

2008年(22)

分类: Oracle

2011-06-18 14:55:35

Server : DELL 2950
System : Red Hat Enterprise Linux Server release 5.5
 
一、       安装准备:
下载文件
l         Oracle Database 10g Release 2(10.2.0.1) Software
解压文件 10201_database_linux_x86_64.cpio
解压文件命令:
cpio -idmv  < 10201_database_linux_x86_64.cpio
解压后的文件夹可能“database”
Hosts文件
在/etc/hosts 文件中包含一个完整合法的服务器名
    
 
设置内核参数 (10G)
在/etc/sysctl.conf中添加以下行:

#kernel.shmall = 2097152  
#kernel.shmmax = 2147483648  
kernel.shmmni = 4096  
# semaphores: semmsl, semmns, semopm, semmni   
kernel.sem = 250 32000 100 128  
#fs.file-max = 65536  
net.ipv4.ip_local_port_range = 1024 65000  
net.core.rmem_default=262144  
net.core.rmem_max=262144  
net.core.wmem_default=262144  
net.core.wmen_max=262144  

设置内核参数 (11G)
在/etc/sysctl.conf中添加以下行:

# for oracle
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 8388608
kernel.shmmax = 32212254720
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 1048576
net.core.rmem_max = 41944304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
vm.swappiness = 5


运行下面的命令应用以上OS参数
/sbin/sysctl -p
添加以下行到/ect/security/limits.conf文件中

*               soft    nproc   2047  
*               hard    nproc   16384  
*               soft    nofile 1024  
*               hard    nofile 65536  

如果/etc/pam.d/login文件中没有以下行,则添加以下内容:
session    required     /lib/security/pam_limits.so
修改/etc/selinux/config文件来关闭linux防火墙,确保SELINUX设置如下:
SELINUX=disabled

检查安装包
检查是否具备以下安装包:

  1. make-3.79.1  
  2. gcc-3.2.3-34  
  3. glibc-2.3.2-95.20  
  4. compat-db-4.0.14-5  
  5. compat-gcc-7.3-2.96.128  
  6. compat-gcc-c++-7.3-2.96.128  
  7. compat-libstdc++-7.3-2.96.128  
  8. compat-libstdc++-devel-7.3-2.96.128  
  9. libXp   
  10. openmotif21-2.1.30-8  
  11. setarch-1.3-1
    1.)yum install -y make gcc glibc compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel libXp openmotif21 setarch
    2.)yum install -y libaio-devel sysstat unixODBC-devel unixODBC.i386 unixODBC.x86_64  pdksh
    yum Rescourse:
    3.) 挂载CentOS yum源的时候出现如下错误,
    warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
    解决方法: rpm --import /etc/pki/rpm-gpg/RPM*

查询所需安装包是否完整(缺少补啥)

  1. rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel libXp  

用以下命令安装以下包:

  1. rpm -Uvh [包名称]

添加组和用户

  1. #groupadd oinstall   
  2. #groupadd dba   
  3.     
  4. #useradd -g oinstall -G dba oracle   
  5. #passwd oracle  

建立安装目录
建立oracle安装目录

  1. #mkdir -p /opt/oracle
  2. #mkdir -p /opt/oraInventory   
  3. #chown -R oracle:oinstall /opt/oracle
  4. #chown -R oracle:oinstall /opt/oraInventory   
  5. #chmod -R 775 /opt/oracle
  6. #chmod -R 775 /opt/oraInventory  

版本信息
因为默认Oracle Database 10g Release 2(10.2.0.1)不支持rhel5.5,所以要修改一些参数
编辑/etc/redhat-release文件替换现在的版本信息(Red Hat Enterprise Linux Server release 5.5 (Tikanga))

redhat-4

以可以通过修改安装文件oraparam.ini,添加redhat-5.5(二者选一即可)

# vi /usr/local/src/database/install/oraparam.ini   
### #[Certified Versions]   
Linux=redhat-3,SuSE-9,redhat-4,redhat-5.5,UnitedLinux-1.0,asianux-1,asianux-2]  

再添加
[Linux-redhat-5.5-optional]
TEMP_SPACE=80  
SWAP_SPACE=150  
MIN_DISPLAY_COLORS=256  

用户环境变量
以oracle用户登陆,在.bash_profile文件尾添加以下行:

# Oracle Settings   
TMP=/tmp   
export TMP   
TMPDIR=$TMP   
export TMPDIR   
ORACLE_BASE=/u01/app/oracle   
export ORACLE_BASE   
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1   
export ORACLE_HOME   
ORACLE_SID=orcl   
export ORACLE_SID   
ORACLE_TERM=xterm   
export ORACLE_TERM   
PATH=/usr/sbin:$PATH   
export PATH   
PATH=$ORACLE_HOME/bin:$PATH   
export PATH   
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib   
export LD_LIBRARY_PATH   
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib   
export CLASSPATH   
if [ $USER = "oracle" ]; then   
 if [ $SHELL = "/bin/ksh" ]; then   
    ulimit -p 16384  
    ulimit -n 65536  
 else  
    ulimit -u 16384 -n 65536  
 fi   
fi  

二、开始安装
执行命令,使其进入图形安装模式

1.)  [root @localhost] xhost +  或者 #xhost local:oracle

2.) 切换到oracle用户 (su  - oracle)

如果担心安装界面中文乱码设置环境变量(使用英文环境安装)
export LANG=C  

1.   选择安装方式,选择高级安装
2.选择安装目录
3.   选择安装类型, 在选择安装类型时,选择产品语言,把中文选上,不选的话,数据库默认为支持的语言只有英文。
4.   安装详细路径
5.   软件要求检查
6.   配置选项 一般选择“创建数据库(C)”
7.   数据库配置 一般选择“一般用途(G)”
8.   数据库配置详情,字符集根据实际情况选择,可以选择AL32UTF8/ZHS16GBK,这样可以支持中文
9.   数据库管理选项 一般选择“使用Database Control管理数据库”
10.  数据库文件存储选项 一般选择“文件系统”
11.  备份和恢复选项 一般选择“不启用自动备份”
12.  设置密码 根据个人情况设置密码
14.  配置Assistants
15.  数据库配置助手
16.  密码管理
17.  运行脚本, 必须在root用户下运行。
18.  结束安装

三、常见问题(FAQ)
错误1
在./runInstaller运行时出现
检查监视器:颜色必须大于256色
无法使用命令 /usr/X11R6/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了DISPLAY 变量。
解决方法:
1)先查看是否设置了DISPLAY变量

$echo $DISPLAY  

如果出现:1.0 或者ip:1.0表明已经设置
如果没有设置DISPLAY
以root身份执行如下命令,获得窗口信息

# xdpyinfo |grep name
name of display:    :1.0

$export DISPLAY=:1.0或者ip:1.0  

如果设置了DISPLAY变量 还出现此问题。检查/usr/X11R6/bin 下是否有xdpyinfo,
如果没有,cp -f /usr/bin/xdpyinfo /usr/X11R6/bin/xdpyinfo

四、测试Oracle 10g 数据库:
1. 启动Oracle10g 数据库sqlplus
$export ORACLE_SID="orcl" # ORACLE_SID 数据库名
$ sqlplus "scott/tiger as sysdba"  
如果出现依赖库无执行权限的提示,需要将SELinux的安全级别降为permissive(允许)。

将出现如下连接数据库信息:
SQL*Plus: Release 10.1.0.2.0 - Production on 星期三 3月 24 16:23:27 2004
Copyright (c) 1982, 2004, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>
表明登录数据库系统成功,运行startup命令启动数据库。
SQL> startup
ORACLE instance started.
Total System Global Area 336356520 bytes
Fixed Size 279720 bytes
Variable Size 268435456 bytes
Database Buffers 67108864 bytes
Redo Buffers 532480 bytes
Database mounted.
Database opened.
SQL>
表示数据库正常启动。
2. 关闭Oracle10g 数据库
$ sqlplus "scott/tiger as sysdba" //以sysdba用户登录数据库 

成功登录数据库系统后,运行shudown命令关闭数据库。
SQL> shutdown immediate 

3. 启动Oracle10g监听程序
Oracle的监听程序主要是为客户端的连接提供接口,在控制台窗口键入如下命令:
$ lsnrctl  

将出现如下监听程序信息:
LSNRCTL for 32-bit Windows: Version 10.1.0.2.0 - Production on 24-3月 -2004 16
:59:51
Copyright (c) 1991, 2004, Oracle. All rights reserved.
欢迎来到LSNRCTL, 请键入"help"以获得信息。
LSNRCTL>
表明登录监听程序控制台成功,运行start命令启动监听程序。

LSNRCTL> start  

将出现监听程序的一系列启动和配置情况信息列表。
信息行的最后一行是“The command completed successfully”字样时,监听程序启动成功。
4. 关闭Oracle10g监听程序
运行stop命令关闭监听程序。
LSNRCTL> stop 

5. 查看是否可以进入web界面管理oracle10g数据库

执行命令:emctl status dbconsole

启动web界面:emctl start dbconsole

停止web界面:emctl stop dbconsole

(默认安装完oracle之后就已经启动oracle 10g web的管理界面)

在火狐浏览器输入进入web操作界面

五、设置oracle自动启动与关闭
1、编辑 /etc/oratab,把所有的 instance 的重启动标志设置成 'Y',如:
orcl:/u01/app/oracle/product/11.2.0/db_1:Y # change

2、配置默认SID
[root@db01 ~]# /home/oracle/.bash_profile

# add your SID at the last line
export ORACLE_SID=orcl

3、做一个启动脚本 /etc/init.d/oracle ,如下所示:

# this is an example
#!/bin/bash

# oracle: Start/Stop Oracle Database 11g R2
#
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
#
# processname: oracle

. /etc/rc.d/init.d/functions

LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_USER=oracle

case "$1" in
'start')
   if [ -f $LOCKFILE ]; then
      echo $0 already running.
      exit 1
   fi
   echo -n $"Starting Oracle Database:"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
   touch $LOCKFILE
   ;;
'stop')
   if [ ! -f $LOCKFILE ]; then
      echo $0 already stopping.
      exit 1
   fi
   echo -n $"Stopping Oracle Database:"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
   rm -f $LOCKFILE
   ;;
'restart')
   $0 stop
   $0 start
   ;;
'status')
   if [ -f $LOCKFILE ]; then
      echo $0 started.
      else
      echo $0 stopped.
   fi
   ;;
*)
   echo "Usage: $0 [start|stop|status]"
   exit 1
esac

exit 0  

3、赋予执行权限
chmod 750 /etc/init.d/oracle 

chkconfig oracle on  

 参考:
http://carvin.iteye.com/blog/779084

阅读(1857) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~