Ubuntu12.04.4安装 oracle 11g Release 2 (11.2) for Linux x86

今天折腾了一上午,总算搞定了,在ubuntu32位下安装oracle 11g

中间有大部分过程参考http://blog.csdn.net/idber/article/details/9039857

安装下面依赖的包如果找不到软件先在终端执行:

sudo apt-get update
sudo apt-get dist-upgrade


安装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起见都执行一遍吧。


创建用户

sudo groupadd oinstall
sudo groupadd dba
sudo useradd -g oinstall -G dba  -d /opt/oracle -s /bin/bash oracle
sudo passwd oracle


检测系统变量

/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


.添加对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是在第四步中创建的用户,跳过第四步的话就写当前用户


查看/etc/pam.d/login,增加以下行(有了就不用增加了):

session required pam_limits.so
同样检查/etc/pam.d/su,没有以下行就自己加上:

session required pam_limits.so

创建需要的文件夹(用于安装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,下同)


.为Oracle配置环境变量。在/etc/profile.d文件夹下建立oracle.sh文件(系统会自动查找并执行该文件)

#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/;


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/


切换到root 用户: echo ‘Red Hat Linux release 5’ > /etc/redhat-release


下载oracle安装文件,并且解压,如果下载的是两个zip的文件解压的时候一定要主要,如果下载的是网上别人弄好的,可能没有database文件夹,则自己建一个database文件夹并且将解压后的文件全部拷入

正式安装Oracle,为database文件夹下的runInstaller文件赋予可执行权限:

chmod 777 runInstaller


先在终端输入:

export LANG=en_US

或者

export LANG=zh_CN.gbk

然后再执行:

./runInstaller


安装前进行swap空间检查时可能出现swap空间太小的问题,这一般是由于系统安装时没有创建swap分区,解决办法是创建swap文件来开辟swap空间:通过下面方法建立swap文件:
#dd if=/dev/zero of=/tmp/swapfree bs=1024 count=65515 (count是分区数量,swap大小=bs*count,增加2G)
#mkswap /swap/swapfile (格式化交换分区文件)
#swapon /swap/swapfile(启用交换分区文件)
#swapon –s (显示swap状态)
修改/etc/fstab,让系统每次启动都把/swap/swapfile作为swap使用,增加下面一行:
/swap/swapfile swap swap defaults 0 0


图形安装界面的第一步是填写电子邮件,不填


剩下的过程基本上很顺利了,只需要设置一下密码就行了,其他的设置都在启动安装程序前完成了,不要进行改动!

图形界面下进行依赖检查的时候会列出很多依赖检查失败了,无法进入下一步了,此时选中右上角的‘忽略所有’就可以进入下一步了。


安装过程中会出现


办法:打开一个新的终端,在其中输入

sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk

然后在图形界面点击‘Retry’就能继续安装了。

办法:在新的终端中输入

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 /opt/oracle/oraInventory/orainstRoot.sh
sudo /opt/oracle/Oracle11gee/product/11.2.0/dbhome_1/root.sh

就完成了全部的安装。可以通过https://localhost:1158/em进行网络访问了


进入em之后,按钮出现中文乱码,在网上下载一个simsun.ttf宋体字文件

在终端输入如下命令:

$ mkdir $ORACLE_HOME/jdk/jre/lib/fonts/fallback

$ cp simsun.ttf  $ORACLE_HOME/jdk/jre/lib/fonts/fallback/

$chmod 444 $ORACLE_HOME/jdk/jre/lib/fonts/fallback/simsun.ttf

后需要清理一下Cache,重启EM即可:
$ rm $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/*.gif
$ emctl stop dbconsole
$ emctl start dbconsole

然后进入web页面查看即可


卸载和删除oracle

1. 运行 $ORACLE_HOME/bin/localconfig delete    
2. rm -rf $ORACLE_BASE/*    
3. rm -f /etc/oraInst.loc /etc/oratab    
4. rm -rf /etc/oracle    
5. rm -f /etc/inittab.cssd    
6. rm -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv 
7. rm -rf $ORCLE_HOME


sqlplus控制台方向键问题:

安装:readline

  1. apt-get install libreadline5-dev    //ubuntu要安装这个  
  2. wget ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz  
  3. tar zxvf readline-6.2.tar.gz  
  4. cd readline-6.2  
  5. wget ftp://ftp.gnu.org/gnu/readline/readline-6.2-patches/readline62-001  
  6. wget ftp://ftp.gnu.org/gnu/readline/readline-6.2-patches/readline62-001.sig  
  7. patch -p0 < readline62-001    //打补丁  
  8. ./configure  
  9. make && make install

安装:rlwrap

  1. wget http://utopia.knoware.nl/~hlub/uck/rlwrap/rlwrap-0.37.tar.gz  
  2. tar zxvf rlwrap-0.37.tar.gz  
  3. cd rlwrap-0.37  
  4. ./configure  
  5. make && make install

修改用户根目录下的.bashrc

  1. # some more ls aliases  
  2.  alias ll='ls -alF'  
  3.  alias la='ls -A'  
  4.  alias l='ls -CF'  
  5.   
  6.  alias sqlplus='rlwrap sqlplus'   //添加这一行

修改.bashrc要重起电脑。如果没有.bashrc,修改.bash_profile或者.profile文件。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值