.

.

.

.

现在,心情说不出的激动~

最近为了在 Linux 里面安装 Oracle 数据库可以说是费尽了心思,结果总是出现各种各样的问题。。最开始是不支持 Ubuntu 系统安装,可是我个人比较习惯使用 Ubuntu 进行 Java 开发,所以不想换成 RedHat 系统,但是在网上查了半天资料也没找到在 Ubuntu 上面安装的办法;于是在虚拟机中换成了 RedHat 系统做安装测试,结果好不容易装上了 RedHat4 后发现提示了一大堆错误,其中包括“不支持该内核版本”、缺少 N 多带有依赖关系的软件包等等等等。。。。。(下面还有一大堆错误,已经不敢往下看了。。。)

于是乎换回了 Ubuntu 11.04 系统,继续想办法,经过了两天的奋斗后,终于找到了解决办法,现在将整个安装步骤共享出来,希望能够让遇到同样头疼的问题的童鞋迅速找到解决方案。

好了,废话少说,现在我们言归正传。

首先配置 Oracle 所需的安装环境。

配置 Oracle 的安装环境参考本文完成:http://wiki.ubuntu.org.cn/Ubuntu%E4%B8%8AOracle10g%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97

安装各种依赖的软件包。

apt-get install gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio1 libstdc++6 alien

创建用户。

# adduser oracle
正在添加用户"oracle"...
正在添加新组"oracle" (1001)...
正在添加新用户"oracle" (1002) 到组"oracle"...
创建主目录"/home/oracle"...
正在从"/etc/skel"复制文件...
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码
Changing the user information for oracle
Enter the new value, or press ENTER for the defaultFull Name []: oracleRoom Number []: Work Phone []: Home Phone []: Other []: 

adduser 命令系统会自动创建oracle用户的文件。

添加如下的行到/etc/sysctl.conf 中:

kernel.shmmax = 3147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

添加如下的行到/etc/security/limits.conf中:

* soft nproc 2407
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

修改了以上文件後,必须让其生效,或重启系统。


创建一个文件如 kk,内容如下:

#!/bin/bash
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/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

创建後,切换到 root 用户去执行一下。

创建 RedHat 的版本声明文件。

sudo gedit /etc/redhat-release

在/etc/redhat-release中添加以下语句,以使安装程序认为正在一个RedHat的系统上安装:

Red Hat Linux release 3.1 (drupal)

配置环境变量。

编辑 /home/oracle/.bashrc,增加以下export 的内容。

export ORACLE_HOME=/opt/orcl10
export ORACLE_OWNER=oracle
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH

配置好 Oracle 的安装环境之后开始安装 JDK 环境,我下载的是 jdk-6u26-i586.bin 这个文件,版本是 jdk1.6 的。

安装 JDK 是参考这篇文章安装的:http://forum.ubuntu.org.cn/viewtopic.php?t=183803

把下载的 JDK 安装文件复制到 /usr/lib/jvm/java 中:  

sudo mkdir -p /usr/lib/jvm/java
cp ~/下载/jdk-6u26-i586.bin /usr/lib/jvm/java

修改文件权限:

sudo chmod u+x /usr/lib/jvm/java/jdk-6u26-i586.bin

然后进行安装:

cd /usr/lib/jvm/java
./jdk-6u26-i586.bin

等待安装完成。

等执行完成后,在当前目录得到 jdk1.6.0_26 目录,此 JDK 已经安装完成,下面进行配置。

sudo vi /etc/environment

在 environment 文件中进行如下修改。

PATH="......:/usr/lib/jvm/java/jdk1.6.0_26/bin"
CLASSPATH=.:/usr/lib/jvm/java/jdk1.6.0_26/lib
JAVA_HOME=/usr/lib/jvm/java/jdk1.6.0_26

切换到 Root 权限,然后执行。

sudo -i
source /home/你当前的用户名/.bashrc

此时,环境变量设置成功(设置环境变量的方法很多,不一一列举)
由于ubuntu中可能会有默认的jdk,如openjdk,所以,为了使默认使用的是我们安装的jdk,还要进行如下工作。
执行

update-alternatives --install /usr/bin/java java /usr/lib/jvm/java/jdk1.6.0_26/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java/jdk1.6.0_26/bin/javac 300

通过这一步将我们安装的jdk加入java选单。
然后执行

update-alternatives --config java

配置字体,否则 Oracle 安装向导会乱码。

首先选择一个中文字体,我选择的是/usr/share/fonts/truetype/arphic/ukai.ttc

