ubuntu安装oracle,ubuntu安装oracle11g
如何在ubuntu安装oracle11g
第一步:
下载安装包,Oracle实际上都是可以免费从网站的download页下载.
有各个操作系统的版本可供下载。
第二步:
解压安装包,我下载的是.zip文件,使用unzip或者ubuntu下的解压工具进行解压,解压后的目录名叫database,等会
我们将在这个目录启动安装程序,在安装之前,我们还有一些重要的步骤要做。
第三步:
修改环境变量,将home/'用户名'/ 目录下的.bashrc文件打开, home/'用户名' 目录也叫 ~ 目录,'用户名'是你的登录名
我的是/home/vkz
那么我修改.bashrc文件内容如下:
export ORACLE_BASE=~/Oracle/oracle11g
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID='orcl'
export NLS_LANG=.AL32UTF8
建立好的目录绝对路径为:/home/vkz/Oracle/oracle11g
然后现在创建文件夹:
在~目录中也就是/home/username/中创建Oracle/oracle11g,和上面的环境变量对应起来。
mkdir Oracle
cd Oracle
mkdir oracle11g
因为我是直接在本用户中安装,并未新建oracle用户,所以网上其他的安装步骤说的chmod神马的,我这不需要。
把安装变的更简单。
第四步:(这一步看似复杂,其实很简单,关键就是看耐心,多测试)
更新软件和库文件,这一步很蛋疼,因为每一个人的机器不同,有些人可能已经安装了下面我说到的软件和库,有些
朋友可能又没有,所以我们把要用到的库都写在下面,大家自己看着装吧 :)
我先列出Oracle给出的清单:
make-3.80(我的机器上就是3.81)所以不一定要完全一样,最坑爹的主要是有些版本高了可能不行。
例如libstdc++,貌似需要5.0,很多机器上是6.0
binutils-2.15.92.0.2
gcc-3.4.6
libaio-0.3.105
libaio-0.3.105
glibc-2.3.4-2.41
compat-libstdc++-33-3.2.3
elfutils-libelf-0.97
elfutils-libelf-devel-0.97
glibc-common-2.3.4
glibc-devel-2.3.4
glibc-headers-2.3.4
gcc-c++-3.4.6
libaio-devel-0.3.105
libgcc-3.4.6
libstdc++-3.4.6
libstdc++-devel-3.4.6
sysstat-5.0.5
unixODBC-2.2.11
unixODBC-devel-2.2.11
pdksh-5.2.14
expat-1.95.7
还有如下清单:
alien
binutils
build-essential
cpp-4.4
debhelper
g++-4.4
gawk
gcc-4.4
gcc-4.4-base
gettext
html2text
ia32-libs
intltool-debianksh
lesstif2
lib32bz2-dev
lib32z1-dev
libaio-dev
libaio1
libbeecrypt7
libc6
libc6-dev
libc6-dev-i386
libdb4.8
libelf-dev
libelf1
libltdl-dev
libltdl7
libmotif4
libodbcinstq4-1
libodbcinstq4-1:i386
libqt4-core
libqt4-gui
libsqlite3-0
libstdc++5
libstdc++6
libstdc++6-4.4-dev
lsb
lsb-core
lsb-cxx lsb-desktop
lsb-graphics
lsb-qt4
make
odbcinst
pax
po-debconf
rpm
rpm-common
sysstat
unixodbc
unixodbc-dev
unzip
当然还有apt-get update和apt-get dist-upgrade一下最好...不过这样貌似也矛盾,我反正没这么搞。
建议最好别apt-get install 所有名字,这样可能会导致一些库没安上,比如我的机器上,当我安装libdb4.8的时候,就提示:
这个库已经过时,推荐db4.8-utils,所以最好一个个的安装,看看有些什么提示。当然我不敢打保票,不过我倒不是全部
都去装了也一样可以成功安装oracle,所以.... 大家自己看着办吧,嘻嘻....
第五步:
这一步主要是欺骗安装程序的,如果后面出现make错误,这一步也是需要的,所以主要是建几个符号链接,到时候找目录
的时候,骗骗安装程序。(windows中安装oracle就没有make这一步,其实很多人都是在这一环节上失败的,不要担心
只要你够坚强和耐心,失败几次肯定会成功的,我就失败了4次,我是在linux下安装了4次oracle才成功的,用了我一个下
午的时间,现在想想也不像一些朋友夸张的那样,什么安装失败了要重装系统,什么需要多牛B的技术...... 我艹安个软件能
有多难啊??总能装上吧?如果一个软件装不上,那oracle这个公司不是太失败了?我晕... 说多了,回到正题。。。)
mkdir /usr/lib64
ln -s /etc /etc/rc.d
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/basename /bin/basename
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
后来我又在usr/lib目录中加了这个链接
ln -s libstdc++.so.6 libstdc++.so.5
然后是在/etc目录中新建redhat-release文件
写入Red Hat Linux release 5
然后保存退出
第六步:(检查系统变量)
sudo vim /etc/pam.d/login
增加以下行(有了就不用增加了)
session required pam_limits.so
sudo vim /etc/pam.d/su
session required pam_limits.so
使用命令sysctl命令进行查看内核参数,并且将我们需要的参数记录下来,可以用文本文件单独记录一下后面需要使用。
在终端的命令输入处,输入:(如果环境变量path有/sbin,那么直接输入sysctl,否则使用/sbin/sysctl)
sysctl -a | grep sem
这条命令的意思是:参数 -a 是用来显示所有变量的,所以直接-a显示会有很多内容,那么我们才使用 | 管道,将输出结果通过 grep 来进行筛选。
上面这条命令就是筛选出名字叫 sem 的内容。
我的系统中,该变量的内容显示为:
kernel.sem = 2503200032128
然后依次对下面的关键字进行筛选并将其变量的结果记录下来:
shm
file-max
aio-max
ip_local_port_range
rmem_default
rmem_max
wmem_default
wmem_max
在将其结果添加到/etc/sysctl.conf文件中,我添加的内容如下:(每台计算机的结构是不一样的)
kernel.sem = 2503200032128
kernel.shm_rmid_forced = 0
kernel.shmall = 2097152
kernel.shmmax = 33554432
kernel.shmmni = 4096
fs.file-max = 201317
fs.aio-max-nr = 65536
net.ipv4.ip_local_port_range = 3276861000
net.core.rmem_default = 212992
net.core.rmem_max = 131071
net.core.wmem_default = 212992
net.core.wmem_max = 131071
在 /etc/security/limits.conf 文件中增加以下数据
‘username’softnproc
2047
‘username’hardnproc
16384
‘username’softnofile
1024
‘username’hardnofile
65536
‘username’softstack
10240
username 写自己的账户名,我的是vkz,我就写成:
vkzsoft
nproc2047,后面依次类推...
将上面的变量添加后,我们需要更新内核参数,使用下面这个命令:
sysctl -p
第七步:
现在可以安装 了,进入之前解压缩的database目录中,ls一下,
见到runInstaller了吗,现在我们就可以./runInstaller了。
当然也可以使用参数-ignoreSysPrereqs来跳过后面的检测。
我反正没有使用,都是手动跳过的...
安装的时候其实没有什么一路next即可,在有目录的地方最好检查一下是不是
我们上面建立的/Oracle/oracle11g,涉及到用户组的选择都手工改一改,改
成你的登录的那个名字一样的组,我是把adm改成vkz。
还有就是我是在安装的时候选择仅安装数据库软件,安装成功后在去手动建立
数据库。当然这个应该不管事。都差不多。
问题的关键是make错误,这里给出一个简单的处理方法,在安装的过程中,
在make那一个环节的时候,如果报错,先不要退出安装程序,重新打开一个
终端,然后去修改一下文件中的内容:
首先修改$ORACLE_HOME/sysman/lib/ins_emagent.mk文件,打开后找到
找到190行将其$(MK_EMAGENT_NMECTL)后面加上-lnnz11,记得有空格喔..
加上后是$(MK_EMAGENT_NMECTL) -lnnz11
保存退出...
然后修改$ORACLE_HOME/bin/genorasdksh文件,打开后找到288行
在$LD $LD_RUNTIME这句的后面加上-Wl,-no-as-needed修改成:
$LD $LD_RUNTIME -Wl,-no-as-needed $LD_OPT.....
然后修改$ORACLE_HOME/srvm/lib/ins_srvm.mk,找到第61行,将
$(OCRLIBS_DEFAULT)前面加上-Wl,-no-as-needed
然后修改$ORACLE_HOME/network/lib/env_network.mk,找到2150行
TNSLSNR_LINKLINE=$(LINK) $(TNSLSNR_OFILES)在这个后面加上
-Wl,-no-as-needed
最后修改$ORACLE_HOME/rdbms/lib/env_rdbms.mk文件,找到:
ORACLE_LINKLINE=$(ORACLE_LINKER) 在后面加上-Wl,-no-as-needed
修改后,回到安装界面,点击retry,我就是这样搞定的... 主要是编译的问题...
最后安装完成后,到$ORACLE_HOME/bin目录里执行netca和dbca。
netca是网络配置,用于创建后修改网络相关内容
dbca是数据库配置,用于创建和修改数据库类容
如何配置,这个就不在本文讨论范围了,实际上很简单的,各位可以自己试试。

