Linux(Fedora 12,13|32 64)安装Oracle Database 11gR2

Linux(Fedora 12,13|32 64)安装Oracle Database 11gR2
前言:在这首先感谢bbs.fedora-zh.org 论坛上的 xielingyun 是他翻译了oracle-base 上的英文版安装方法.在xielingyun的帮助下经过本人编辑出来此篇安装文档.

1.参考fedora-zh原文地址
fedora-zh
2.参考oracle-base原E文地址
oracle-base
3.参考oracle官方原E文地址
oracle-document

4.如果安装有什么问题欢迎到 http://bbs.fedora-zh.org/ 论坛交流.(嘿嘿 ^_^)

一.所使用的软件
        1.fedora linux 系统下载地址
         http://torrent.fedoraproject.org/
         网上有很多安装方法在这就不说了,配置可以查找本人blogs里的fedora相关文档.
        2.oracle11gR2下载地址
        http://www.oracle.com/technology/software/products/database/index.html
         根据自己机子的情况而选择安装文档

二.查看自己机子的信息
        oracle官方指定要1G以上的内存跟 1.5G以上的交换空间

三.安装oracle database11gr2依赖包

       官方给出Asianux 3, Oracle Enterprise Linux 5, and Red Hat Enterprise Linux 5 的依赖包有因为我系统是 fedora12_32 所以在这里参考Red Hat Enterprise Linux 5安装(也许应该是Red Hat Enterprise Linux 6才对但官方文档给出了5,嘿嘿)
 1  binutils - 2.17 . 50.0 . 6 - 2 .el5
 2  compat - libstdc ++- 33 - 3.2 . 3 - 61
 3  elfutils - libelf - 0.125 - 3 .el5
 4  elfutils - libelf - devel - 0.125
 5  glibc - 2.5 - 12
 6  glibc - common - 2.5 - 12
 7  glibc - devel - 2.5 - 12
 8  glibc - headers - 2.5 - 12
 9  gcc - 4.1 . 1 - 52
10  gcc - c ++- 4.1 . 1 - 52
11  libaio - 0.3 . 106
12  libaio - devel - 0.3 . 106  
13  libgcc - 4.1 . 1 - 52
14  libstdc ++- 4.1 . 1  
15  libstdc ++- devel - 4.1 . 1 - 52 .e15
16  make - 3.81 - 1.1
17  numactl - devel - 0.9 . 8 .i386
18  sysstat - 7.0 .0
19 

        我们可以用 yum 安装这些依赖包
        命令如下:
# yum install binutils
# yum install libaio libaio - devel
# yum install sysstat
# yum install unixODBC unixODBC - devel
# yum install compat - libstdc ++- 33

        注意: Red Hat5 默认安装上一个 pdksh 包 而 Red Hat6  用 ksh 代替了 pdksh 包(fedora 源也只有ksh包 pdksh也许淘汰了. 很多fedora 安装oracle的帖子都强行安装上这个 pdksh 包, pdksh跟bash有冲突.) 所以只安装ksh包就够了,因为 ksh 已经代替了 pdksh.

# yum install ksh

四.配置系统文件

      注意:
         a. 关掉防火墙和selinux 重新启动计算机.
         b. 以下是以root身份.

     1.设置hosts文件
        保证/etc/hosts文件包含下面的内容
                 < IP - address >    < fully - qualified - machine - name >    < machine - name >
        注意: 这一步一般情况下不用做任何修改保证文件里面包含上面的内容就可以了. 只要知道你计算机名叫什么就够了

      2.配置内核参数
         Oracle官方给出要添加的属性
fs.file - max  =   6815744
kernel.shmall 
=   2097152
kernel.shmmax 
=   2147483648
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 
=   1048576

         以上这些参数的当前值可以用下面的命令查看:
              # / sbin / sysctl  - |  grep  < param - name >
       
         一般情况下这些参数的值都不符合要求,因此需要把下列内容添加到"/etc/sysctl.conf"文件末尾
# Instal Oracle Config
fs . aio - max - nr  =   1048576
fs
. file - max   =   6815744
kernel
. shmall  =   2097152
kernel
. shmmax  =   2147483648
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  =   1048576
         注意: 
               a. # Instal Oracle Config 是注释(你可以不添加进去,但为了更好的说明添加没坏处).
               b. fs . aio - max - nr  =   1048576 这是官方没有的,但在 oracle-document 6 Configuring Kernel Parameters( 配置内核参数 ) 可以找到.
               官方原文:[
Note: This value limits concurrent outstanding requests and should be set to avoid I/O subsystem failures. ].
               翻译: [
注:此值限制并发未完成的请求,并应设置为避免I / O子系统故障。 ]
               我安装时忘记查看fedora 此属性默认值了,你可以用"/sbin/sysctl -a | grep aio-max-nr"这个命令查看如果是
