您的位置:首页 > 数据库 > Oracle

Ubuntu14.04 安装 Oracle 11g R2 Express Edition

2015-08-18 12:50 567 查看
创建用户

创建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;


你应该能深刻的感觉到你已经成功了,给个赞吧伙计
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: