在 Ubuntu 64 位上安装 Oracle 11g R2 Express Edition

在 Ubuntu 64 位上安装 Oracle 11g R2 Express Edition

我正在尝试使用 Oracle Expresshttp://meandmyubuntulinux.blogspot.in/2012/05/installing-oracle-11g-r2-express.html作为指南,但我遇到了一个问题。

sudo cat /etc/sysctl.d/60-oracle.conf 
# Oracle 11g XE kernel parameters  
fs.file-max=6815744  
net.ipv4.ip_local_port_range=9000 65000  
kernel.sem=250 32000 100 128 
kernel.shmmax=536870912

sudo service procps start
procps stop/waiting

我确认了这一变化,

sudo sysctl -q fs.file-max
fs.file-max = 65535

fs.file-max = 65535 =/= 6815744

我该如何进行更改?提前感谢您的帮助。

答案1

嗨,Guy

如果您在安装 Oracle 11g Express Edition 时遇到任何问题,请按照以下简单步骤操作:请记住这一点,而不是 amit 始终使用您的计算机用户名:这是我在计算机上所做的所有事情,我将在您面前表达同样的事情}

amit@Deepin:~$ sudo apt-get 更新

{完成此步骤后进行进一步处理}

查看已经添加的群组及可用的群组号:

amit@Deepin:~$ sudo cat /etc/group

添加群组:

amit@Deepin:~$ sudo groupadd -g 801 oinstall

amit@Deepin:~$ sudo groupadd -g 800 dba

{此处 800 是组号,'dba' 是组名}

找出组号

amit@Deepin:~$ sudo cat /etc/group |grep -i 800 <---- 它将检查 800 组号是否已经分配给某个组。

添加您的群组后验证:

amit@Deepin:~$ sudo cat /etc/group dba:x:800 <----- 表示该组已成功添加,....

添加属于两个组的用户:

amit@Deepin:~$ sudo useradd -u 800 -g dba -G oinstall -d /home/oracle oracle

为用户创建密码:

amit@Deepin:~$ sudo -i

root@Deepin:~# sudo cat /etc/passwd

root@Deepin:~# sudo id oracle

root@Deepin:~#passwd oracle

新密码 *******

确认密码 *******

授予用户目录的所有权:

root@Deepin:~#chown -R oracle:dba /home/oracle

我们需要在启动脚本中做一些更改:

root@Deepin:~# mkdir /etc/rc.d

root@Deepin:~# for i in 0 1 2 3 4 5 6 S

>do ln -s /etc/rc$id /etc/rc.d/rc$id

>完成

现在,我们将创建安装目录,并将其所有者更改为创建

root@Deepin:~# mkdir -p /u01/app/oracle

root@Deepin:~# chown -R oracle:dba /u01

现在,您可以以 oracle 用户身份登录 root@Deepin:~# su oracle

$

$bash -i <----- 提供 bash 命令支持

oracle@Deepin:/root$ su -

密码: *****

root@Deepin:~#

现在再次以 root 身份登录并转到 /home/oracle ,,, 在那里复制设置

root@Deepin:~# 解压 oracle-xe-11.2.0-1.0.x86_64.rpm.zip

安装以下软件包:

root@Deepin:~# apt-get install alien libaio1 unixodbc

基于 Red Hat 的 Oracle XE 11gR2 安装程序依赖于 /sbin/chkconfig,而 Ubuntu 中未使用该程序。当前版本的 Ubuntu 可用的 chkconfig 包会产生错误,并且可能不安全。因此,您需要创建一个特殊的 chkconfig 脚本,下面是解决该问题并成功安装 Oracle XE 的简单技巧:

root@Deepin:~# gedit /sbin/chkconfig

(将以下内容复制并粘贴到文件中)

-------------------------------------

/bin/bash #!/bin/bash

# Oracle 11gR2 XE 安装程序 chkconfig 针对 Deepin 进行破解

文件=/etc/init.d/oracle-xe

如果 [[ ! tail -n1 $file | grep INIT]]; 那么

回显 >> $文件

echo ‘### BEGIN INIT INFO’ >> $file

echo '# 提供: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 '# 简短描述:Oracle 11g Express Edition' >> $file

echo ‘### END INIT INFO’ >> $file

update-rc.d oracle-xe 默认值 80 01

#EOF

-----------------------------------------------------------------

保存上述文件并提供适当的执行权限:

root@Deepin:~# chmod 755 /sbin/chkconfig