怎么在ubuntu上安装oracle数据库
安装Oracle所需要的依赖包
sudo apt-get install automake
sudo apt-get install autotools-dev
sudo apt-get install binutils
sudo apt-get install bzip2
sudo apt-get install elfutils
sudo apt-get install expat
sudo apt-get install gawk
sudo apt-get install gcc
sudo apt-get install gcc-multilib
sudo apt-get install g++-multilib
sudo apt-get install ia32-libs
sudo apt-get install ksh
sudo apt-get install less
sudo apt-get install lesstif2
sudo apt-get install lesstif2-dev
sudo apt-get install lib32z1
sudo apt-get install libaio1
sudo apt-get install libaio-dev
sudo apt-get install libc6-dev
sudo apt-get install libc6-dev-i386
sudo apt-get install libc6-i386
sudo apt-get install libelf-dev
sudo apt-get install libltdl-dev
sudo apt-get install libmotif4
sudo apt-get install libodbcinstq4-1 libodbcinstq4-1:i386
sudo apt-get install libpth-dev
sudo apt-get install libpthread-stubs0
sudo apt-get install libpthread-stubs0-dev
sudo apt-get install libstdc++5
sudo apt-get install lsb-cxx
sudo apt-get install make
sudo apt-get install openssh-server
sudo apt-get install pdksh
sudo apt-get install rlwrap
sudo apt-get install rpm
sudo apt-get install sysstat
sudo apt-get install unixodbc
sudo apt-get install unixodbc-dev
sudo apt-get install unzip
sudo apt-get install x11-utils
sudo apt-get install zlibc
谨慎起见,最好都执行一遍。
3、 检查系统变量
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep aio-max
/sbin/sysctl -a | grep ip_local_port_range
/sbin/sysctl -a | grep rmem_default
/sbin/sysctl -a | grep rmem_max
/sbin/sysctl -a | grep wmem_default
/sbin/sysctl -a | grep wmem_max
然后根据上面命令中得到的参数值在/etc/sysctl.conf中增加对应数据,比如:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
运行一下命令更新内核参数:
sysctl –p
4、添加对用户的内核限制
添加对dong用户的内核限制在 /etc/security/limits.conf 文件中增加以下数据,注:其中dong是我ubuntu系统的普通用户
dong soft nproc 2047
dong hard nproc 16384
dong soft nofile 1024
dong hard nofile 65536
dong soft stack 10240
5、查看/etc/pam.d/login,增加以下行(有了就不用增加了):
session required pam_limits.so
同样检查/etc/pam.d/su,没有以下行就自己加上:
session required pam_limits.so
6、创建需要的文件夹
makdir ~/tools/oracle11g
7、为Oracle配置环境变量
#oracle安装目录,第6步创建的文件夹
export ORACLE_BASE=/home/dong/tools/oracle11g
#网上说可以随便写
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
#数据库的sid
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
#默认字符集
export NLS_LANG=.AL32UTF8
#环境变量
export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64;
8、欺骗oracle的安装程序
Oracle本身并不支持ubuntu来安装,所以要进行欺骗oracle的安装程序(sudo执行):
mkdir /usr/lib64
ln -s /etc /etc/rc.d
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/basename /bin/basename
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
echo 'Red Hat Linux release 5' /etc/RedHat-release
9、 下载Oracle安装程序
从oracle官网上下载Linux x86的那两个文件(64位系统就下Linux x86-64),解压后得到database文件夹。
10、安装Oracle
进入database文件夹,为runInstaller文件赋予可执行权限
chmod 777 runInstaller
11、安装过程可能遇到的问题
一、Oracle安装界面乱码解决方法
执行:
exportNLS_LANG=AMERICAN_AMERICA.UTF8
export LC_ALL=C
二、Error in invoking target ‘install’ of makefile ‘/home/dong/tools/oracle11g/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’. See ‘/home/dong/tools/oraInventory/logs/installActions2015-01-22_09-39-03AM.log’ for details.
解决方法如下:
使用rpm安装这个glibc-static-2.17-55.el7.x86_64.rpm资源,安装即可,下载见
然后点击retry ,接着往下执行
注:这是网上提供的解决方案,我的系统安装失败,我直接跳过了
三、Error in invoking target ‘agent nmhs’ of makefile ‘/home/dong/tools/oracle11g/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk’
解决方法:
打开新的终端窗口
使用vi命令,打开/home/dong/tools/oracle11g/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk文件,将$(MK_EMAGENT_NMECTL)修改成$(MK_EMAGENT_NMECTL)-lnnz11 即可,
然后点击retry ,接着往下执行
四、Error in invoking target ‘all_no_orcl’ of makefile ‘/home/dong/tools/oracle11g/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk’. See ‘/home/dong/tools/Inventory/logs/installActions2016-03-19_02-37-44PM.log’ for details.
解决办法:
打开一个新的终端,输入如下四个命令:
sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/network/lib/env_network.mk
sed -i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/bin/genorasdksh
sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk
然后在图形界面点击‘Retry’就能继续安装了。
五、然后按照安装程序提示最后执行两个脚本:
sudo /home/dong/tools/Inventory/orainstRoot.sh
sudo /home/dong/tools/oracle11g/product/11.2.0/dbhome_1/root.sh
Ubuntu下可以安装Oracle吗
Ubuntu下可以安装Oracle 已经有很多人进行了安装。
安装文档可以在百度文库里面查到。安装大致的步骤就是:准备安装文件,配置环境,包括JDK、用户环境、系统环境变量配置,最后执行安装命令,依照提示进行安装。
如何在Ubuntu10.04下安装Oracle 11g
方法/步骤
1、 下载的是11g的ZIP文件:
Oracle Database 11 g Release 2 Standard Edition, Standard Edition One, and Enterprise Edition
2、JDK的环境已配置。
3.ZIP文件的解压缩
Zip文件有两个,解压缩的方法一定要对,不然之后安装的时候就会各种各样问题
unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
得到一个database如:生成/home/xiaoyaomeng/software/database
安装依赖包:
切换到Root用户,拷贝到终端下运行就行了:sudo apt-get install alien binutils build-essential cpp-4.4 debhelper g++-4.4 gawk gcc-4.4 gcc-4.4-base gettext html2text ia32-libs intltool-debian ksh lesstif2 lib32bz2-dev lib32z1-dev libaio-dev libaio1 libbeecrypt7 libc6 libc6-dev libc6-dev-i386 libdb4.8 libelf-dev libelf1 libltdl-dev libltdl7 libmotif4 libodbcinstq4-1 libodbcinstq4-1:i386 libqt4-core libqt4-gui libsqlite3-0 libstdc++5 libstdc++6 libstdc++6-4.4-dev lsb lsb-core lsb-cxx lsb-desktop lsb-graphics lsb-qt4 make odbcinst pax po-debconf rpm rpm-common sysstat unixodbc unixodbc-dev unzip
检查系统变量:
/sbin/sysctl -a | grep sem /sbin/sysctl -a | grep shm /sbin/sysctl -a | grep file-max /sbin/sysctl -a | grep aio-max /sbin/sysctl -a | grep ip_local_port_range /sbin/sysctl -a | grep rmem_default /sbin/sysctl -a | grep rmem_max /sbin/sysctl -a | grep wmem_default /sbin/sysctl -a | grep wmem_max
根据上一步的结果在/etc/sysctl.conf中增加对应数据:
1、sudo gedit /etc/sysctl.conf
2、加入(数字根据上一步得到的值对应):
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586
3、编辑完成之后保存,然后在终端下执行
sysctl -p
4、添加对Oracle用户的内核限制
sudo gedit /etc/security/limits.conf
往文件里面添加:
( administrator是你的用户名) administrator soft nproc 2047 administrator hard nproc 16384 administrator soft nofile 1024 administrator hard nofile 65536 administrator soft stack 10240 5、查看 /etc/pam.d/login ( sudo gedit /etc/pam.d/login )增加以下行(有就不增加了) session required pam_limits.so
同样检查/etc/pam.d/su ( sudo gedit /etc/pam.d/su ),增加以下行(就不用增加了) session required pam_limits.so
1.创建安装Oracle的目录 :mkdir ~/Oracle/oracle11g mkdir ~/Oracle/oradata 2.配置Oracle环境变量 :sudo gedit xiaoyaomeng/.bashrc #这个写刚刚创建的文件夹 export ORACLE_BASE= ~/Oracle/oracle11g export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID="orcl" export NLS_LANG=.AL32UTF8
1、.欺骗oracle的安装程序 拷贝到终端执行: mkdir /usr/lib64 ln -s /etc /etc/rc.d ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/ ln -s /usr/bin/awk /bin/awk ln -s /usr/bin/basename /bin/basename ln -s /usr/bin/rpm /bin/rpm ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/ ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/ ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/ ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/ echo 'Red Hat Linux release 5' /etc/redhat-release
2、.运行安装程序
# cd /home/xiaoyaomeng/software/database (解压缩database的那个路径位置)
# export LANG=US (设置字符显示为英文)
# ./runInstaller
根据图形界面进行一步步地安装:
左边就是提示你一些不符合它Oracle标准的系统变量参数,还有一些你没有装上的packages,这些自己调整好之后按Check Again,就可以进行重新检测,或者说如果觉得这些不影响,可以直接按“Ignore All” 忽略掉这些“警告”。