cd /usr/lib/jvm/java/jdk1.6.0_26/jre/lib/fonts
sudo mkdir fallback
cd fallback
sudo ln -s /usr/share/fonts/truetype/arphic/ukai.ttcsudo mkfontdirsudo mkfontscale

创建安装目录。

sudo mkdir /opt/orcl10
sudo chmod 777 /opt/orcl10

安装完 JDK 环境之后开始配置 Tomcat,我下载的是 Tomcat 7。

安装 Tomcat 参照的文章是:http://forum.ubuntu.org.cn/viewtopic.php?t=183813

将其移动至/usr/share/tomcat7

sudo mkdir -p /usr/share/tomcat7
sudo chmod 777 /usr/share/tomcat7
mv ~/下载/apache-tomcat-7.0.16.tar.gz /usr/share/tomcat7

然后进行解压缩:

cd /usr/share/tomcat7
tar -zxvf apache-tomcat-7.0.16.tar.gz

此时得到一个文件夹:apache-tomcat-7.0.16

然后配置环境变量:

sudo gedit /usr/share/tomcat7/apache-tomcat-7.0.16/bin/catalina.sh

在文件开头注释后插入:

JAVA_HOME="/usr/lib/jvm/java/jdk1.6.0_26"

然后启动 Tomcat 服务器:

/usr/share/tomcat7/apache-tomcat-7.0.16/bin/startup.sh

这样,就可以成功启动tomcat.

开始安装:注销原来的用户,改用oracle用户登录。用env查看一下环境变量是否生效。

断开网络链接。

解压缩下载的 Oracle 安装包。

cd ~/下载
unzip 10201_database_linux32.zip

进入解压缩的目录开始安装。

cd databases
./runInstaller -jreLoc /usr/lib/jvm/java/jdk1.6.0_26/jre

此时出现安装向导。

选择高级安装,并等待安装完成。

创建自启动脚本 创建 oracledb 脚本到/etc/init.d/oracledb

sudo gedit /etc/init.d/oracledb

内容如下

#!/bin/bash
#
# /etc/init.d/oracledb
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interfaceexport ORACLE_HOME=/opt/ora10 #这里修改成你的 Oracle 安装目录
export ORACLE_SID=ora1 #这里写你的 Oracle 数据库实例的 SID
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATHORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "[Oracle Error] dbstart command does not exist, quitting..."
exit 1
else
echo "[Oracle Info] dbstart existance check OK"
fi# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
echo "[Oracle Info] Starting oracle"
echo "[Oracle Info] su $ORA_OWNR -c ""$ORACLE_HOME/bin/lsnrctl start"
su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
if [ $? -ne 0 ]
thenecho "[Oracle Error] listener failed to start"
exit 1
else echo "[Oracle Info] listener start OK"
fisu $ORA_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
echo "[Oracel Info] su $ORA_OWNR -c ""$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
if [ $? -ne 0 ]
thenecho "[Oracle Error] dbstart failed to start"
exit 1
elseecho "[Oracle Info] dbstart OK"
fi
touch /var/lock/oracle
echo "[Oracle Info]su $ORA_OWNR -c ""$ORACLE_HOME/bin/emctl start dbconsole"
su $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"
if [ $? -ne 0 ]
thenecho "[Oracle Error] dbconsole failed to start"
exit 1
elseecho "[Oracle Info] dbconsole start OK"
fi
echo "[Oracle Info] Starting oracle ended OK"
;;
stop)
# Oracle listener and instance shutdown
echo "[Oracle Info] Shutdown Oracle: "
echo "[Oracle Info] su $ORA_OWNR -c ""$ORACLE_HOME/bin/lsnrctl stop"
su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
echo "[Oracle Info] su $ORA_OWNR -c ""$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
su $ORA_OWNR -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
rm -f /var/lock/oracle
echo "[Oracle Info]su $ORA_OWNR -c ""$ORACLE_HOME/bin/emctl stop dbconsole"
su $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"
echo "[Oracle Info] Shutdown Oracle ended OK"
;;
reload|restart)
echo "[Oracle Info]: $1 oracle"
$0 stop
$0 start
;;
*)
echo "[Oracle Error] Unknown context: $1"
echo "[Oracle Info]  Usage: `basename $0` start|stop|restart|reload"
exit 1
esac
exit 0

设置权限,放到启动脚本中去

sudo chmod 755 /etc/init.d/oracledb
sudo update-rc.d oracledb defaults 99

还需要编辑一下/etc/oratab,把其中的N改成Y,不然上述脚本中所调用的$ORACLE_HOME/bin/dbstart在执行时不会自动启动相应的数据库实例(这里的数据库实例是ora1)。

sudo gedit /etc/oratab

文件内容如下:

## This file is used by ORACLE utilities.  It is created by root.sh
# and updated by the Database Configuration Assistant when creating
# a database.# A colon, ':', is used as the field terminator.  A new line terminates
# the entry.  Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
#   $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively.  The third filed indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
ora1:/opt/ora10:Y

Ubuntu 中安装 Oracle 10g相关推荐

  1. 在Win7中安装Oracle 10g时检测报错的解决办法

    在Windows 7中安装Oracle 10g. 使用的Orcale版本是10g. 步骤1: 在Orcale官网上下载,下载地址为:http://download.oracle.com/otn/nt/ ...

  2. ubuntu中安装oracle sun java.

    from: http://askubuntu.com/questions/55848/how-do-i-install-oracle-java-jdk-7 sudo apt-get install p ...

  3. ubuntu oracle 10g 安装,Ubuntu 12.04 安装Oracle 10g 全过程(完美)及问题解决办法

    PS:Ubuntu 12.04 安装Oracle 10g 全过程(完美)及问题解决办法正常情况下,完美无错..如果遇到问题,也有解决办法 1.安装前准备工作 1.1 到oracle官网下载适合自己电脑 ...

  4. 指南:在 linux 下的 Oracle Database 11g 中安装 Oracle Enterprise Manager 10g Grid Control 第 5 版

    原文地址:http://www.oracle.com/technetwork/cn/articles/revitt-oem-096363-zhs.html 作者:Mike Revitt 逐步详解如何针 ...

  5. linux下安装oracle 10g

    Oracle 10g 对软硬件的要求都非常的高,所以要玩转的话的花不少银子.首先来看看它对硬件的要求:内存512兆(建议1G),cpu 主频2.0G以上,硬盘转速7200转以上(建议使用scsi硬盘) ...

  6. Linux安装Oracle 10g

    目录 目录 环境 RHEL6 Configuration Update JDK 配置Oracle安装环境 硬件检测 软件检测 编辑配置文件 安装Oracle Database 环境 系统 RHEL6 ...

  7. CentOS 6.3(x86_64)下安装Oracle 10g R2

    CentOS 6.3(x86_64)下安装Oracle 10g R2 目 录 一.硬件要求 二.软件 三.系统安装注意 四.安装Oracle前的系统准备工作 五.安装Oracle,并进行相关设置 六. ...

  8. Ubuntu上安装oracle java 7

    Ubuntu上安装oracle java 7 from: http://sddhn.blog.163.com/blog/static/128187792013103014453434/ 1.通过PPA ...

  9. oracle好难装,安装oracle 10g 的艰难之旅

    安装oracle 10g 的艰难之旅 作者:田逸 (sery@163.com) 发表于http://www.xue5.com/itedu/2740.html 在linux下安装oracle是一件令人生 ...

最新文章

  1. jQuery EasyUI DataGrid 分页 FOR ASP.NET
  2. Access update的时候传递参数的顺序
  3. 【SeeMusic】音频编辑 ( 进入音频编辑页面 | 音频延迟设置 )
  4. 试图执行系统不支持的操作
  5. CNN卷积层图像和矩阵转换函数
  6. http如何像tcp一样实时的收消息?
  7. CocoaPods的使用
  8. 前端学习(2008)vue之电商管理系统电商系统之获取静态属性列表
  9. 【转】C# WebAPI中为自定义模型设置JSonConverter
  10. gmake与make的区别
  11. MySQL循环语句之while循环测试
  12. 【摘转留用】35前要考虑的
  13. Android配置使用SQLite3
  14. java连接远程服务器之manyged-ssh2 (windows和linux)
  15. 如果你忘记了DotnetNuke站点的host和admin密码,解决方案
  16. [ZT]大型企业局域网安全解决方案
  17. 办公小技巧:excel列宽在哪里设置
  18. 项目成本管理:成本与成本管理概念
  19. 【程序员高考】2018年全国统一高考程序员试卷
  20. 微信小程序中图片高度被压扁的解决办法

热门文章

  1. 利用Nginx做负载均衡
  2. [HDU] 2612 Find a way - 用单源最短论经模拟的简单广搜
  3. Char.IsDigit与Char.IsNumber的区别[转]
  4. 淘宝拼多多京东等电商平台,为何孵化不出一个小红书?(内部原因版)
  5. (一)Java工程化--Maven基础
  6. springmvc.xml 中 url-pattern/url-pattern节点详解
  7. FOSCommentBundle功能包:改变样式
  8. ajxa异步请求数据
  9. Facebook高管解读财报 加大对视频业务的投资
  10. 某知名大学学生毕业设计,Java学好了就是厉害