问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

unbuntu下安装oracle下出错。

发布网友 发布时间:2022-04-09 06:30

我来回答

1个回答

热心网友 时间:2022-04-09 07:59

  1.安装前准备工作
  1.1 到oracle官网下载适合自己电脑的oracle软件包;
  我的是:Oracle Database 10gRelease 2 (10.2.0.1.0)Enterprise/Standard Edition for Linux x86下的:10201_database_linux32.zip
  地址:http //www oracle.com/technetwork/database/10201linuxsoft-097986.html
  1.2 更新ubuntu
  # apt-get update
  # apt-get upgrade
  1.3 安装额外的javaJDK
  可在【Ubuntu软件中心】搜OPENjdk,安装OpenJDK 完成后path路径自动设置好了
  1.4 安装缺少的包并降低GCC版本
  apt-get install gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 lio1 alien
  apt-get install ksh libtool libstdc++5 build-essential compat-libstdc++
  卸载gcc-4.6,安装gcc-4.4 版本
  apt-get remove gcc-4.6
  apt-get install gcc-4.4
  1.5 创建oracle用户
  登录到root用户下操作:
  1.5.1 修改shell
  ls -l /bin/sh 如果是dash修改为bash
  rm /bin/sh
  ln -s /bin/bash /bin/sh
  1.5.2 创建用户和组及oracle安装路径
  addgroup oinstall
  addgroup dba
  addgroup nobody
  usermod -g nobody nobody
  adser oracle
  usermod -g oinstall -G dba oracle
  id oracle
  id nobody
  mkdir -p /opt/oracle
  mkdir -p /opt/oradata
  chown -R oracle:dba /opt/ora*
  chmod -R 775 /opt/ora*
  1.5.3 创建欺骗版本声明
  vi /etc/RedHat-release
  然后向其中加入 Red Hat Linux release 3.1
  1.5.4 建立链接
  ln -s /usr/bin/gcc-4.4 /usr/bin/gcc
  ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib/libgcc.s.so.1
  ln -s /usr/bin/awk /bin/awk
  ln -s /usr/bin/rpm /bin/rpm
  ln -s /usr/bin/basename /bin/basename
  mkdir /etc/rc.d
  ln -s /etc/rc0.d /etc/rc.d/rc0.d
  ln -s /etc/rc1.d /etc/rc.d/rc1.d
  ln -s /etc/rc2.d /etc/rc.d/rc2.d
  ln -s /etc/rc3.d /etc/rc.d/rc3.d
  ln -s /etc/rc4.d /etc/rc.d/rc4.d
  ln -s /etc/rc5.d /etc/rc.d/rc5.d
  ln -s /etc/rc6.d /etc/rc.d/rc6.d
  ln -s /etc/init.d /etc/rc.d/init.d
  1.5.5 添加用户到sudoer列表中
  vi /etc/sudoers
  在“ root ALL=(ALL:ALL) ALL” 下一行 ,添加:
  oracle ALL=(ALL:ALL) ALL
  1.5.6 修改内核参数和系统变量
  A 修改/etc/sysctl.conf文件(可以不用修改)
  gedit /etc/sysctl.conf
  添加如下内容:
  kernel.shmall = 2097152
  kernel.shmmax = 2147483648
  kernel.shmmni = 4096
  kernel.sem = 25 32000 100 128
  fs.file-max = 65536
  net.ipv4.ip_local_port_range = 1024 65000
  B 修改/etc/security/limits.conf(可以不用修改)
  gedit /etc/security/limits.conf
  添加如下内容:
  * soft nproc 2407
  * hard nproc 16384
  * soft nofile 1024
  * hard nofile 65536
  说明:不要忘了“*”号,可以换成oracle
  C 修改ubuntu的oracle用户的环境变量
  修改/home/oracle/.profile和/etc/profile两个文件
  vi /home/oracle/.profile
  vi /etc/profile
  添加如下内容:
  #oracle_path start
  export ORACLE_HOME=/opt/oracle
  export ORACLE_SID=orcl
  export ORACLE_OWNER=oracle
  export PATH=$PATH:$ORACLE_HOME/bin
  #oracle_path end
  1.5.7 使参数生效
  重启系统 或 终端执行命令 sysctl -p
  1.5.8 将下载好的oracle安装文件mv到/home/oracle下,并解压。注销root用户,登录oracle用户
  2.开始安装oracle
  2.1 打开终端,cd到/home/oracle/database的oracle解压文件下,执行下面这条命令
  ./runInstaller -jreLoc /usr/lib/jvm/java-6-openjdk-i386/jre
  java-version是java的安装版本,这一句是为了在图像化装oracle是不会出现乱码或者方框
  然后就向windows下安装一样的图像化安装界面。
  不行的话,使用英文安装界面
  export LANG=ENGLISTH
  ./runInstaller
  2.2 按照下面的图像步骤操作
  http //www cnblogs.com/luochengor/archive/2011/08/20/2147041.html
  2.3 执行到配置配置脚本时
  切换到root下,在终端中执行脚本
  /home/oracle/oralnventory/orainstRoot.sh
  /opt/ora10/root.sh
  2.4 出现oracle database 10g 安装完成时,记下两个URL。
  2.5 安装数据库
  在终端中执行如下命令:
  $dbca //如果出现中文乱码,执行下面命令
  $cd /opt/ora10/bin
  $gedit dbca
  在dbca中找到“JRE_DIR=/opt/ora10/jdk/jre”,替换为JRE_DIR=/usr/lib/jvm/java-1.6.0-openjdk/jre ,然后保存退出
  $dbca //正常显示了
  2.6 按照下面步骤执行
  http //www cnblogs.com/luochengor/archive/2011/08/20/2147041.html
  但是:要将数据库名字及SID都要写上orcl
  一直到安装完成。
  3. 启动oracle
  在“终端”以oracle身份运行
  启动TNS*:$ORACLE_HOME/bin/lsnrctl start
  ($ORACLE_HOME,就是oracle的安装目录:/opt/ora10 .直接cd,进入oracle的安装目录,到bin文件夹下,$lsnrctl start ,也行)。
  关闭TNS:$ORACLE_HOME/bin/lsnrctl stop
  启动sqlplus:$ORACLE_HOME/bin/sqlplus /nolog
  关闭sqlplus:SQL> exit
  4. 为了能够像windows下一样能够使用上下键翻动命令,还需要安装rlwrap包:
  sudo apt-get install rlwrap
  然后修改oracle用户的~/.bashrc文件和/etc/profile文件,在其最后添加两行:
  这样上下左右键就可以使用了。
  最后来解决oracle中文字符集的问题。不出意外的话,启动oracle会发现所有的中文都是“?”,要么就是乱码,这其实是服务器端字符集和客户端字符集不一致造成的。
  解决方法为:DBA身份进入sqlplus,做查询
  SQL>select userenv(‘language’) from al;
  将查询结果复制,在/etc/bash.bashrc文件中再加一行:export NLS_LANG=”查询结果”,重新登录问题解决。例如:我的查询结果为SIMPLIFIED CHINESE_CHINA.AL32UTF8,则新加一行为export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"。
  但是有时候这个方法不一定奏效,你可以将
  export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
  export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
  分别写到两个文件中尝试一下,但是两个文件写的一定要一致。
  5. 如果有问题可按下列过程处理:
  5.1
  问题:调用makefile '../sqlplus/lib/ins_sqlplus.mk' 的目标'install' 时出错。请参阅'/home/oracle/oraInventory/logs/installActions2011-12-06_11-03-18AM.log' 以了解详细信息。
  解决办法:$ORACLE_HOME/sqlplus/lib/env_sqlplus.mk添加一行:EXPDLIBS=-lclntsh ,然后点击“重试”按钮, ok.
  其实安装 gcc-4.4 以后没有这个问题。
  5.2
  问题:调用makefile '../sysman/lib/ins_sysman.mk' 的目标'agent nmo nmb' 时出错。请参阅'.. /oraInventory/logs/installActions2011-12-06_11-03-18AM.log' 以了解详细信息。
  分析:后面遇到的错误其实本质上是一个问题,主要是gcc的版本高了,oracle10g的gcc是3.4左右的版本,但是ubuntu的开发速度早就用了4.0以上版本,而且你还无法apt安装低版本
  解决办法:卸载gcc-4.6,安装gcc-4.4 版本
  apt-get remove gcc-4.6
  apt-get install gcc-4.4
  5.3
  调用makefile '../network/lib/ins_net_server.mk' 的目标'install' 时出错。请参阅'.. /oraInventory/logs/installActions2011-12-06_11-03-18AM.log' 以了解详细信息。
  分析:我在网上找到了一篇类似的文档,参见(点击打开链接),但是我手工编译还是有问题,而且在oracle10g中并不是他所提到的-lons参数问题。
  还是gcc版本问题,我曾尝试过安装低版本的gcc,但是一开始编译就报错,所以放弃了,如果有人能成功降低版本环境,相信一定能解决所有错误问题,这也是为什么ubuntu 8能很自然成功安装的一个解释。
  方法:目前我还没有方法,按照其.mk文件的说明,这个东西好像是数据库链接断裂时候重新链接用的
  解决办法:卸载gcc-4.6,安装gcc-4.4 版本
  在/usr/bin 下做了 /usr/bin/gcc-4.4 的软链接
  cd /usr/bin
  ln -s /usr/bin/gcc-4.4 /usr/bin/gcc
  5.4
  调用makefile '../rdbms/lib/ins_rdbms.mk' 的目标'all_no_orcl ihsodbc' 时出错。请参阅'../oraInventory/logs/installActions2011-12-06_11-07-36-AM.log' 以了解详细信息。
  分析:我们看一下log文件
  信息: Generating BASE ORASDK library...
  信息: Creating /opt/ora10/lib/liborasdkbase.so.10.2
  信息: gcc: 错误:/lib/libgcc_s.so.1:没有那个文件或目录
  gcc: 错误:/usr/lib/libstdc++.so.5:没有那个文件或目录
  我们看到终于是那个非常多的错误了,其实还是gcc的问题,重新下载了libgcc_s.so.1,并且重新做了stdc++5的链接,但是问题还是更多,因为只做软链接和下载一个动态库是没法解决所有问题的。
  解决办法:安装compat-libstdc++-33_3.2.3-48.3_i386.deb,重试。。
  在一个libgcc_s.so.1软链接
  cd /lib
  ln -s /lib/i386-linux-gnu/libgcc_s.so.1 libgcc.s.so.1
  6. 开机启动
  6.1 root 下面修改:vi /etc/oratab
  orc1:/opt/oracle/proct/10.2.0/db_1:Y
  将N该为Y
  6.2 oracle 下面修改:
  cd $ORACLE_HOME/bin
  vi dbstart
  找到 ORACLE_HOME_LISTNER 这行, 修改成:
  ORACLE_HOME_LISTNER=/opt/oracle/proct/10.2.0/db_1
  或者直接修改成:
  ORACLE_HOME_LISTNER=$ORACLE_HOME
  测试运行 dbshut, dbstart 看能否启动oracle 服务及listener服务
  ps -efw | grep ora_
  lsnrctl status
  ps -efw | grep LISTEN | grep -v grep
  6.3 root 下创建文件:
  vi /etc/rc.d/init.d/oracle10
  #!/bin/bash
  # chkconfig: 345 99 10
  # description: Startup Script for Oracle Databases
  # /etc/init.d/oracle10
  export ORACLE_SID=ym
  # export ORACLE_HOME_LISTNER=/data/files/oracle/10g/bin
  #oracle 安装目录
  export ORACLE_HOME=/data/files/oracle/10g
  export PATH=$PATH:$ORACLE_HOME/bin
  case "$1" in
  start)
  su oracle -c $ORACLE_HOME/bin/dbstart #启动服务
  su oracle -c $ORACLE_HOME/bin/lsnrctl start #启动监听
  touch /var/lock/oracle
  echo "OK"
  ;;
  stop)
  echo -n "Shutdown Oracle: "
  su oracle -c $ORACLE_HOME/bin/dbshut #启关闭服务
  su oracle -c $ORACLE_HOME/bin/lsnrctl stop #关闭监听
  rm -f /var/lock/oracle
  echo "OK"
  ;;
  *)
  echo "Usage: 'basename $0' start|stop"
  exit 1
  esac
  exit 0
  然后
  chmod 775 oracle10
  chkconfig --add oracle10
  chkconfig --list oracle10
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
排名第一的鲤鱼颗粒 钓鱼饵料爆款第一名 深度体验一加Ace 2V 一加手机2V防水效果怎么样一加防水性能 老人说,冬吃萝卜夏吃姜,是什么原理? 御龙在天手游战力快速提升攻略 资源获取任务 御龙在天手游平民怎么玩 平民战力提升指南 【二手装载机选购】买二手铲车要注意什么 如何选择购买二手装载机 买新生儿教育金有哪些注意事项?买前必看! 在钉钉不小心删班群怎么办恢复 网络打印机设置,跪求高手指教。 如何将自己姓名设计成手机屏保?? win7系统配置打印机的方法? 新买的ivo pro怎么设置自定义屏保? 电脑配置什么样的打印机好啊 我的电脑是主装的,想配置一台打印机,想问一下对主机什么的有什么要求,或者如何选购? 笔记本电脑可以链接台式显示屏打游戏吗?没有台式主机的情况 笔记本接液晶显示器怎么边玩游戏边看电影 求问如何迅速配置惠普网络打印机 什麽配置的打印机适合家用呢 我的笔记本电脑为什么玩单机游戏,显示的屏幕很小?有会得告诉我一下谢了! 笔记本电脑玩游戏怎么做到真正的全屏显示 天天晚上睡觉出汗是什么原因? 我晚上睡觉身上总爱出汗是怎么回事? 如何在Ubuntu上安装Oracle Java 8,Java 7或者Java 6 为什么更改手机号不能更改? 换绑手机号显示,暂时不能绑定,该怎么解决? 怎么更换绑定手机号? 怎么更换绑定手机号? 不知道订单编号怎么查询呢飞机票 晚上坐在江边看美丽风景感慨的语句 老式海尔洗衣机,甩干桶不转。 海尔洗衣机xpb62-0523s甩干桶不转 在河边散步 心情不好啊,发个说说 ubuntu17.04怎么安装oracle wow怎么退出公会 友间竞技怎么自己退出工会? wow退工会命令 魔兽怎么退出公会 怎么退公会 在RO里如何自己退出工会? 仙境传说RO手游怎么退出公会 退出公会方法说明 76.net 怎么进不去了 www.cmd76.net及com是那家公司注册的 辐射76那里买,steam上没有啊 .NET的框架是什么? 微信公交乘车码可以截屏保存用吗 乖车码可以截图后马上刷码乘车吗? 物理内存高达76%,有什么害处及策略。 MATLAB神经网络预测的问题