如何在Ubuntu 14.04上安装Oracle 11gR2?

请向我提供在Ubuntu 14.04上安装oracle 11gr2的指导。

第1步: 下载 Oracle Database Express Edition。

第2步:安装Oracle之前的说明

  1. 复制下载的文件并将其粘贴到主目录中。

  2. 使用命令解压缩:

    unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip 
  3. 使用以下命令安装所需的包:

     sudo apt-get install alien libaio1 unixodbc 
  4. 使用命令进入Disk1文件夹:

     cd Disk1/ 
  5. 使用以下命令将RPM包格式转换为DEB包格式(由Ubuntu使用):

     sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm 
  6. 使用以下命令创建所需的chkconfig脚本:

     sudo pico /sbin/chkconfig 

    启动微微文本编辑器,命令显示在屏幕底部。 现在将以下内容复制并粘贴到文件中并保存:

     #!/bin/bash # Oracle 11gR2 XE installer chkconfig hack for Ubuntu 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 
  7. 使用以下命令更改chkconfig文件的权限:

     sudo chmod 755 /sbin/chkconfig 
  8. 设置内核参数。 Oracle 11gR2 XE需要使用以下命令设置的其他内核参数:

     sudo pico /etc/sysctl.d/60-oracle.conf 
  9. 将以下内容复制到文件中并保存:

     # 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 
  10. 使用以下命令validation更改:

     sudo cat /etc/sysctl.d/60-oracle.conf 
  11. 你应该看看你之前输入的内容。 现在加载内核参数:

     sudo service procps start 
  12. validation是否使用以下方式加载新参数:

     sudo sysctl -q fs.file-max 

    您应该看到之前输入的file-max值。

  13. 为Oracle设置/ dev / shm挂载点。 使用以下命令创建以下文件:

     sudo pico /etc/rc2.d/S01shm_load 
  14. 将以下内容复制到文件中并保存。

     #!/bin/sh case "$1" in start) mkdir /var/lock/subsys 2>/dev/null touch /var/lock/subsys/listener rm /dev/shm 2>/dev/null mkdir /dev/shm 2>/dev/null *) echo error exit 1 ;; esac 
  15. 使用以下命令更改文件的权限:

     sudo chmod 755 /etc/rc2.d/S01shm_load 
  16. 现在执行以下命令:

     sudo ln -s /usr/bin/awk /bin/awk sudo mkdir /var/lock/subsys sudo touch /var/lock/subsys/listener 

    现在,重新启动您的系统

第3步:安装Oracle

  1. 使用以下命令安装oracle DBMS:

     sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb 
  2. 使用以下命令配置Oracle:

     sudo /etc/init.d/oracle-xe configure 
  3. 通过编辑.bashrc文件来设置环境变量:

     pico ~/.bashrc 
  4. 将以下行添加到文件末尾:

     export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe export ORACLE_SID=XE export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh` export ORACLE_BASE=/u01/app/oracle export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export PATH=$ORACLE_HOME/bin:$PATH 
  5. 通过执行配置文件加载更改:

     . ~/.bashrc 
  6. 启动Oracle 11gR2 XE:

     sudo service oracle-xe start 
  7. 使用以下命令将用户YOURUSERNAME添加到组dba:

     sudo usermod -a -G dba YOURUSERNAME 

第4步:使用Oracle XE命令Shell

  1. 使用以下命令启动Oracle XE 11gR2服务器:

     sudo service oracle-xe start 
  2. 使用以下命令以系统管理员身份启动命令行shell:

     sqlplus sys as sysdba 

    输入您之前配置Oracle时提供的密码。 现在,您将被置于只能理解SQL命令的SQL环境中。

  3. 使用SQL命令在Oracle中创建常规用户帐户:

     create user USERNAME identified by PASSWORD; 

    将USERNAME和PASSWORD替换为您选择的用户名和密码。 请记住此用户名和密码。 如果执行上述操作时出现错误,并显示有关resetlogs的消息,请执行以下SQL命令并再试一次:

     alter database open resetlogs; 
  4. 使用SQL命令为用户帐户授予权限:

     grant connect, resource to USERNAME; 

    将USERNAME和PASSWORD替换为您选择的用户名和密码。 请记住此用户名和密码。

  5. 使用SQL命令退出sys admin shell:

     exit; 
  6. 使用以下命令以常规用户身份启动命令行shell:

     sqlplus 

    现在,您可以运行sql命令…

谢谢您的详细教程,但我收到了错误

 touch: cannot touch '/var/lock/subsys/listener' .. 

在步骤sudo /etc/init.d/oracle-xe configure 。 所以在http://meandmyubuntulinux.blogspot.in/2012/05/installing-oracle-11g-r2-express.html上建议我在/etc/init.d/oracle-xe添加了以下几行

 if [ -L /dev/shm ]; then rm -rf /dev/shm mkdir /dev/shm mount -t tmpfs shmfs -o size=2048m /dev/shm fi if [ ! -d /var/lock/subsys ]; then mkdir /var/lock/subsys touch /var/lock/subsys/listener fi 

……它对我来说很好

这工作正常,但我得到以下错误:

 sudo /etc/init.d/oracle-xe start [....] Starting oracle-xe (via systemctl): oracle-xe.serviceJob for oracle-xe.service failed because the control process exited with error code. See "systemctl status oracle-xe.service" and "journalctl -xe" for details. failed! 

调查一下:

 systemctl status oracle-xe.service Jan 27 10:01:05  su[29699]: No passwd entry for user 'oracle' 

我只是添加了一个用户解决了它:

 sudo adduser oracle 

希望这有助于某人。