作者:周巍铠 2012-03-03晚编写整理:如果有问题,可以联系我,QQ:735820898,加Q请说明oracle

软件安装成功后运行的效果图在本文末尾处。

第一步:

下载安装包,Oracle实际上都是可以免费从www.oracle.com网站的download页下载的;

我从这里下载:

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

有各个操作系统的版本可供下载。


第二步:

解压安装包,我下载的是.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是数据库配置,用于创建和修改数据库类容

如何配置,这个就不在本文讨论范围了,实际上很简单的,各位可以自己试试。


都搞定后,我么你就可以在$ORACLE_HOME/bin目录中执行sqlplus了

测试没有问题,也可以在$ORACLE_HOME/sqldeveloper目录中执行sqldeveloper.sh

然后看看能不能链接。以及在通过局域网链接。我这里都一一成功。所以祝各位

好运了。。。



对了,安装界面乱码的问题,我没遇到,我采用的是系统语言是英语为主,但是

支持汉语,就是系统是英文的,但是可以正常显示中文,所以安装界面是英文,

我就没有遇到乱码的问题,所以我就没有实验过了,相信应该也不难。


最后说一句,不要把这些想的太难,别听其他人怎么说,相信自己就可以。

ubuntu 12.10 安装 Oracle enterprise 11g 步骤(成功安装)

ubuntu 12.10 安装 Oracle enterprise 11g 步骤(成功安装)

ubuntu 12.10 安装 Oracle enterprise 11g 步骤(成功安装)

ubuntu 12.10 安装 Oracle enterprise 11g 步骤(成功安装)

ubuntu 12.10 安装 Oracle enterprise 11g 步骤(成功安装)

相关文章: