欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Debian 下 安装 Oracle 11g XE R2

程序员文章站 2022-05-26 09:20:26
...

操作系统方面,虽然oracle提供了windows x32 和 linux x64 版本的.但是虚拟机下面用windows 实在不是那么回事.而我实在不喜欢ubun

最近两天总是出门跑.在公司时间没法保证.所以想着在自己机器上面弄个Oracle.方便到客户那里去处理一些问题.

当然就我这小破笔记本,直接装上是在找死...所以虚拟机是很好的选择.

操作系统方面,虽然oracle提供了windows x32 和 linux x64 版本的.但是虚拟机下面用windows 实在不是那么回事.而我实在不喜欢Ubuntu 的 unit界面 难用到要死.linux mint 倒是很好看.不过内存啊内存..所以果断选择Debian.

首先第一件事情,当然是下载..

debian 和 oracle 11g xe r2 我用的都是 最新版本的

虚拟机安装过程还是很简单...

难得地方是在配置oracle 官方文档竟然只支持 oracle linux RedHat SUSE 而CentOS 和 debian 竟然没测...

我弄了两天,虚拟机镜像恢复了不下10次.终于弄好了.不难,难得是方法不对

不得不吐槽某度.答案没一个对的.要不就是10 g 的转载帖..一点用没有.

好了闲话少说.马上开始.

0.开始这篇教程,你需要基本的linux知识.比如su sudo 都是什么 swap 分区干什么用 命令怎么打
基本的命令行提示要能看懂.比如apt-get的时候的提示,要有能力处理....

1. 安装虚拟机
虚拟机正常安装就可以了.注意两点.
1.内存建议512以上.1g更好了.因为我机器内存小.所以没办法..
2.cpu 核心数量.如果你的虚拟机只用来跑oracle的话 单核心就可以了.因为xe版本不支持多核处理...
3.别忘了装驱动.要不然..........

2. 复制oracle_XXXXX.rpm.zip 到虚拟机,并解压
我放在了 用户/文档/下面了,他生成了一个Disk1的文件夹

3. swap分区的大小.
Oracle官方文档上面写的swap分区最好2g.debian肯定不到这个数字了.所以我们应该扩充一下
ps:其实不扩充也能装成功.但是宁可信其有不可信其无嘛O(∩_∩)O哈哈~

#在opt下面建立一个存放swap文件的文件夹
mkdir swap
# 进去
cd swap
# 建立一个2g的swap文件
dd if=/dev/zero of=swapfile bs=1024 count=2048000
# 等一会(时间比较长,我用了1分多钟)...........

# 转换激活swap
mkswap swapfile
swapon swapfile

# 看一下 swap分为大小
free -m
# 单位是m 这个时候应该大于2G了..
# 最后一步 把他写入/etc/fstab文件 开机2G
echo "swapfile swap swap defaults 0 0" >> /etc/fstab

4.安装必备的库

apt-get install alien dpkg-dev debhelper build-essential libaio1

PS:我这里需要下载90m左右的文件.建议选择163的源.比搜狐的新一些.也快一些.

5.新建一个连接和一个叫chkconfig的命令脚本//具体干啥用我也不知道.猜测可能是模仿redhat环境

ln -s /usr/bin/awk /bin/awk
cd /sbin
# gedit 是debian自带的文本编辑器.其他的也无所谓.(我觉得emacs可好用了XD)
gedit chkconfig

把下面的内容保存到chkconfig文件内

#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Debian
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01

6. 开始安装oracle

# cd 到 oracle_XXX.rpm文件的地方

# 使用alien进行安装
## 注意:因为这个过程需要执行它自带的脚本.所以我是直接安装的,并没有转换为deb.
## 注意2: 参数i表示直接安装 参数c表示把自带的脚本文件一同转换到deb.这个脚本文件很重要.没有的话后面很难成功.

alien -ic oracle_XXXX.rpm
# 继续 很久很久 很久

7.这个时候.命令行提示到/etc/oracle-xe 下面进行配置.我们先不去
注意.不要急急忙忙去config.

先执行下面两个命令.功能我也不清楚(惭愧....)

sed -i 's;/var/lock/subsys/listener;/var/lock/listener;' /etc/init.d/oracle-xe
sed -i 's;/var/lock/subsys/oracle-xe;/var/lock/oracle-xe;' /etc/init.d/oracle-xe

8.这个时候就可以config了.(也比较慢)
注意有的人可能会卡在config设置8080端口的位置.原因是sh命令类型不兼容造成的.应该使用bash.有的发行版好像不是bash 比如说mint 好像直接./执行会卡住.

有两种解决思路.

第一种方法是 直接使用 bash /etc/init.d/oracle-xe config 指定bash执行脚本

第二种方法是 打开oracle-xe文件.在360行左右的地方 直接修改它代码.找到那个端口的位置强制设置到8080 和1521 上面 break掉 具体方法.请google oracle-xe 罕见 config

9.这个时候应该成功了..good luck


PS.很多人可能配置的时候配置错了..结果无论怎么卸载重装.都无法重现配置.其实重新配置很容易的...

找到 /etc/default 下面

你会发现有一个oracle-xe的文件

删掉 你就可以重新 configure 了.

这个文件卸载的时候不会自动清理掉.因为是configure的时候生成的嘛...

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2