且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Linux上安装Oracle 10g 装后感

更新时间:2022-03-03 07:14:17

介绍

最近想研究下LoadRunner测试Oracle性能,然后自己就开始尝试着Linux上安装Oracle.本来感觉这件事情不怎么容易,听朋友说他安装的时候大费周折,重新安装多次,问了好多人才解决的,但完成安装后就感觉还是比较轻松的。现在和大家分享下我的经验,我本身也是Linux菜鸟。

材料来源:Fedora8下安装ORACLE10G数据库图文详解

说明:红字标明处是我的安装体会。

环境介绍

VMWare7.1,Fedora 8(Rad hat下的一个比较老的版本),Oracle 10g 

 

安装准备 

在WINDOWS上下载了10201_database_linux_x86_64.cpio.gz

然后用WINRAR解压成.cpio文件,我是通过建立WEB链接方式下载到虚拟机上的LINUX的。至于其他方式N种,找个自己熟悉的方式就行。

安装流程 

1.解压 

cpio -idmv < (这个类似于WINRAR,非常麻烦要进行2次解压)

 

2.设置内核参数: 

(1) 向/etc/sysctl.conf文件中加入: (对初学者而言你可以界面话的操作,如果你感觉很熟悉可以用vi编辑器etc.)
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.wmem_max=262144
(2) 运行下面的命令改变当前内核的参数: 
/sbin/sysctl -p

 

3.加入下面内容到 /etc/security/limits.conf文件 
* soft nproc 2047 
* hard nproc 16384 
* soft nofile 1024 
* hard nofile 65536

 

4.加入下面内容到/etc/pam.d/login文件 
session required /lib/security/pam_limits.so 

 

5.加入下面内容到/etc/selinux/config文件,如果此设置已经存在,改变value值就可以 
SELINUX=disabled 

 

6.使用下面的命令检查必须的包 
rpm -q 包名 
需要的包有: 
binutils-2.* elfutils-libelf-0.* glibc-2.* glibc-common-2.* libgcc-4.* 
libstdc++-4.* make-3.* elfutils-libelf-devel-0.* glibc-devel-2.* gcc-4.* 
gcc-c++-4.* libstdc++-devel-4.* unixODBC-2.* 
如果没有安装使用如下命令进行安装 
yum install 包名 
(注:包名可以写成上面的形式) 

 

7.创建用户及组 
groupadd oinstall 
groupadd dba 
groupadd oper 

useradd -g oinstall -G dba oracle 
usermod -G oinstall oracle 
passwd oracle 

 

8.创建目录 
mkdir -p /usr/app/oracle/product/10.2.0/db_1 
chown -R oracle.oinstall /usr/app 

 

 

9.修改/etc/redhat-release文件

内容为:redhat-4 

 

10.向/etc/profile文件中加入如下内容 
# Oracle Settings 
TMP=/tmp; export TMP 
TMPDIR=$TMP; export TMPDIR 
ORACLE_BASE=/usr/app/oracle; export ORACLE_BASE 
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME 
ORACLE_SID=TSH1; 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 
设置之后重新启动计算机 

 

11.以root 用户登录执行以下命令: 
xhost + 

 

12.切换到oracle用户 
su oracle

执行:export DISPLAY=:0.0 

 

13.进入oracle安装文件的目录 
执行 : ./runInstaller 
说明:这里要注意的是一定要在当前Oracle解压的目录下执行(cd命令和DOS一样),切记要在oracle帐号下执行,否则会抛一个错误。

 

14.当开始安装之后,如果出现在下面的几种异常的处理办法: 
(1)Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2005-09-07_01-21-03AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred 
解决:运行 rpm -p - -whatprovides libXp.so.6 打印出此文件依靠的安装包, 运行 yum install [打印出来的文件名] 

说明:这里报的错误可能会因为一些包被更新而不同,最方便的方法是安装包错的包直接使用yum命令,有些版本虚拟机不支持yum命令,你可以自己安装下,网上这类的教程很多。

