oracle在linux下安装遇到的所有的问题总结说明(2)(20121122修改)

              安装的时候遇到的问题说明(部分内容是摘抄的)

[size=medium]安装不能识别乱码,需要改环境

oracle级别用户执行即可。英文界面显示。

[oracle@ora database]$ export LANG=en_US
以后改回来比较麻烦,有个比较帅的方案,经过测试可用使用,。

北街发现在 /stage/Components/oracle.swd.jre/1.4.2.8.0/1/DataFiles/filegroup2.jar 包中有一个名为 font.properties.zh_CN.Redhat 的文件,他是用来设定 jre 所用中文字库的。于是就把这个文件解压了出来,打开看到最后一行是 jre 使用中文字体的路径及字体名称:/usr/share/fonts/zh_CN/TrueType/zysong.ttf。

  虽然找到了字体路径,但是 Linux 操作系统中这个目录下的 zysong.ttf 字体,并不能真正的显示中文。于是北街想到把 windows 下的 msyh.ttf (微软雅黑)拷贝过去,重命名为 zysong.ttf 。

[root@oracle ~]# cd /home/oracle/
[root@oracle oracle]# ls
公共的  模板  视频  图片  文档  下载  音乐  桌面

[root@oracle database]# mkdir -p /usr/share/fonts/zh_CN/TrueType/
[root@oracle 桌面]# cp zysong.ttf /usr/share/fonts/zh_CN/TrueType/

安装不能识别操作系统。需要设置。

./runInstaller -ignoreSysPreReqs   //忽略预检查操作系统

采用OFA的时候需要手动创建一些文件夹,/u01/app/oracle/oraInventory 记得为每一级路径添加写的权限,否则会报错 ,弹出错误对话框“'S_OWNER_SYSTEM_EPERM”
[root@oracle oracle]# sudo chmod -R 777 /u01/app/

[root@oracle oracle]# sudo chmod -R 777 /u01/app/oracle

[root@oracle oracle]# sudo chmod -R 777 /u01/app/oracle/oraInventory/

[root@oracle oracle]# sudo chmod -R 777 /u01/

安装到2%时候,出现Oracle10g由于修改主机名数据库实例崩溃,且出现ORA-600(keltnfy-ldmInit)错误。

是由于 hostname 和  /etc/hosts 配置不一直导致,修改/etc/hosts 就可以了
改成
192.168.3.155 oracle //添加上你对应的数据库IP和机器名
127.0.0.1 oracle





安装完成后,出现以下问题,在进行到83%的时候报错。
信息: make: *** [client_sharedlib] 错误 1

信息: 终止从衍生进程输出。
信息: ----------------------------------
信息: 操作中出现异常错误: make
异常错误名: MakefileException
异常错误字符串: 调用 makefile '/oracle/oracle/product/10.2.0/db_1/network/lib/ins_net_client.mk' 的目标 'client_sharedlib' 时出错。请参阅 '/oracle/oraInventory/logs/installActions2011-01-21_03-06-00PM.log' 以了解详细信息。
异常错误严重级: 1
问题归根究地是因为我在32位的操作系统上安装64位的数据库软件。
版本分别是OracleLinux-R6-U2-Server-i386操作系统的。
10201_database_linux_x86_64.cpio.gz是数据库的。

环境变量的顺序也是有关系的,不注意会出现不能使用SQLPLUS,不信的话,自己试着把PATH放在ORACLE_HOME前面。

export PATH
ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

ORACLE_SID=orcl

PATH=$ORACLE_HOME/bin:$PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH
export NLS_LANG='SIMPLIFIED CHINESE'_CHINA.AL32UTF8

你让profile生效了吗? 
$ source .bash_profile  或者
$ . ./.bash_profile 让profile生效了 才可以使用sqlplus


另外terminal中cd至 $ORACLE_HOME/bin 然后
./sqlplus   是否还会提示未知的命令?



ORACLE not available 一般就是 数据库还没有启动 另外看一下数据库进程
ps -ef |grep ora_smon|grep -v grep



$ORACLE_HOME/bin/dbca


今天在gentoo上装了locate,然后输入locate rc.conf提示:
# locate rc.conf
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory


如果出现此错误,请执行updatedb
  # updatedb //该命令是root用户执行结果。
再执行即可。


创建数据库DBCA,配置监听,配置本地服务名(NETCA),修改字符集。


扩展阅读一:Linux下 su命令与su - 命令有什么区别?

su 是切换到其他用户,但是不切换环境变量(比如说那些export命令查看一下,就知道两个命令的区别了)

su - 是完整的切换到一个用户环境

所以建议大家切换用户的时候,尽量使用 su -  linuxso 这样 否则可能发现某些命令执行不了

扩展阅读二:su和sudo的区别



