Chinaunix首页 | 论坛 | 博客
  • 博客访问: 690440
  • 博文数量: 176
  • 博客积分: 4791
  • 博客等级: 上校
  • 技术积分: 1921
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-24 18:47
个人简介

it江湖漂,怎能不挨刀;一朝机器当,看你怎么着!

文章分类

全部博文(176)

文章存档

2014年(2)

2012年(17)

2011年(27)

2010年(18)

2009年(6)

2008年(21)

2007年(43)

2006年(42)

分类: LINUX

2008-12-23 14:00:49

一、以root用户登录, 进行如下操作:

1 检查硬件要求
* 主要包括:

**********************************************
* 内存: >=512M *
* 交换空间: 1.0 GB或者2倍内存大小 *
* 临时空间(/tmp>):>=400M *
* 软件所需空间: >=2.5G *
* 数据库文件: >=1.2G *
**********************************************

cat /etc/issue
uname -r
grep "model name" /proc/cpuinfo
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
free
df -k /tmp
df -k

2 检查软件要求(安装软件包)
说明:虽然官方文档只要求如下几个软件包(具体版本号可能不一样),
但实际上在真正安装的时候,往往需要更多.

binutils-2.15.92.0.2-10.EL4
         compat-db-4.1.25-9
         control-center-2.8.0-12
         gcc-3.4.3-9.EL4
         gcc-c++-3.4.3-9.EL4
         glibc-2.3.4-2
         glibc-common-2.3.4-2
         gnome-libs-1.4.1.2.90-44.1
         libstdc++-3.4.3-9.EL4
         libstdc++-devel-3.4.3-9.EL4
         make-3.80-5
         pdksh-5.2.14-30
         sysstat-5.0.5-1
         xscreensaver-4.18-5.rhel4.2

2.1 首先,在你的RHEL光盘里找到如上RPM包;

2.2 然后,执行以下命令:

rpm -Uvh binutils*
   rpm -Uvh compat-db*         
   rpm -Uvh control-center*       
   rpm -Uvh gcc-3.4*             
   rpm -Uvh gcc-c++*         
   rpm -Uvh glibc-2.3*             
   rpm -Uvh glibc-common*         
   rpm -Uvh gnome-libs*   
   rpm -Uvh libstdc++-3.4*       
   rpm -Uvh libstdc++-devel*
   rpm -Uvh make*               
   rpm -Uvh pdksh*             
   rpm -Uvh sysstat*             
   rpm -Uvh xscreensaver*

说明:若执行以上命令时提示须安装其它,则再从RHEL4的安装盘拷贝相应的包,然后再继续安装

经测试,另个安装顺序是:

rpm -ivh /cdrom/freetype-devel-2.1.9-1.i386.rpm
rpm -ivh fontconfig-devel-2.2.3-7.i386.rpm
rpm -ivh xterm-192-1.i386.rpm
rpm -ivh xorg-x11*
rpm -ivh atk-devel-1.8.0-2.i386.rpm
rpm -ivh --force --nodeps xorg-x11-devel-6.8.2-1.EL.13.20.i386.rpm
rpm -ivh pango-devel-1.6.0-9.i386.rpm
rpm -ivh gtk2-devel-2.4.13-16.i386.rpm
rpm -ivh libart_lgpl-devel-2.3.16-3.i386.rpm
rpm -ivh audiofile-devel-0.2.6-1.i386.rpm
rpm -ivh --aid libgnomeui-devel-2.8.0-1.i386.rpm
rpm -ivh --aid librsvg2-2.8.1-1.i386.rpm
rpm -ivh --aid xloadimage-4.1-34.RHEL4.i386.rpm
rpm -ivh --aid xscreensaver-4.18-5.rhel4.9.i386.rpm
rpm -ivh --aid control-center-2.8.0-12.rhel4.2.i386.rpm
rpm -ivh --aid libtiff-devel-3.6.1-8.i386.rpm
rpm -ivh --aid libungif-devel-4.1.3-1.i386.rpm
rpm -ivh --force --nodeps --aid gnome*

#显卡配置工具
rpm -ivh --aid system-config-display-1.0.24-1.noarch.rpm
system-config-display

#安装VNC服务端,用着远程连接用.
rpm -ivh vnc-4.0-8.1.i386.rpm
rpm -ivh vnc-server-4.0-8.1.i386.rpm

