命令:
sudo apt-getupdate
sudo apt-get dist-upgrade
2
安装依赖包:
命令:
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
3
为了预先排除异常先安装些依赖包:
1、Error in invoking target ‘all_no_orcl’ ofmakefile ‘/opt/oracle/product/10.2/rdbms/lib/ins_rdbms.mk’. See ‘/opt/oracle/oraInventory/logs/installActions2007-12-04_02-50-11AM.log’ for details.命令:
aptitude install gcc libaio1 lesstif2lesstif2-dev make libc6 libc6-i386 libc6-dev-i386 libstdc++6 lib32stdc++6lib32z1 ia32-libs rpm make binutil binutils-dev binutils-source
然后:cd/usr/lib
再执行:ln -s libstdc++.so.6libstdc++.so.5
4
创建用户和组:
这里oracle 安装需要两个 unix 用户组和一个运行时的 oracle 用户。
命令 :
addgroup oinstall
addgroup dba
addgroup nobody
usermod -a -G oinstall,dba oracle
usermod -g nobodynobody
5
创建目录:有很多文档和文件,这里我建议您将oracle 安装到一个独立的分区上面。
我这里就安装到/opt下。注意:假设Oracle 的安装目录为/opt。那么至少确保有 3.0G 的可用空间。
命令:
mkdir -p /opt/oracle
chown -Roracle:oinstall /opt/ora*
chmod -R 775/opt/ora*
这里创建了 oracle 的运行时路径,授写权限赋予 oracle 用户,执行权限给 dba 组。
6
设置内核参数:
修改 sysctl.conf文件。请复制粘贴:sudo vim /etc/sysctl.conf
是不是很贴心?哈哈。
添加如下的行到/etc/sysctl.conf 中:注意下面括号里面的字
kernel.shmmax = 16147483648(1/2 ofphysical RAM,根据实际情况更改)
kernel.shmmni = 4096
kernel.shmall = 8388608(服务器内存/page_size)可以使用命令:$ getconfPAGE_SIZE 查看)
kernel.sem= 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range= 1024 65000
7
修改 limits.conf 请复制粘贴:sudo vim /etc/security/limits.conf
添加下面的行到/etc/security/limits.conf以修改你的资源限制:
命令:
oracle soft nofile65536
oracle hard nofile65536
oracle soft nproc16384
oracle hard nproc16384
8
让修改生效修改了以上文件后,你需要使其生效,你可以选择重启系统,你也可以切换到 root 用户下用以下的命令改变内核运行参数:请复制粘贴:sudo su
命令:
sysctl -p
9
创建程序链接:
命令:
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/
10
添加下列行到~/.bashrc
请复制粘贴:sudo vim ~/.bashrc
命令:
# oracle 11g
export ORACLE_BASE=/opt/oracle(这里是安装路径)
export ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_1(这里是安装路径)
exportPATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=orcl10(这里是sid)
#export ORACLE_TERM=xterm
然后执行:
source ~/.bashrc
11
给oracle用户安装包的最高权限:
sudo chmod 777 database11g/ -R
12
开始安装:
cd /XXX/XXX/XXX./runInstaller
13
安装类型选择第一个,安装过程中就创建数据库了:
14
根据图片选择:一路next
15
根据图片选择:一路next
16
根据图片选择:一路next
这里需要选择字符类型,按照图片上选择就可以了。
设置一个统一的密码吧。省的忘记,到时候还可以修改嘛。
到这里就安装成功了。
没有意外就到这步了,这里的图是借用别人的,我在这步的时候忘记截图了,大家体谅了。
在见到下图的时候不点击OK,要切换到UbuntuServer的终端(别搞错了,不是上面开的终端,用xshell的就重新开一个窗口),切换到root管理员帐号,运行图片上的命令:
# /u01/app/oraInventory.orainstRoot.sh(这里是用的别人的图片和我原来执行的路径不一样,直接复制窗口里面的粘贴到终端执行就可以。)
# /u01/app/oraIcle/product/db/root.sh
这两天在Ubuntu上安装Oracle把人折腾毁了,即使照着网上的教程来,还是出了很多问题。好在最后终于搞定了。写出来总结一下,免得以后忘了。标题注明32位是因为网上教程几乎全是以64位安装为例的,32位系统下照着做是绝对会安装失败的。
出现的问题主要有两方面,一个是安装过程中出现的,另一个是安装完成后出现的。
安装过程(主要过程就直接copy别人的教程了)及问题:
1.将系统更新到最新:
sudo apt-get update
sudo apt-get dist-upgrade
2.如果使用的Ubuntu不是桌面版(如Ubuntu server),由于Oracle安装需要用到图形界面,所以需要安装桌面程序:
sudo apt-get install gnome-core
相信很多都是使用的桌面版,那么这个步骤就不需要了。
3. 安装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
很多都是Ubuntu自带的了,谨慎6起见都执行一遍吧。
4.创建用户(此步可省略,直接使用当前的用户即可,下面的安装过程都是以不执行这一步为准的)
sudo groupadd oinstall
sudo groupadd dba
sudo useradd -g oinstall -G dba -d /opt/oracle -s /bin/bash oracle
sudo passwd oracle
5.检查系统变量
/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 = 2097152kernel.shmmax = 536870912
kernel.shmmni = 4096kernel.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
6.添加对oracle用户的内核限制在 /etc/security/limits.conf 文件中增加以下数据
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
其中oracle是在第四步中创建的用户,跳过第四步的话就写当前用户
7.查看/etc/pam.d/login,增加以下行(有了就不用增加了):
session required pam_limits.so
同样检查/etc/pam.d/su,没有以下行就自己加上:
session required pam_limits.so
7.创建需要的文件夹(用于安装oracle)并设置其所有权:
mkdir -p /opt/oracle
mkdir -p /opt/oraInventory
chown -R oracle:oinstall /opt/oracle
chown -R oracle:oinstall /opt/oraInventory
同样,如果跳过了第四步,那就将所有权设置命令中的用户oracle和组oinstall改为自己当前用户和组(通常二者是一样的),当然这时也可以不执行这两个chown命令,本来目录创建者就是所有者了。另外,需要root权限执行这些命令(sudo,下同)
8.如果Ubuntu上没安装JRE的话,需要安装JRE(我这里直接安装了JDK,以JDK为例):
到Oracle官网下载JDK6(最新为7,考虑到兼容性问题,安装6):
http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html
下载jdk-6u45-linux-i586.bin这个文件。放到主文件夹(home目录)下,进入终端:
$sudo chmod 777 jdk-6u37-linux-x64.bin // 将文件赋予运行权限
$sudo -s ./jdk-6u37-linux-x64.bin /usr/lib/jdk //将JDK安装到/usr/lib/jdk 目录下。
注意:最后安装完成后可能安装到了主文件夹下了,这是使用命令将其全部复制到/usr/lib/jdk目录下即可。(如果没有权限,就使用sudo chmod 777获取权限再复制)
配置JDK的环境变量,使用编辑器打开主文件夹下的.bashrc配置文件(隐藏),向其中加入如下内容:
#JDK
JAVA_HOME=/usr/lib/jdk/jdk1.6.0_45
JRE_HOME=${JAVA_HOME}/jre
export ANDROID_JAVA_HOME=$JAVA_HOME
export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export JAVA_HOME
export JRE_HOME
export CLASSPATH
HOME_BIN=~/bin/
export PATH=${PATH}:${JAVA_PATH}:${HOME_BIN}
注意核对一下目录结构是不是正确的。
最后验证JDK是否安装正确:
java -version
出现了JDK版本信息就表示正确了。
9.为Oracle配置环境变量。同样在主文件夹下的.bashrc配置文件中加入如下内容:
#Oracle
#这个写刚刚创建的文件夹
export ORACLE_BASE=/opt/oracle
#这个后面可以随便填写
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/
10.oracle本身并不支持ubuntu来安装,所以要进行欺骗oracle的安装程序(sudo执行):
ln -s /etc /etc/rc.d
ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib/
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/i386-linux-gnu/libpthread_nonshared.a /usr/lib/libpthread_nonshared.a
ln -s /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib/libc_nonshared.a
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /lib/
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib/
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.5 /lib/
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.5 /usr/lib/
echo ‘Red Hat Linux release 5’ >/etc/redhat-release
注意:以上命令是对应于32位Ubuntu安装32位Oracle的,如果是64位Ubuntu安装64位Oracle,上面的i386-linux-gnu就都要改成x86_64-linux-gnu,目标目录的lib也要改成lib64.(没有lib64就新建一个)
因为Ubuntu将某些库文件根据32位系统和64位系统分别存放了,但Oracle只认/usr/lib和/lib目录,所以需要进行上面的软链接。
11.下载Oracle安装程序:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
下载Linux x86的那两个文件(64位系统就下Linux x86-64),解压后得到database文件夹。
12.正式安装Oracle,为database文件夹下的runInstaller文件赋予可执行权限:
chmod 777 runInstaller
跳转到database目录,在终端下执行:
./runInstaller
此时可能会出现database目录下部分文件的权限不足,导致安装程序无法启动的问题,根据提示,对那些文件使用chmod 777进行授权就行了(貌似一共3个文件)。
启动安装图形界面后,可能会发现文字乱码,全是口口口:
这时可以关闭该界面,先在终端输入:
export LANG=en_US
或者
export LANG=zh_CN.gbk
然后再执行:
./runInstaller
就可以在全英文界面下进行安装了。
13.安装前进行swap空间检查时可能出现swap空间太小的问题,这一般是由于系统安装时没有创建swap分区,解决办法是创建swap文件来开辟swap空间:
通过下面方法建立swap文件:
#dd if=/dev/zero of=/tmp/swapfree bs=32k count=65515 (count是分区数量,swap大小=bs*count,增加2G)
#mkswap /tmp/swapfree (格式化交换分区文件)
#swapon /tmp/swapfree (启用交换分区文件)
#swapon –s (显示swap状态)
修改/etc/fstab,让系统每次启动都把/tmp/swapfree作为swap使用,增加下面一行:
/tmp/swapfree swap swap defaults 0 0
14.图形安装界面的第一步是填写电子邮件,但是填完可能会出错:Unexpected error occurred while validating inputs at state 'getOCMDetails'。这是由于缺少pdksh依赖包,简单的解决办法是不填写邮件地址,不勾选下面的复选框,直接下一步,弹出提示后点‘Yes’就能直接进入下一步了。完美的解决办法可以到网上去看。
15.剩下的过程基本上很顺利了,只需要设置一下密码就行了,其他的设置都在启动安装程序前完成了,不要进行改动!
16.图形界面下进行依赖检查的时候会列出很多依赖检查失败了,无法进入下一步了,此时选中右上角的‘忽略所有’就可以进入下一步了。
17.如果没有严格按照前面的要求做,安装过程中可能弹出错误,此时不要关闭界面,根据给出的日志位置,在日志中查看错误出现的原因,一般都是指定位置找不到相应的文件导致的,此时打开一个新的终端窗口,找到这些文件并将文件复制到对应的位置或者创建软链接即可。(通常是/usr/lib目录下找不到库文件,这些库文件都位于/usr/lib/i386-linux-gnu目录下了)然后在图形界面点击“Retry‘即可继续安装。
比如:“error in invoking target 'client_sharedlib' of makefile '/opt/oracle11g/server/rdbms/lib/ins_rdbms.mk''这个错误就是没有执行:
ln -s /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib/libpthread_nonshared.a
ln -s /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib/libc_nonshared.a
这两个命令导致的(针对32位安装的情况)。
如果严格按照前面的要求做了,上面这种错误是不会出现的。另外,如果32位系统安装64位Oracle或者64位系统安装32位Oracle也是会弹出错误的,错误提示是这样的:
Error in invoking target 'client_sharedlib' of makefile '/opt/app/oracle/product/10.2.0/db_1/network/lib/ins_net_client.mk'
这种错误就只能重新下载正确的Oracle版本再进行安装了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)