由于su 对切换到超级权限用户root后,权限的无限制性,所以su并不能担任多个管理员所管理的系统。如果用su 来切换到超级用户来管理系统,也不能明确哪些工作是由哪个管理员进行的操作。特别是对于服务器的管理有多人参与管理时,最好是针对每个管理员的技术特长和 管理范围,并且有针对性的下放给权限,并且约定其使用哪些工具来完成与其相关的工作,这时我们就有必要用到 sudo。

通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码,所以sudo 相对于权限无限制性的su来说,还是比较安全的,所以sudo 也能被称为受限制的su ;另外sudo 是需要授权许可的,所以也被称为授权许可的su;

sudo 执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权;
 -c:执行一个命令后就结束。
设置oracle服务和监听服务自启动。


SQLPlus 在连接时通常有三种方式
1. sqlplus / as sysdba
    操作系统认证,不需要数据库服务器启动listener,也不需要数据库服务器处于可用状态。比如我们想要启动数据库就可以用这种方式进入
    sqlplus,然后通过startup命令来启动。
2. sqlplus username/password
    连接本机数据库,不需要数据库服务器的listener进程,但是由于需要用户名密码的认证,因此需要数据库服务器处于可用状态才行。
3. sqlplus usernaem/password@orcl
    通过网络连接,这是需要数据库服务器的listener处于监听状态。此时建立一个连接的大致步骤如下 
  a. 查询sqlnet.ora,看看名称的解析方式,默认是TNSNAME  
  b. 查询tnsnames.ora文件,从里边找orcl的记录,并且找到数据库服务器的主机名或者IP,端口和service_name  
  c. 如果服务器listener进程没有问题的话,建立与listener进程的连接。  
  d. 根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的话客户端
            就连接上了数据库的server process。
  e. 这时连接已经建立,可以操作数据库了。

查看监听器状态
[bpm@www ~]$ lsnrctl
LSNRCTL> status
LSNRCTL> exit
2、启动监听器
[bpm@www ~]$ lsnrctl start


SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
--------------------------------------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK


1、vi .bash_profile

加入一行代码

export NLS_LANG='SIMPLIFIED CHINESE'_CHINA.AL32UTF8
2、echo $LANG
或者在SQL中输入!加linux外部命令执行后查看。
SQL> !echo $LANG
zh_CN.utf8



注销后,链接成功。

SQL> 从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开
[oracle@ora 桌面]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 9月 13 04:31:56 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options


  linux下系统开机oracle自启动
以root身份登录:
$su - root
1、linux下oracle自带的dbstart和dbshut没反应: 修改Oracle系统配置文档/etc/oratab文档: #vi /etc/oratab
  /etc/oratab 格式为: SID:ORACLE_HOME:AUTO
  把AUTO域配置为Y(大写),我的为:
  oradb:/opt/u01/app/oracle/product/9.2.0.4:Y

只有这样,oracle 自带的dbstart和dbshut才能够发挥作用。
2、修改/etc/rc.d/rc.local配置文档
在/etc/rc.d/rc.local中加入如下内容: #vi /etc/rc.d/rc.local
su - oracle -c "/u01/app/oracle/product/9.2.0.4/bin/lsnrctl start" //修改成对应的你的安装路径
su - oracle -c "/u01/app/oracle/product/9.2.0.4/bin/dbstart start"// 修改成对应的你的安装路径

3、重新启动
#reboot
4、连接测试(以oracle身份登录)
$sqlplus "
[email=sys/oracle@oradb]sys/oracle@oradb[/email]
as sysdba"
...
sql>
5、说明自启动成功了

安装初始就报错,最后网上找到的说明是这个包不存在导致的。解决方法就是打包!?!。

[oracle@orcl database]$ ./runInstaller -ignoreSysPreReqs
Starting Oracle Universal Installer...

Checking installer requirements...

Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
                                      Failed <<<<


>>> Ignoring required pre-requisite failures. Continuing...

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2012-10-22_03-59-13PM. Please wait ...[oracle@orcl database]$ Oracle Universal Installer, Version 10.2.0.1.0 Production
Copyright (C) 1999, 2005, Oracle. All rights reserved.

Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2012-10- [/size]22_03-59-13PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..
java.lang.UnsatisfiedLinkError: /tmp/OraInstall2012-10-22_03-59-13PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at sun.security.action.LoadLibraryAction.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
at sun.awt.DebugHelper.<clinit>(Unknown Source)
at java.awt.Component.<clinit>(Unknown Source)
at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.<init>(OiifmGraphicInterfaceManager.java:222)
at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:193)
at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:202)
at oracle.sysman.oii.oiic.OiicInstaller.getInterfaceManager(OiicInstaller.java:436)
at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:926)
at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:866)
Exception in thread "main" java.lang.NoClassDefFoundError
at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.<init>(OiifmGraphicInterfaceManager.java:222)
at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:193)
at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:202)
at oracle.sysman.oii.oiif.oiifm.OiifmAlert.<clinit>(OiifmAlert.java:151)
at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:984)


