当前位置: 技术问答>linux和unix
几个LINUX下ORACLE的问题!!!懂的进来。
来源: 互联网 发布时间:2015-09-10
本文导语: 我先是在RED HAT FEDORA1下装ORACLE8i但是安到后面的时候就会出现几个后缀名为km的文件出错,然后我就打上那个ORACLE的补丁点击重试第一个错误倒是通过了,但是后面又出现了其它的错误后缀名也是km的。后来出现的我...
我先是在RED HAT FEDORA1下装ORACLE8i但是安到后面的时候就会出现几个后缀名为km的文件出错,然后我就打上那个ORACLE的补丁点击重试第一个错误倒是通过了,但是后面又出现了其它的错误后缀名也是km的。后来出现的我全都忽略了到了建立数据库的时候就会出来一个对话框说是有错,然后就自动关闭了。
再后来我就想是不是可能和LINUX的版本有关,我又用RED HAT 9来装ORACLE8i,但是也出现了上面的那些错我也是先安补丁再全都忽略,但是到了建立数据库的时候既然通过了,我在终端里想用sqlplus来启动数据库但是我输入默认的用户名和密码就是进不去呀!!!!(我都是严格按照网上说的来安的,但是网上也没有说会出那么多错呀)
请大家说说是怎么回事,要是有成功的经验就再好不过了,我的邮箱:hexin423@msn.com
再后来我就想是不是可能和LINUX的版本有关,我又用RED HAT 9来装ORACLE8i,但是也出现了上面的那些错我也是先安补丁再全都忽略,但是到了建立数据库的时候既然通过了,我在终端里想用sqlplus来启动数据库但是我输入默认的用户名和密码就是进不去呀!!!!(我都是严格按照网上说的来安的,但是网上也没有说会出那么多错呀)
请大家说说是怎么回事,要是有成功的经验就再好不过了,我的邮箱:hexin423@msn.com
|
我装过很多次,包括在As,9.0,7.3都没有问题,关于错误肯定是有的,但是有些错误被容忍。最后还是能使用的。我把自己写的安装说明贴上来,你看看吧。
1、准备工作
下载一些软件包,包括补丁和系统为了适应Oracle的rpm包。清单如下:
linux81701.tar.gz
这个是主角,首先就是它了!
compat-gcc-7.3-2.96.118.i386.rpm
compat-libgcj-7.3-2.96.118.i386.rpm
compat-libgcj-devel-7.3-2.96.118.i386.rpm
nss_db-compat-2.2-20.i386.rpm
上面这些好像在Redhat9的介质上是有的,好像是第二张 。
compat-db-3.3.11-4
有位大哥发现如果Apach服务起不来可以用上面的包解决,我没有碰到这个问题,但也许你会碰到。
glibc-2.1.3-stubs.tar.gz
这个补丁是Oracle公司发布的,这个补丁在网上很好找,搜索引擎的优势还是要体现的嘛。
jdk118_v3-glibc-2.1.3.tar.bz2
这个东西很讨厌,在7.3下装的时候可以没有,但现在不行了。在www.blackdown.org 上面有,下载有点耐心总是可以完成的。
这篇指南你可以打印好方在一旁,或者新开一个窗口放着。
好了齐了。
2、系统设置
这里包括系统库文件的安装,还有环境变量的设置,让我们一步步来:
首先建立oracle用户和dba组:
用root用户登陆
groupadd dba(建立dba组)
useradd -g oinstall -G dba oracle(建立oracle用户并将之归属到dba组)
不一定用命令行方式,也可以用桌面的工具.
执行这个命令:passwd oracle设定你的oracle用户口令
其次向硬盘要空间:
还是在root用户下
如果你在Linux分区的时候为Oracle专门划了分区而且它大过3G,那么恭喜你,你有一个好习惯。
假设你的分区是/ora(我喜欢这个名字)
cd /ora
mkdir inst
顺便把安装要用的所有文件放到这个目录下(cp命令你自己来)
mkdir -p app/oracle/product/8.1.7
chown -R oracle.dba /ora(这个分区划给oracle用了)
第三步设置环境变量:
在root用户下
cd /etc
vi profile
加入下面这一段:
export LD_ASSUME_KERNEL=2.2.5
export ORACLE_BASE=/ora/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/8.1.7
export PATH=$PATH:$ORACLE_HOME/bin
JAVA_HOME=/usr/local/java; export JAVA_HOME
CLASSPATH=${JAVA_HOME}/lib/classes.zip; export CLASSPATH
保存这个文件并退出vi
执行下面的语句,修改内存使用参数
echo 134217728 > /proc/sys/kernel/shmmax
echo -e "250 32000 100 128" > /proc/sys/kernel/sem
到/ora/inst目录下执行以下命令:
rpm -Uvh compat-gcc-7.3-2.96.118.i386.rpm
rpm -Uvh compat-gcc-7.3-2.96.118.i386.rpm
rpm -Uvh compat-libgcj-7.3-2.96.118.i386.rpm
rpm -Uvh compat-libgcj-devel-7.3-2.96.118.i386.rpm
rpm -Uvh nss_db-compat-2.2-20.i386.rpm
rpm -Uvh compat-db-3.3.11-4
tar xvjf jdk-1.1.8_v3.tar.bz2 -C /usr/local
mv /usr/local/jdk118_v3 /usr/local/jdk118
第四步最后的准备工作:
退出root用户以oracle用户登陆(oracle用户的图形界面应该使用KDE而不是GNORM)
vi .bashrc(如果用bksh则编辑.bash_profile)
在文件中加入下面的内容:
# Java 开发包 for 8.1.7 执行安装界面就靠它了
export JAVA_HOME=/usr/local/jdk118
CLASSPATH=${JAVA_HOME}/lib/classes.zip; export CLASSPATH
#Need to point to init*.ora这个名字可以自己随意定
ORACLE_SID=lab; export ORACLE_SID
# Need shared libraries ie for lsnrctl这个对启动服务侦听很重要
if [ "${LD_LIBRARY_PATH:-}" == "" ]; then
LD_LIBRARY_PATH=${ORACLE_HOME}/lib:/usr/lib:/usr/local/lib
else
LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${LD_LIBRARY_PATH}
fi
export LD_LIBRARY_PATH
#为了让安装界面显示的字符正确
unset NLS_LANG
unset LANG
退出oracle用户
再登陆(也可以直接运行./.bashrc,如果是bksh则用.bash_profile)这样感觉比较好
3、开始安装
到/ora/inst目录下解压oracle安装文件
tar zxvf linux81701.tar.gz
最后会产生Disk1目录
到Disk1目录下执行如下语句
./runInstaller
这时应该看到安装的图形界面了(没有就检查你的JAVA_HOME路径是否有问题)
一般情况下典型安装就可以了(不过这样建立的数据库实例是没有经过设置的),也可以Custom一把,关键看心情
中间要求填写全局数据库名随便填一个,不要和SID重复的简单名称就好
填写组名时写入ora
期间会弹出对话框要求你执行什么Shell文件比如root.sh
这时可以另外开一个终端
su - root
敲入root用户口令
cd $ORACLE_HOME
vi root.sh
到第156行将这样的一行内容
RUID=`/usr/bin/id|$AWK -F( '{print $2}'|$AWK -F) '{print $1}`
修改为
RUID=`/usr/bin/id|$AWK -F( '{print $2}'|$AWK -F) '{print $1}'`
保存内容并退出vi
./root.sh
然后继续回到图形界面点击retry按钮
关键的来了:
在安装到大概%63左右会报告一个.mk文件出错的对话框
这时应该再开一个终端,这次用oracle用户就可以了
cp /ora/inst/glibc-2.1.3-stubs.tar.gz $ORACLE_HOME/.
cd $ORACLE_HOME
tar zxvf glibc-2.1.3-stubs.tar.gz
./setup_stubs.sh
这个文件开始编译一些东西
等编译完成(可能需要一段时间2分钟左右)再回到图形界面retry一把
这时就会继续安装下去
到%78以后还会陆续有错误提示
这时就直接Ignor好了,还没有发现有什么大问题
等服务器安装完成,强烈建议你安装客户端软件(只要next就可以了)
安装客户端软件一般不会有问题
4、收尾工作
这时数据库还没有启动,要启动数据库有常用的两种方式
svrmgnrl命令方式下逐步启动
dbstart命令方式启动
后一种方式较为方便但必须要设置一下
在root用户下:
vi /etc/oratab
可能会有类似下面的语句
lab:/ora/app/oracle/product/8.1.7:N
只要将N改为Y然后保存退出就可以用dbstart命令启动数据库了
停止数据库也只要用dbshut命令
安装完成以后,可能想回到中文环境下工作.这也没问题,只要在.bashrc文件中将"unset LANG"注释掉再重新登陆就可以了
如果想在系统启动的同时启动数据库则执行下面的步骤:
su - root
输入root用户口令
vi /etc/rc.d/rc.local
加入如下语句
#modify kernel parameter
echo 134217728 > /proc/sys/kernel/shmmax
echo -e "250 32000 100 128" > /proc/sys/kernel/sem
#start Oracle8.1.7
su - oracle -c 'lsnrctl start'
su - oracle -c 'dbstart'
收尾问题:
到了这里应该数据库已经可以启动了,并且自动启动也不会有问题,但是有可能您的PROC还是无法工作。
在Redhat7.3下安装Oracle8.1.7是不会有这个问题的,为什么?关键还是库文件版本的问题。所以,如果
你发现Proc无法工作的话,你就应该按照如下的步骤继续配置您的Oracle。
下载一些RPM包(Redhat7.3的介质上应该也有这些包):
compat-glibc-6.2-2.1.3.2.i386.rpm
compat-egcs-6.2-1.1.2.16.i386.rpm
compat-egcs-objc-6.2-1.1.2.16.i386.rpm
compat-libs-6.2-3.i386.rpm
将收集到的包集中在一个临时目录下,然后用root用户登录到这个目录,顺序执行以下命令行:
rpm -Uvh compat-glibc-6.2-2.1.3.2.i386.rpm
rpm -Uvh compat-egcs-6.2-1.1.2.16.i386.rpm
rpm -Uvh compat-egcs-objc-6.2-1.1.2.16.i386.rpm
rpm -Uvh compat-libs-6.2-3.i386.rpm
成功以后,再编辑一个文件:
$ORACLE_HOME/precomp/admin/pcscfg.cfg
在这个文件加上这样一行:
sys_include=(/usr/include,$ORACLE_HOME/precomp/public,$ORACLE_HOME/precomp/syshdr,$ORACLE_HOME/rdbms/demo,/usr/lib/gcc-lib/i386-glibc21-linux/egcs-2.91.66/include)
现在应该是可以编译你的Proc程序了。
用你的oracle用户登录,然后到$ORACLE_HOME/precomp/demo/proc/
执行如下语句:
make -f demo_proc.mk sample1
应该是可以编译通过了,如果没有,你就应该检查路径的问题了。提醒一下,LD_LABRARY_LIB这个环境变量很重要。
1、准备工作
下载一些软件包,包括补丁和系统为了适应Oracle的rpm包。清单如下:
linux81701.tar.gz
这个是主角,首先就是它了!
compat-gcc-7.3-2.96.118.i386.rpm
compat-libgcj-7.3-2.96.118.i386.rpm
compat-libgcj-devel-7.3-2.96.118.i386.rpm
nss_db-compat-2.2-20.i386.rpm
上面这些好像在Redhat9的介质上是有的,好像是第二张 。
compat-db-3.3.11-4
有位大哥发现如果Apach服务起不来可以用上面的包解决,我没有碰到这个问题,但也许你会碰到。
glibc-2.1.3-stubs.tar.gz
这个补丁是Oracle公司发布的,这个补丁在网上很好找,搜索引擎的优势还是要体现的嘛。
jdk118_v3-glibc-2.1.3.tar.bz2
这个东西很讨厌,在7.3下装的时候可以没有,但现在不行了。在www.blackdown.org 上面有,下载有点耐心总是可以完成的。
这篇指南你可以打印好方在一旁,或者新开一个窗口放着。
好了齐了。
2、系统设置
这里包括系统库文件的安装,还有环境变量的设置,让我们一步步来:
首先建立oracle用户和dba组:
用root用户登陆
groupadd dba(建立dba组)
useradd -g oinstall -G dba oracle(建立oracle用户并将之归属到dba组)
不一定用命令行方式,也可以用桌面的工具.
执行这个命令:passwd oracle设定你的oracle用户口令
其次向硬盘要空间:
还是在root用户下
如果你在Linux分区的时候为Oracle专门划了分区而且它大过3G,那么恭喜你,你有一个好习惯。
假设你的分区是/ora(我喜欢这个名字)
cd /ora
mkdir inst
顺便把安装要用的所有文件放到这个目录下(cp命令你自己来)
mkdir -p app/oracle/product/8.1.7
chown -R oracle.dba /ora(这个分区划给oracle用了)
第三步设置环境变量:
在root用户下
cd /etc
vi profile
加入下面这一段:
export LD_ASSUME_KERNEL=2.2.5
export ORACLE_BASE=/ora/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/8.1.7
export PATH=$PATH:$ORACLE_HOME/bin
JAVA_HOME=/usr/local/java; export JAVA_HOME
CLASSPATH=${JAVA_HOME}/lib/classes.zip; export CLASSPATH
保存这个文件并退出vi
执行下面的语句,修改内存使用参数
echo 134217728 > /proc/sys/kernel/shmmax
echo -e "250 32000 100 128" > /proc/sys/kernel/sem
到/ora/inst目录下执行以下命令:
rpm -Uvh compat-gcc-7.3-2.96.118.i386.rpm
rpm -Uvh compat-gcc-7.3-2.96.118.i386.rpm
rpm -Uvh compat-libgcj-7.3-2.96.118.i386.rpm
rpm -Uvh compat-libgcj-devel-7.3-2.96.118.i386.rpm
rpm -Uvh nss_db-compat-2.2-20.i386.rpm
rpm -Uvh compat-db-3.3.11-4
tar xvjf jdk-1.1.8_v3.tar.bz2 -C /usr/local
mv /usr/local/jdk118_v3 /usr/local/jdk118
第四步最后的准备工作:
退出root用户以oracle用户登陆(oracle用户的图形界面应该使用KDE而不是GNORM)
vi .bashrc(如果用bksh则编辑.bash_profile)
在文件中加入下面的内容:
# Java 开发包 for 8.1.7 执行安装界面就靠它了
export JAVA_HOME=/usr/local/jdk118
CLASSPATH=${JAVA_HOME}/lib/classes.zip; export CLASSPATH
#Need to point to init*.ora这个名字可以自己随意定
ORACLE_SID=lab; export ORACLE_SID
# Need shared libraries ie for lsnrctl这个对启动服务侦听很重要
if [ "${LD_LIBRARY_PATH:-}" == "" ]; then
LD_LIBRARY_PATH=${ORACLE_HOME}/lib:/usr/lib:/usr/local/lib
else
LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${LD_LIBRARY_PATH}
fi
export LD_LIBRARY_PATH
#为了让安装界面显示的字符正确
unset NLS_LANG
unset LANG
退出oracle用户
再登陆(也可以直接运行./.bashrc,如果是bksh则用.bash_profile)这样感觉比较好
3、开始安装
到/ora/inst目录下解压oracle安装文件
tar zxvf linux81701.tar.gz
最后会产生Disk1目录
到Disk1目录下执行如下语句
./runInstaller
这时应该看到安装的图形界面了(没有就检查你的JAVA_HOME路径是否有问题)
一般情况下典型安装就可以了(不过这样建立的数据库实例是没有经过设置的),也可以Custom一把,关键看心情
中间要求填写全局数据库名随便填一个,不要和SID重复的简单名称就好
填写组名时写入ora
期间会弹出对话框要求你执行什么Shell文件比如root.sh
这时可以另外开一个终端
su - root
敲入root用户口令
cd $ORACLE_HOME
vi root.sh
到第156行将这样的一行内容
RUID=`/usr/bin/id|$AWK -F( '{print $2}'|$AWK -F) '{print $1}`
修改为
RUID=`/usr/bin/id|$AWK -F( '{print $2}'|$AWK -F) '{print $1}'`
保存内容并退出vi
./root.sh
然后继续回到图形界面点击retry按钮
关键的来了:
在安装到大概%63左右会报告一个.mk文件出错的对话框
这时应该再开一个终端,这次用oracle用户就可以了
cp /ora/inst/glibc-2.1.3-stubs.tar.gz $ORACLE_HOME/.
cd $ORACLE_HOME
tar zxvf glibc-2.1.3-stubs.tar.gz
./setup_stubs.sh
这个文件开始编译一些东西
等编译完成(可能需要一段时间2分钟左右)再回到图形界面retry一把
这时就会继续安装下去
到%78以后还会陆续有错误提示
这时就直接Ignor好了,还没有发现有什么大问题
等服务器安装完成,强烈建议你安装客户端软件(只要next就可以了)
安装客户端软件一般不会有问题
4、收尾工作
这时数据库还没有启动,要启动数据库有常用的两种方式
svrmgnrl命令方式下逐步启动
dbstart命令方式启动
后一种方式较为方便但必须要设置一下
在root用户下:
vi /etc/oratab
可能会有类似下面的语句
lab:/ora/app/oracle/product/8.1.7:N
只要将N改为Y然后保存退出就可以用dbstart命令启动数据库了
停止数据库也只要用dbshut命令
安装完成以后,可能想回到中文环境下工作.这也没问题,只要在.bashrc文件中将"unset LANG"注释掉再重新登陆就可以了
如果想在系统启动的同时启动数据库则执行下面的步骤:
su - root
输入root用户口令
vi /etc/rc.d/rc.local
加入如下语句
#modify kernel parameter
echo 134217728 > /proc/sys/kernel/shmmax
echo -e "250 32000 100 128" > /proc/sys/kernel/sem
#start Oracle8.1.7
su - oracle -c 'lsnrctl start'
su - oracle -c 'dbstart'
收尾问题:
到了这里应该数据库已经可以启动了,并且自动启动也不会有问题,但是有可能您的PROC还是无法工作。
在Redhat7.3下安装Oracle8.1.7是不会有这个问题的,为什么?关键还是库文件版本的问题。所以,如果
你发现Proc无法工作的话,你就应该按照如下的步骤继续配置您的Oracle。
下载一些RPM包(Redhat7.3的介质上应该也有这些包):
compat-glibc-6.2-2.1.3.2.i386.rpm
compat-egcs-6.2-1.1.2.16.i386.rpm
compat-egcs-objc-6.2-1.1.2.16.i386.rpm
compat-libs-6.2-3.i386.rpm
将收集到的包集中在一个临时目录下,然后用root用户登录到这个目录,顺序执行以下命令行:
rpm -Uvh compat-glibc-6.2-2.1.3.2.i386.rpm
rpm -Uvh compat-egcs-6.2-1.1.2.16.i386.rpm
rpm -Uvh compat-egcs-objc-6.2-1.1.2.16.i386.rpm
rpm -Uvh compat-libs-6.2-3.i386.rpm
成功以后,再编辑一个文件:
$ORACLE_HOME/precomp/admin/pcscfg.cfg
在这个文件加上这样一行:
sys_include=(/usr/include,$ORACLE_HOME/precomp/public,$ORACLE_HOME/precomp/syshdr,$ORACLE_HOME/rdbms/demo,/usr/lib/gcc-lib/i386-glibc21-linux/egcs-2.91.66/include)
现在应该是可以编译你的Proc程序了。
用你的oracle用户登录,然后到$ORACLE_HOME/precomp/demo/proc/
执行如下语句:
make -f demo_proc.mk sample1
应该是可以编译通过了,如果没有,你就应该检查路径的问题了。提醒一下,LD_LABRARY_LIB这个环境变量很重要。