1048576 你可以不增加此属性保持跟官方一样.如果不一样还是增加保险.

     3. 输入以下命令来更改内核参数的当前值:   
        # / sbin / sysctl  - p

     4.在"/etc/security/limits.conf"文件末尾添加下列内容:
# Install Oracle Config
oracle              soft    nproc    2047
oracle              hard    nproc   
16384
oracle              soft    nofile  
1024
oracle              hard    nofile  
65536

     5.把下面的内容添加到/etc/pam.d/login文件当中
# Install Oracle Config
session    required     pam_limits . so
    
     6.添加新的组和用户
# groupadd oinstall
# groupadd dba
# groupadd oper
# groupadd asmadmin

# useradd 
- g oinstall  - G dba,oper,asmadmin oracle
# passwd oracle
     注意: 这篇文章介绍的安装过程没打算使用ASM,所以这次安装不会用到 asmadmin 这个用户组

     7.为oracle的安装建立一个新的目录
# mkdir  - / u01 / app / oracle / product / 11.2 . 0 / dbhome_1
# chown 
- R oracle:oinstall  / u01
# chmod 
- 775   / u01

     8.编辑/etc/redhat-release文件,把里面的内容替换为下面的内容
redhat release  5

     9.用oracle用户登录,把下面的内容添加到~.bash_profile(/home/oracle/.bash_profile)的末尾(oracle用户操作):
#  Oracle Settings
export TMP =/ tmp;
export TMPDIR
= $TMP;

export ORACLE_HOSTNAME
= localhost.localdomain;
export ORACLE_BASE
=/ u01 / app / oracle;
export ORACLE_HOME
= $ORACLE_BASE / product / 11.2 .0 / dbhome_1;
export ORACLE_SID
= DB11G;
export ORACLE_TERM
= xterm;
export ORACLE_UNQNAME
= DB11G;
export PATH
=/ usr / sbin:$ORACLE_HOME / bin:$PATH;

export LD_LIBRARY_PATH
= $ORACLE_HOME / lib: / lib: / usr / lib;
export CLASSPATH
= $ORACLE_HOME / JRE:$ORACLE_HOME / jlib:$ORACLE_HOME / rdbms / jlib;

if  [ $USER  =   " oracle "  ]; then
  
if  [ $SHELL  =   " /bin/ksh "  ]; then
    ulimit 
- 16384
    ulimit 
- 65536
  
else
    ulimit 
- 16384   - 65536
  fi
fi

#  Oracle terminal Chinese fonts 2010-09-10 解决sqlplus 显示中文为 ???
export NLS_LANG = " SIMPLIFIED CHINESE_CHINA.UTF8 "


         注意:
               a. 这里面的ORACLE_HOSTNAME 的参数的值需要根据自己的情况来设定默认安装的 fedora 为 localhost.localdomain
               b. ORACLE_SID = DB11G 代表着 SID 等会安装时记得把 SID 设置为 DB11G.


五.安装Oracle Database 11GR2

       注意:
         a. 以下使用oracle这个用户
         b.以下第2小节方法是以前安装JDK解决UI(swing awt)中文字体,经过我的测试同样也解决了 Oracle 安装界面的问题(就是找 oracle 安装文件内的 JDK 花了一点时间)如果你的系统是英文版的那么安装oracle不会出现中文。这样就可以不用设置。

        1.解压安装文件
$ unzip linux . x64_11gR2_database_1of2 . zip
$ unzip linux
. x64_11gR2_database_2of2 . zip

        2.把中文字体增加到oracle安装文件,解决安装时中文是"囗囗囗囗囗囗囗囗"
              进入刚解压的database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/all.jar就是JDK喽.在桌面新建一个文件夹命名为fallback/找一个zysong.ttf中文字体放入里面去。再用归档管理器打开它进入/jdk/jre/lib/fonts/(all.jar包的目录)把在桌面建好的fallback文件夹拖放进来,完成后的目录结构应该是/jdk/jre/lib/fonts/fallback/zysong.ttf。

        3.如是你的是仿真X的话
             仿真X需要设置一下环境变量DISPLAY 的值( 我是gnome桌面所以没有执行)
                   $ DISPLAY =< machine - name >: 0.0 ; export DISPLAY
       
         4.执行oracle安装文件
              进入解压出来的database文件夹,运行下面的命令开始安装过程:
                   $  ./ runInstaller

              稍等一下oracle安装界面出来。

               (因为本人安装时前面忘记截图了所以只好用以下文字来说明吧)
               注意下以有几大重点
               1. Oracle_SID要设置成 DB11G (因为上面配置文件是这样指定的)
               2. 安装目录不能更改(因为上面配置文件也是这样指定的)
               3. 如果oracle安装程序检查依赖包还有未安装的话用yum install <包名> 安装上.但除包名为‘pdksh’以外(我安装是就剩下一个pdksh没有安装,因为我已经安装上了ksh这个包,所以让它通过)。

