Ubuntu14.04 安装 Oracle 11g R2 Express Edition

  1. 创建用户

创建oracle用户组:sudo addgroup oracle

创建oracle用户:sudo adduser -ingroup oracle oracle

为oracle用户分配root权限:sudo gedit /etc/sudoers

按回车键就可以打开sudoers文件

在root ALL=(ALL:ALL) ALL下面添加

oracle ALL=(ALL:ALL) ALL 

2.安装jdk
这个我不详细介绍了,一般人应该都有安装过了

3.安装Oracle 11g
执行:

sudo apt-get install alien libaio1 unixodbc

这个一定要装成功,看清楚里,一次没装成没关系,根据提示,比如让你update–fix之类的

4下载好Oracle 11g R2 Express Edition,一般得到的文件名应该是:oracle-xe-11.2.0-1.0.x86_64.rpm.zip
所以,照着下面做吧,一模一样:

su oracle

将安装包复制到一个指定的路径,方便管理,我放在里/usr/local里面,想省事的话就和我一样把

cd /usr/local
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
cd Disk1
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm

上面的最后一步会花掉稍微长的时间大概5到10分钟,完成之后,执行下面的:

sudo gedit /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
#EOF

保存,退出,并执行:

sudo chmod 755 /sbin/chkconfig
sudo gedit /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
sudo sysctl -q fs.file-max

如果你看到返回的结果是:
fs.file-max = 6815744
那么说明你上面的步骤均正确,继续进行:

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

接下来我们开始安装Oracle:

sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
sudo rm -rf /dev/shm
sudo mkdir /dev/shm
sudo mount -t tmpfs shmfs -o size=4096m /dev/shm
sudo gedit /etc/rc2.d/S01shm_load

然后把下面这段复制进去:

#!/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
mount -t tmpfs shmfs -o size=4096m /dev/shm ;;
*) echo error
exit 1 ;;
esac

保存,退出,执行:

sudo chmod 755 /etc/rc2.d/S01shm_load

没有错误的话,说明我们安装已经完成了。

3.配置Oracle
执行

sudo /etc/init.d/oracle-xe configure

一路回车(设置成默认值),记得设置密码,看下面的说明吧:

A valid HTTP port for the Oracle Application Express (the default is 8080)
A valid port for the Oracle database listener (the default is 1521)
A password for the SYS and SYSTEM administrative user accounts
Confirm password for SYS and SYSTEM administrative user accounts
Whether you want the database to start automatically when the computer starts (next reboot).

完成之后不要慌张,执行:

sudo gedit /etc/bash.bashrc

拖到最下面,添加

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

保存,退出,执行:

source /etc/bash.bashrc
echo $ORACLE_HOME

如果你看到输出是:

/u01/app/oracle/product/11.2.0/xe

那么恭喜,你就要完成了,执行:

sudo service oracle-xe start

sqlplus /nolog

conn / as sysdba
这里我给第二台电脑装的时候出现了一个问题,所以提出来一下,如果你遇见
nsufficient privileges这样的问题的话
那么可以在终端中用groups oracle查看 oracle用户真实对应的组名称,然后再将当前系统用户添加到oracle用户所在的组中去即可。如 sudo gpasswd -a username dba

和我配置的一样的话就用sudo gpasswd -a oracle dba

最后的验证

select * from user_tables;

你应该能深刻的感觉到你已经成功了,给个赞吧伙计

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值