Oracle 11gR2 XE 需要设置以下附加内核参数:

root@Deepin:~# sudo gedit /etc/sysctl.d/60-oracle.conf

(输入以下内容)


# Oracle 11g XE 内核参数

fs.文件最大值=6815744

net.ipv4.ip_local_port_range=9000 65000

内核.sem=250 32000 100 128

内核.shmmax=1610612736


(保存文件)

注意:kernel.shmmax = 最大可能值,例如物理 RAM 的大小(以字节为单位,例如 512MB RAM == 512*1024*1024 == 536870912 字节和 1536MB RAM == 1536*1024*1024 == 1610612736)

验证更改:

root@Deepin:~# sudo cat /etc/sysctl.d/60-oracle.conf

加载新的内核参数:

root@Deepin:~# sudo service procps start

核实:

root@Deepin:~# sudo sysctl -q fs.file-max

-> fs.文件最大值 = 6815744

增加系统交换空间:通过以下命令分析当前交换空间:

root@Deepin:~# 免费 -m

进行一些必要的更改:

root@Deepin:~# sudo ln -s /usr/bin/awk /bin/awk

root@Deepin:~# sudo mkdir -p /var/lock/subsys

root@Deepin:~# sudo touch /var/lock/subsys/listener

将 red-hat ( rpm ) 包转换为 Ubuntu-package :

root@Deepin:~# sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm

转到上一步中创建 ubuntu 包文件的目录,然后在终端中输入以下命令:

root@Deepin:~# sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb

执行以下操作以避免出现 MEMORY TARGET 错误(ORA-00845:此系统不支持 MEMORY_TARGET):

root@Deepin:~# sudo rm -rf /dev/shm

root@Deepin:~# sudo mkdir /dev/shm

root@Deepin:~# sudo mount -t tmpfs shmfs -o size=2048m /dev/shm

(这里的大小是你的 RAM 的大小,以 MB 为单位)。

这样做的原因是,在 Ubuntu 系统上 /dev/shm 只是 /run/shm 的链接,但 Oracle 需要有一个单独的 /dev/shm 挂载点。

要使更改永久生效,请执行以下操作:

在 /etc/rc2.d 中创建一个名为 S01shm_load 的文件:

root@Deepin:~# sudo gedit /etc/rc2.d/S01shm_load

然后将以下行复制并粘贴到文件中:


/bin/sh #!/bin/sh 复制代码

案例“$1”

开始)mkdir /var/lock/subsys 2>/dev/null

触摸/var/lock/subsys/listener

rm /dev/shm 2>/dev/null

mkdir /dev/shm 2>/dev/null

安装 -t tmpfs shmfs -o 大小=2048m /dev/shm;;

*) 回显错误

退出1;;

埃萨克


保存文件并提供执行权限:

root@Deepin:~# chmod 755 /etc/rc2.d/S01shm_load

这将确保您每次启动系统时,都能获得一个可运行的 Oracle 环境。

您现在可以继续执行 Oracle 初始化脚本

root@Deepin:~# sudo gedit /etc/bash.bashrc


导出 ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe

导出 ORACLE_SID=XE

导出 NLS_LANG=$ORACLE_HOME/bin/nls_lang.sh

导出 ORACLE_BASE=/u01/应用程序/oracle

导出 LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

导出 PATH=$ORACLE_HOME/bin:$PATH


输入以下配置信息: Oracle Application Express 的有效 HTTP 端口(默认为 8080) Oracle 数据库侦听器的有效端口(默认为 1521) SYS 和 SYSTEM 管理用户帐户的密码 确认 SYS 和 SYSTEM 管理用户帐户的密码 是否希望数据库在计算机启动时(下次重新启动)自动启动。 在开始使用 Oracle 11gR2 XE 之前,您还需要设置一些内容:

a) 设置环境变量,在 /etc/bash.bashrc 底部添加以下几行:

b)执行.profile来加载更改:

root@Deepin:~# 源 /etc/bash.bashrc

root@Deepin:~# cd ..

启动 Oracle 11gR2 XE:

root@Deepin:~# sudo /etc/init.d/oracle-xe configure

root@Deepin:~# sudo 服务 oracle-xe 启动

输出应类似于以下内容:

root@Deepin:~# 服务 oracle-xe 启动

启动 Oracle Net Listener。

启动 Oracle Database 11g Express Edition 实例。

root@Deepin:~#

相关内容