(2)在进入图形安装界面后,验证安装条件时,如果出现error的情况,请根据提示进入日志文件内. 
如果出现:xcb_xlib.c:50: xcb_xlib_unlock: Assertion `c->xlib.lock failed.这样的错误 
解决: 
A.先root用户登录,执行下面内容 
yum --enablerepo=development update libxcb

说明:这里一些情况不太一样,使用该指令没有更新成功,一直报找不到资源错误,然后通过yum update libxcb,继续运行没有任何错误。

B.回到oracle用户,执行下面内容 
export LIBXCB_ALLOW_SLOPPY_LOCK=1 

 

15进入界面安装流程

 

(1)选择Advanced Installation

Linux上安装Oracle 10g 装后感

 

(2) 下一步

 Linux上安装Oracle 10g 装后感

 

 (3)选择Enterprise Edition

 Linux上安装Oracle 10g 装后感

 

(4)下一步

 Linux上安装Oracle 10g 装后感

 

(5)这里是Check你的安装条件,必须全部通过,否则无法顺利安装

 Linux上安装Oracle 10g 装后感

 说明:

(1)首先这里可能出现一些问题,Checking operating system package requirements(也就是验证操作系统包的完整性)虽然按照第6个流程安装了所有包,但一些特殊情况有些包可能会遗漏,如果出现Error或者Warning一定要看下面的日志,那些包是Fail的,你直接使用yum命令安装。

(2)有一个验证网络设置的选项,你可以通过vi编辑器打开/etc/hosts文件,把120.0.1修改成固定IP

(3)可能会出一些特殊的情况,这个和你本身的Linux版本,以及更新的包有关系,如果不行可以更新最新的,还是不行可以删除对应报错的包,然后安装指定版本的。

 

(6) 

 Linux上安装Oracle 10g 装后感

 

(7)

 Linux上安装Oracle 10g 装后感

 

(8)

 Linux上安装Oracle 10g 装后感

 

(9)

 Linux上安装Oracle 10g 装后感

 

(10)

 Linux上安装Oracle 10g 装后感

 

(11)

 Linux上安装Oracle 10g 装后感

 

(12)

 Linux上安装Oracle 10g 装后感

 

(13)

 Linux上安装Oracle 10g 装后感

 

(14)

 Linux上安装Oracle 10g 装后感

说明:这里要注意的是,记得报错后看日志,你可以看到因为什么原因报错。我碰到过一个问题, 在Link pending...流程中抛出异常,然后我找到对应的日志,发现因为找不到一个叫/urs/lib/libstdc++.so.5的文件,而文件夹下仅仅只有一个叫libstdc++.so.6的文件,明显版本比Orecla 10g指定的高,但Orecla 10g不认这个包。我使用ln命令解决了这个问题。命令:ln -s -f libstdc++.so.6 libstdc++.so.5。如果缺少包你也可以直接使用yum或者rpm命令安装。

 

(15)

 Linux上安装Oracle 10g 装后感

 

(16)

 Linux上安装Oracle 10g 装后感

 

(17)

 Linux上安装Oracle 10g 装后感

 

(18)

 Linux上安装Oracle 10g 装后感

 

(19)

 Linux上安装Oracle 10g 装后感

 

16 尝试使用Oracle

命令如下:

>sqlplus

>userName:sysman

>passWord:******(第12步流程输入的密码)

SQL>select * from dba_tables where ROMNUM <= 10 (查出当前号下的所有表信息)

 

总结 

在安装过程中你可能遇到各类不同问题,网上也写了一大堆,但是可能都不是你当前情况出现的问题,别急只要按Oracle本身的Install Guides去操作就可以了,其他问题基本上就属于出现包需要更新,安装类似的问题。 如果碰到特殊问题只要去网上查询下,基本上能找到解决方案。