ubuntu安装oracle,ubuntu安装oracle11g

http://www.itjxue.com  2023-01-24 08:15  来源:未知  点击次数: 

如何在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” 忽略掉这些“警告”。

(责任编辑:IT教学网)

更多

推荐网络创业文章