3 创建安装数据库的用户、组和安装目录
3.1 创建用户和相关的组

/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -g oinstall -G dba oracle
passwd oracle

3.2 建立相关目录并授权

#(the Oracle base directory)
mkdir -p /usr/app/oracle
#(an optional Oracle datafile directory)
mkdir -p /usr/oradata
chown -R oracle:oinstall /usr/app/oracle /usr/oradata
chmod -R 777 /usr/oradata

4 配置内核参数
4.1 修改核心参数并检查
4.1.1 修改参数
vi /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=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144

4.1.2 启用新参数

  1. /sbin/sysctl -p

4.1.3 检查参数

/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep ip_local_port_range

4.2 设置oracle用户的shell限制
4.2.1 编辑limits.conf

  1. vi /etc/security/limits.conf

说明:添加如下的行
nofile(可打开的文件描述符的最大数)和nproc(单个用户可用的最大进程数量)

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

4.2.2 编辑/etc/pam.d/login,添加1行:

  1. vi /etc/pam.d/login
  2.             session required     /lib/security/pam_limits.so

4.2.3 编辑/etc/profile,添加如下部分:

  1. vi /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

5 装载CD,或上传并解压缩文件
5.1 若装载CD:

  1. mount /media/cdrom

5.2 若上传并解压缩文件
5.2.1 上传:可用ftp命令或ftp工具
5.2.2 解压缩:

  1. unzip 10201_database_linux32.zip -d /linlan/

5.2.3 改变属主和权限:

chown oracle /linlan/
               chmod -R +755 //linlan/

5.3 设置在安装Oracle的机器上以oracle用户安装

  1. xhost localhost:oracle

二、以oracle用户登录, 进行如下操作

1 配置oracle用户的环境变量
1.1 切换到Oracle用户

  1. su - oracle

$ cd

1.2 设置环境变量
$ vi .bash_profile (在文件后面添加如下内容)

export ORACLE_HOME=/usr/local/oracle/product/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=.:${PATH}:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export LANG=zh_CN.GBK
export NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK

1.3 使环境变量生效

  1. $ source .bash_profile

1.4 设置本地字符集类型

  1. $ export LC_CTYPE=en_US.UTF-8

2 开始安装
说明:为了便于后结安装,最好在安装前打开两个shell窗口,1个以root登录,另外1个以oracle登录

2.1

  1. $ ./runInstaller

2.2 根据安装提示进行相应操作,中间需要root执行2个脚本:

$ORACLE_BASE/oraInventory/orainstRoot.sh
$ORACLE_HOME/root.sh

说明:把$ORACLE_BASE和$ORACLE_HOME替换成实际的目录即可

2.3 安装过程中,不要选择创建数据库;

其它就没什么了,只须根据提示进行相应操作,直至安装成功。

三、安装过程的问题

1 Q: 执行./runInstaller后,弹不出安装界面,提示如下错误信息:
———————————————————————————————

Xlib: connection to ":0.0" refused by server
   Xlib: No protocol specified
   Error: Can't open display: :0.0

A: 在安装Oracle的机器上,以root身份运行命令:

  1. xhost +

2 Q:安装时,弹出的界面出现乱码
———————————————————————————————
A:以oracle用户身份,设置本地字符集类型

  1. $ export LC_CTYPE=en_US.UTF-8

3 Q:安装过程中,提示OUI-10066错误:

Not all the dependencies for the component Oracle Database 10g 10.2.0.1.0 could be found.
    Missing component oracle.doc 10.2.0.1.0

.
———————————————————————————————
A:可能是oracle安装文件没有完全解压缩,重新解压缩一下再安装
注意:若用root解压后,更改其属主为oracle

4 Q:INFO: /bin/sh: /usr/bin/gcc: No such file or directory