(图1)


当执行到Oracle Database 配置时再弹出一个安装数据库的窗体时又出现了囗囗囗囗.

(图2)


嘿嘿!请别紧张当它执行完成后.
(图3)

                 em地址都出来了(这已经代表安装成功了),以上图片囗囗囗囗(4个) 就是 口令管理 囗囗(2个)就是确定。 如果你想安装时解决这个问题请看下面的 : 问题1 解决方案

    接着上面讲,安装成功后oracle会 提示你使用root用户手动执行2个脚本,要你执行就执行呗。(这地方我安装时没有截图,跟着oarcle提示操作吧。)

六. 成功安装完成后再接着配置。
    
     1.编辑/etc/oratab文件,设置下面一行的标志为"Y":
             DB11G :/ u01 / app / oracle / product / 11.2 . 0 / dbhome_1 : Y

     2.最后把/etc/redhat-release文件的内容改为原来的
             Fedora release  12  (Constantine)

七. 到此安装全部完成


问题1  解决方案
      这个其实是一个很简单的问题,安装oracle产品(只安装软件时还未安装数据库)是中文(因为你安装之前把中文字体给添加到了oracle安装文件的 jdk里)所以它能显示出中文,但是安装执行到安装数据库的时候(就是以上图片时)又出来囗囗囗囗囗囗囗这是因为oracle产品(软件)已经安装上了, 它不使用oracle安装文件里的JDK了而使用环境变量ORACLE_HOME下的jdk(也就是你配置的 ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; )/u01/app/oracle/product/11.2.0/dbhome_1/jdk这个JDK,但这个jdk下没有/jre/lib /fonts/fallback/zysong.ttf这个文件所以就出来了囗囗囗囗。

      有一种解决办法就在你安装oracle时当它生成/u01/app/oracle/product/11.2.0/dbhome_1/jdk这个目录后你 把zysong.ttf字体复制到这个jdk/jre/lib/fonts/fallback/下当它执行到安装数据库的时候应该就是中文了。
注意:一定要在安装数据库之前跟它自己生成环境变量ORACLE_HOME/目录下的jdk之后复制进去。

应该就在(图1)执行复制文件成功后,执行Oracle Database 配置 前这个时间里手动复制zysong.ttf到你环境变量 ORACLE_HOME/jdk下的jre/lib/fonts/fallback/(也就是/u01/app/oracle/product /11.2.0/dbhome_1/jdk/jre/lib/fonts/fallback/这个目录里)。(这方法我未尝试,因为在我安装完成之后才想 到的 谁下次安装oracle时试试,好验证我说的是否正确,如果你不想冒险那还是别试了,我不敢当保安装时不会出现错误,但我相信自己这种方法会解决问 题,嘿嘿)

如果你的系统是中文,安装完成之后你还要复制,这样在配置oracle时和使用SQL Developer才能显示中文界面。


问题2 : 重启系统后oracle服务不会自动启动

这样我更喜欢,我的机子又不是服务器

使用以下命令可以手动启动
[alex@localhost ~]$ su - oracle

启动和停止监听器:
监听器接受客户端的连接请求,并在验证证书后创建数据库连接。要使用 OEM,必须先启动监听器。
$ lsnrctl start
$ lsnrctl stop

启动和停止数据库:
1.启动和停止数据库的最简单方法是从 OEM 控制台启动和停止。要从命令行执行此操作,请在以 oracle 身份登录后使用 SQL*Plus,如下所示:
启动:
$ sqlplus
Enter user-name: / as sysdba
SQL> startup
SQL> exit

停止:
$ sqlplus
Enter user-name: / as sysdba
SQL> shutdown immediate
SQL> exit

2.以下命令也可以启动和停止数据库(如果数据库在使用就不会停止掉)
$ dbstart
$ dbshut

启动和停止 Oracle 企业管理器数据库控制:
$ emctl start dbconsole
$ emctl stop dbconsole




以下是一些软件启动的命今
Net Manager
netmgr

Net Configuration Assistant
netca

Database Configuration assistant
dbca

Database Upgrade Assistant
dbua

Locale Builder
lbuilder

                                                                                                                                                     Alex刺客

你可能感兴趣的:(Linux(Fedora 12,13|32 64)安装Oracle Database 11gR2)