解决方法:
The installation program does not start in GUI
mode on Red Hat Enterprise Linux 5.0 systems
unless you install the following library file:
libXp.so.6. The Red Hat Package Manager
(RPM) package libXp-1. 0.0-8.i386.rpm must be
installed. This package can be found on disk two
of the Red Hat Enterprise Linux 5.0 distribution
media in the Server directory.
[size=medium]
安装程序不会启动GUI界面在RED HAT 5.0上,除非你安装了 libXp.so.6。(RPM) package libXp-1. 0.0-8.i386.rpm 必须要安装上才能启动图形界面。



[root@orcl database]# mount /dev/cdrom /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@orcl database]# cd /mnt
[root@orcl mnt]# ls
EULA              Packages                      repodata
eula.en_US        README-en                     ResilientStorage
eula.py           README-en.html                RPM-GPG-KEY
GPL               RELEASE-NOTES-en              RPM-GPG-KEY-oracle
HighAvailability  RELEASE-NOTES-en.html         Server
images            RELEASE-NOTES-x86_64-en       supportinfo
isolinux          RELEASE-NOTES-x86_64-en.html  TRANS.TBL
LoadBalancer      RELEASE-NOTES-x86-en
media.repo        RELEASE-NOTES-x86-en.html
[root@orcl mnt]# cd Packages/
[root@orcl Packages]# ls libXp
libXp-1.0.0-15.1.el6.i686.rpm        libXpm-3.5.8-2.el6.i686.rpm
libXp-devel-1.0.0-15.1.el6.i686.rpm  libXpm-devel-3.5.8-2.el6.i686.rpm
[root@orcl Packages]# rpm -qpl libXp-1.0.0-15.1.el6.i686.rpm
warning: libXp-1.0.0-15.1.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
/usr/lib/libXp.so.6
/usr/lib/libXp.so.6.2.0
/usr/share/doc/libXp-1.0.0
/usr/share/doc/libXp-1.0.0/AUTHORS
/usr/share/doc/libXp-1.0.0/COPYING
/usr/share/doc/libXp-1.0.0/ChangeLog
/usr/share/doc/libXp-1.0.0/INSTALL
[root@orcl Packages]# rpm -qpl libXpm-3.5.8-2.el6.i686.rpm
warning: libXpm-3.5.8-2.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
/usr/lib/libXpm.so.4
/usr/lib/libXpm.so.4.11.0
/usr/share/doc/libXpm-3.5.8
/usr/share/doc/libXpm-3.5.8/AUTHORS
/usr/share/doc/libXpm-3.5.8/CHANGES
/usr/share/doc/libXpm-3.5.8/COPYING
/usr/share/doc/libXpm-3.5.8/ChangeLog
[root@orcl Packages]# rpm -qpl libXp-devel-1.0.0-15.1.el6.i686.rpm
warning: libXp-devel-1.0.0-15.1.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
/usr/include/X11/extensions/Print.h
/usr/include/X11/extensions/Printstr.h
/usr/lib/libXp.so
/usr/lib/pkgconfig/printproto.pc
/usr/lib/pkgconfig/xp.pc
[root@orcl Packages]# rpm -qpl libXpm-devel-3.5.8-2.el6.i686.rpm
warning: libXpm-devel-3.5.8-2.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
/usr/bin/cxpm
/usr/bin/sxpm
/usr/include/X11/xpm.h
/usr/lib/libXpm.so
/usr/lib/pkgconfig/xpm.pc
/usr/share/man/man1/cxpm.1.gz
/usr/share/man/man1/sxpm.1.gz
[root@orcl Packages]#
[root@orcl Packages]# rpm -i libXp-1.0.0-15.1.el6.i686.rpm
warning: libXp-1.0.0-15.1.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY

从网上找到了这样一段描述:

Problem Description
Whenever you run Oracle Universal Installer to install oracle software it fails with Exception java.lang.UnsatisfiedLinkError indicating libXp.so.6: cannot open shared object file: No such file or directory.(问题描述跟我的一致均是Exception java.lang.UnsatisfiedLinkError libXp.so.6: cannot open shared object file报错)

Cause of the Problem
Oracle tries to open the shared object file libXp.so.6 but it could not find any. In RHEL 4 and from fedora core release (1,2,3,4 ….) “libXp.so.6″ is deprecated and as such, the “xorg-x11-deprecated-libs” package is missing.  (导致该问题的原因是缺包所致)

