日期:2014-05-16  浏览次数:20703 次

oracle在linux下安装遇到的所有的问题总结说明(2)
              安装的时候遇到的问题说明(部分内容是摘抄的)

安装不能识别乱码,需要改环境

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
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是数据库的。

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:执行一个命令后就结束。
设置or