......
    INFO: cannot stat `ntcontab.o'
    INFO: No such file or directory
    ......
    Exception Name: MakefileException
    Exception String: Error in invoking target 'ntcontab.o' of
    makefile '/usr/app/oracle/product/10.2.0/db_1/network/lib/ins_net_client.mk'

———————————————————————————————
A: 检查Linux系统的所有补丁是否安装,尤其是gcc包,然后再继续安装

四 创建与配置数据库(使用oracle用户登录RHEL)

1 创建数据库
1.1 以oracle用户登录RHEL, 输入:

  1. $ dbca

1.2 在输入数据库SID时, 要注意保持与oracle配置文件的$ORACLE_SID的值一致.
否则,创建完数据库后就启动不了(具体看下节).

2 配置服务名
修改listener.ora

  1. $ vi $ORACLE_HOME/network/admin/tnsname.ora

增加以下内容:
————————————————————————–
# 说明: 把HOST的值设置为你要安装数据库那台机器的IP

  1. SHDB =
  2.           (DESCRIPTION =
  3.          (ADDRESS_LIST =
  4.             (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.135.128)(PORT = 1521))
  5.          )
  6.          (CONNECT_DATA =
  7.             (SERVICE_NAME = SHDB)
  8.          )
  9.           )

3 配置数据库的监听器
3.1 修改listener.ora

  1. $ vi $ORACLE_HOME/network/admin/listener.ora

输入以下内容:
————————————————————————–
说明: 把HOST的值设置为你要安装数据库那台机器的IP

LISTENER =                                                         
       (DESCRIPTION_LIST =                                             
          (DESCRIPTION =                                                 
             (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))                   
                (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.135.128)(PORT = 1521))
            )                                                               
      )                                                               
                                                              
    SID_LIST_LISTENER =                                                 
       (SID_LIST =                                                       
         (SID_DESC =                                                   
            (SID_NAME = PLSExtProc)                                       
               (ORACLE_HOME = /usr/app/oracle/product/10.2.0/db_1)         
                  (PROGRAM = extproc)                                           
               )                                                               
            (SID_DESC =                                                   
               (SID_NAME = SHDB)                                             
               (ORACLE_HOME = /usr/app/oracle/product/10.2.0/db_1)         
            )                                                               
      )

3.2 启动监听器

  1. $ lsnrctl start

4 启动数据库

$ sqlplus / as sysdba
   $ startup

若数据库能正常启动, 则配置到此结束

五、配置数据库的问题

1 Q: TNS-01155: Incorrectly specified SID_LIST

  1. NL-00303: syntax error in NV string

———————————————————————————————
A: 可能是profile中设置的sid和你创建的DB的SID不一致

(1) 查看数据库的SID是否与.bash_profile的ORACLE_SID一致

$ echo $ORACLE_SID
       $ ls $ORACLE_HOME/dbs/init*.ora

(2) 修改.bash_profile的ORACLE_SID为你创建DB的SID, 然后保存并生效

  1. $ source .bash_profile

(3) 创建pfile

$ sqlplus /nolog
      SQL> connect /as sysdba
      SQL> create pfile='/usr/app/oracle/product/10.2.0/db_1/initSHDB.ora' from spfile='/usr/app/oracle/product/10.2.0/db_1/dbs/spfileSHDB.ora';
      SQL> startup pfile='/usr/app/oracle/product/10.2.0/db_1/initSHDB.ora'
      或
      SQL> startup nomount pfile='/usr/app/oracle/product/10.2.0/db_1/initSHDB.ora'
      或
      SQL> startup

说明: 把pfile和spfile的路径修改成这两个文件在系统的实际位置即可

2 Q: ORA-01102:cannot mount database in EXCLUSIVE mode
———————————————————————————————
A: 可能是关闭异常,造成数据库已经装载或共享的假象,而造成以下问题:

(1) “lk” and “sgadef.dbf”这两个用于锁内存的文件存在着。

oracle$cd $ORACLE_HOME/dbs
      oracle$ls -l sgadef.dbf

* 如果存在删掉它

oracle$rm sgadef.dbf
          oracle$ls -l lk

* 如果存在删掉它

  1. oracle$rm lk

(2) pmon、smon、lwgw及dbwr这些后台进程依然存在着

  1. oracle$ps -ef | grep ora_ | grep $ORACLE_SID

* 如果有pmon这些后台进程的残留,kill -9掉它

  1. oracle$kill -9 pid

(3) Oracle开辟的共享内存没有释放掉
① 清共享内存段
oracle$ipcs -m –显示一下,看owner是Oracle用户的

  1. oracle$ipcrm -m

② 清信号集
oracle$ipcs -s –显示一下,看owner是Oracle用户的

  1. oracle$ipcrm -s
阅读(1233) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~