If available, then “libXp.so.6″ should be found in the /usr/X11R6/lib64 directory of Linux. (正常情况是有”libXp.so.6″包的)

On disk 2 of the linux installation CD “libXp.so.6″, is available under rpm package,

xorg-x11-deprecated-libs-<version>6.8.1-12.i386.rpm

Solution of the problem
Install the missing “xorg-x11-deprecated-libs” package.
1)Issue the following command to be sure whether libXp is missing,
$ rpm –query –whatprovides ‘libXp.so.6′    检查系统是否有该包

or by,
$ rpm –query –whatprovides ‘libXp.so.6′
2)Install the package by,
# rpm -ivh xorg-x11-deprecated-libs.<version-info>.rpm

Examples of rpm packages containing libXp.so.6 are,
xorg-x11-deprecated-libs-6.8.1-12.i386.rpm,
xorg-x11-deprecated-libs-6.8.2-31.i386.rpm



OK,当我打好libXp-1.0.0-8.1.el5.i386.rpm和libXp-1.0.0-8.1.el5.x86_64.rpm包后可正常执行安装!

INFO: mv: cannot stat `ntcontab.o': No such file or directoryINFO: /usr/bin/ar: /home/oracle/oracle/product/10.2.0/db_2/lib/ntcontab.o: No such file or directory
INFO: make: *** [ntcontab.o] Error 1
INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'ntcontab.o' of makefile '/home/oracle/oracle/product/10.2.0/db_2/network/lib/ins_net_client.mk'. See '/home/oracle/oraInventory/logs/installActions2011-03-20_10-36-30AM.log' for details.
Exception Severity: 1

以上在85%的时候,报错的。意思是gcc包没有安装的问题。

[oracle@orcl Packages]$ ls gcc-
gcc-4.4.6-3.el6.i686.rpm           gcc-java-4.4.6-3.el6.i686.rpm
gcc-c++-4.4.6-3.el6.i686.rpm       gcc-objc-4.4.6-3.el6.i686.rpm
gcc-gfortran-4.4.6-3.el6.i686.rpm  gcc-objc++-4.4.6-3.el6.i686.rpm
gcc-gnat-4.4.6-3.el6.i686.rpm     
[oracle@orcl Packages]$ rpm -i  gcc-c++-4.4.6-3.el6.i686.rpm
warning: gcc-c++-4.4.6-3.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
error: Failed dependencies:
gcc = 4.4.6-3.el6 is needed by gcc-c++-4.4.6-3.el6.i686
libmpfr.so.1 is needed by gcc-c++-4.4.6-3.el6.i686
libstdc++-devel = 4.4.6-3.el6 is needed by gcc-c++-4.4.6-3.el6.i686
[oracle@orcl Packages]$ rpm -i gcc-4.4.6-3.el6.i686.rpm
warning: gcc-4.4.6-3.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
error: Failed dependencies:
cloog-ppl >= 0.15 is needed by gcc-4.4.6-3.el6.i686
cpp = 4.4.6-3.el6 is needed by gcc-4.4.6-3.el6.i686
glibc-devel >= 2.2.90-12 is needed by gcc-4.4.6-3.el6.i686


最终解决方法是使用RED HAT自带的yum安装以上带有依赖关系的包。
[root@orcl etc]#cd /etc
[root@orcl etc]#ls
[root@orcl etc]#cd yum.repos.d
[root@orcl etc]#packagekit-media.repo
添加2行内容
baseurl=file:///mnt //因为先前mount /dev/cdrom /mnt了所以此处这样写
enabled=1 //是启用的意思
1.列出所有可更新的软件清单
命令:yum check-update
3.仅安装指定的软件
命令:yum install
.列出所有可安裝的软件清单
命令:yum list
删除的命令是,yum remove xxx,同安装一样,yum也会查询数据库,给出解决依赖关系的提示
然后按照oracle B15560.pdf版本的oracle RED HAT 4.0的说明安装,最终发现yum不是无敌的,而且安装的过程中会出现,按下葫芦浮起瓢的现象,就是安装一个,说需要另一个,再安装另一个,说需要另另一个。。。。最后恶心死。。。还是在安装操作系统阶段全部安装最保险!!!
binutils-2.15.92.0.2-13.EL4
compat-db-4.1.25-9
compat-libstdc++-296-2.96-132.7.2
control-center-2.8.0-12
gcc-3.4.3-22.1.EL4
gcc-c++-3.4.3-22.1.EL44
glibc-2.3.4-2.9
glibc-common-2.3.4-2.9
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.3-22.1
libstdc++-devel-3.4.3-22.1
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5.rhel4.2
setarch-1.6-1[/size]

猜你喜欢

转载自loveboth.iteye.com/blog/1708935