我正在尝试使用 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:~#